Шифрленген, Tor жана I2P endpoint'тери
API ошондой эле Tor onion кызматы жана I2P eepsite катары жарыяланган. Ошол эле жолдор, ошол эле ачкыч; негизги URL жана прокси гана өзгөрөт.
Негизги URL'дер
Төрт дарек бир эле API'га алып барат. Тармагыңызга ылайыктуусун колдонуңуз, ошол эле API ачкыч жана ошол эле сурамдар менен.
| Тармак | Негизги URL | Ага кантип жетесиз |
|---|---|---|
| Ачык веб | https://api.shannon-ai.com/v1 | Түз, HTTPS аркылуу. |
| Шифрленген күзгү | https://api-encrypted.shannon-ai.com/v1 | Түз, HTTPS аркылуу. Ошол эле API үчүн экинчи хост аты. |
| Tor (onion кызматы) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Tor клиенти аркылуу: SOCKS5 прокси, стандарттуу түрдө 127.0.0.1:9050 дарегинде. |
| I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | I2P роутери аркылуу: HTTP прокси, стандарттуу түрдө 127.0.0.1:4444 дарегинде. |
- OpenAI SDK негизги URL'ди көрсөтүлгөндөй,
/v1менен алат. Anthropic SDK аны/v1жок алат. - Даректи текшерүү үчүн
https://api.shannon-ai.comжооп баштарын окуңуз:Onion-Locationonion даректи,X-I2P-LocationI2P даректи алып жүрөт. Onion дарекshannonменен башталат.
Кайсы жолдор иштейт
Ар бир /v1 жолу төрт даректе тең жооп берет:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
GET /v1/models ачкычты талап кылбайт, ошондуктан ал проксиңиз API'га жеткенин тез текшерүү.
Эмне бирдей жана эмне айырмаланат
| Пункт | Бирдейби? | Чоо-жайы |
|---|---|---|
| Жолдор, сурам талаалары, жооптор, каталар | Бирдей | Ар бир даректе бирдей. Эч бир жол хост атына жараша башкача иштебейт. |
| API ачкыч | Бирдей | Бир ачкыч ар бир даректе иштейт, Authorization: Bearer же x-api-key катары. Cookie'лер /v1 боюнча эч качан окулбайт. |
| Баланс жана чектөөлөр | Бирдей | Ошол эле баланс жана мүнөтүнө 120 сурамдын ошол эле чеги. Экөө тең даректен эмес, аккаунттан саналат. |
| Сурамдын өлчөмү | Бирдей | Сурам денеси 32 MiB'ге чейин. |
| Схема | Айырмаланат | Ачык вебде жана күзгүдө https://. .onion жана .b32.i2p даректеринде http://, анда тармактын өзү байланышты башынан аягына чейин шифрлейт. |
| Прокси | Айырмаланат | Ачык вебде жок. Tor үчүн SOCKS5 прокси, I2P үчүн HTTP прокси. Атты машинаңыз эмес, прокси чечиши керек. |
| Ылдамдык | Айырмаланат | Эки тармак тең ар бир байтка кечигүү кошот. I2P экөөнүн жайыраагы. |
Баланс жана чектөөлөр өз бетинде сүрөттөлгөн. Чектөөлөр жана баланс
Tor аркылуу cURL
Машинаңызда Tor клиентин иштетиңиз. Ал 127.0.0.1:9050 дарегинде SOCKS5 прокси сунуштайт. --socks5-hostname .onion атын ошол проксиге өткөрүп берет.
# 1. Is the onion service reachable? No key needed.
curl --socks5-hostname 127.0.0.1:9050 http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1/models
# 2. A streamed chat call. -N prints the stream as it arrives.
curl -N --socks5-hostname 127.0.0.1:9050 http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"stream": true,
"messages": [{"role": "user", "content": "Hello over Tor"}]
}' I2P аркылуу cURL
Машинаңызда I2P роутерин иштетиңиз. Ал 127.0.0.1:4444 дарегинде HTTP прокси сунуштайт, ал .b32.i2p атын өзгөрүүсүз кабыл алат.
# 1. Is the eepsite reachable? No key needed.
curl --proxy http://127.0.0.1:4444 http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1/models
# 2. A streamed chat call.
curl -N --proxy http://127.0.0.1:4444 http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"stream": true,
"messages": [{"role": "user", "content": "Hello over I2P"}]
}' SDK негизги URL
SDK үчүн эки өзгөртүү керек: тармактын негизги URL'и жана проксиден өткөн HTTP клиент. Python'до эки расмий SDK тең httpx клиентин кабыл алат. SOCKS прокси үчүн httpx[socks] орнотуңуз.
# pip install openai "httpx[socks]"
import httpx
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1",
http_client=httpx.Client(proxy="socks5h://127.0.0.1:9050", timeout=600),
)
stream = client.chat.completions.create(
model="shannon-3",
messages=[{"role": "user", "content": "Hello over Tor"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True) # pip install openai
import httpx
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1",
http_client=httpx.Client(proxy="http://127.0.0.1:4444", timeout=600),
)
stream = client.chat.completions.create(
model="shannon-3",
messages=[{"role": "user", "content": "Hello over I2P"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True) # pip install anthropic "httpx[socks]"
import anthropic
import httpx
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion",
http_client=httpx.Client(proxy="socks5h://127.0.0.1:9050", timeout=600),
)
with client.messages.stream(
model="shannon-1.6-lite",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello over Tor"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True) Жай байланыштарда стриминг жана keep-alive
Стриминг эки тармакта тең иштейт. Стрим ачык болуп, моделдин жөнөтө турган нерсеси жок учурда API keep-alive жөнөтөт, ошондуктан байланыш проксиге же клиентиңизге өлүк көрүнбөйт.
| Endpoint | Ачык стримдеги keep-alive | Кимге жөнөтүлөт |
|---|---|---|
/v1/chat/completions | Ар 15 секунд сайын комментарий сабы (ал : менен башталат). | Бардык моделдер |
/v1/messages | Ар 15 секунд сайын event: ping же комментарий сабы. | Бардык моделдер |
/v1/responses | Ар 15 секунд сайын комментарий сабы. | Хостингдеги ачык салмактуу моделдер |
"stream": trueжөнөтүңүз. Стримдик жооп модель жазган замат келе баштайт, ал эми keep-alive сурамдын дагы иштеп жатканын көрсөтөт. Стримсиз жооп толук даяр болгонго чейин эч нерсе жөнөтпөйт.- Клиентке узун окуу таймаутун бериңиз. Мисалдар 600 секунд колдонот. 15 секунддан кыска таймаут стримди эки keep-alive ортосунда үзүп салышы мүмкүн.
- SSE окугучуңуз комментарий саптарын жана
pingокуяларын өткөрүп жибериши керек. SDK'лар муну буга чейин эле жасайт. - Байланыш үзүлгөн замат сурамды кайра жөнөтпөңүз. API'га жеткен сурам аягына чейин иштейт жана саналат, байланыш жок болсо да.
- Жолду адегенде
GET /v1/modelsменен сынаңыз. Ал ачкычты талап кылбайт жана кыска JSON тизмесин кайтарат.
Байланыш көйгөйлөрү
| Белги | Себеби жана чечими |
|---|---|
127.0.0.1:9050 же 127.0.0.1:4444 менен байланыш четке кагылды | Машинаңызда Tor клиенти же I2P роутери иштебейт, же ал башка портто угат. Tor Browser өзүнүн SOCKS проксисин 9150 портунда сунуштайт. |
.onion аты үчүн Could not resolve host | Клиент атты өзү чечүүгө аракет кылды. Tor клиенти чечсин үчүн cURL'да --socks5-hostname жана прокси URL'де socks5h:// колдонуңуз. |
| I2P прокси өзүнүн ката барагы менен жооп берет | Роутер даректи азырынча тапкан жок. Роутерге башталгандан кийин бир нече мүнөт керек. Кайра аракет кылыңыз. |
401, Missing authentication менен | Сурам ачкычсыз келди. Ачык вебдегидей эле баш жөнөтүңүз. |
Башка ар бир ката ачык вебдегидей эле. Ката иштетүү
JavaScript'сиз ачкычыңыз
Shannon'дун JavaScript'сиз вебсайты да бар, ал ачык вебде, onion кызматы катары жана eepsite катары жеткиликтүү. Анын /keys бети API ачкычыңызды көрсөтөт жана аны алмаштырууга мүмкүнчүлүк берет, ошондуктан Tor же I2P'дан чыкпай ачкыч ала аласыз. encrypted.shannon-ai.com/keys
Ошол вебсайттын үч тармактагы даректери бул жерде тизмеленген: Шифрленген кирүү