Endpointҳои рамзгузоришуда, Tor ва I2P
API ҳамчунин ҳамчун хидмати Tor onion ва eepsite-и I2P нашр шудааст. Ҳамон масирҳо, ҳамон калид; танҳо base URL ва прокси иваз мешаванд.
Base URL-ҳо
Чор суроға ба ҳамон як API мебаранд. Он суроғаро истифода баред, ки ба шабакаи шумо мувофиқ аст, бо ҳамон калиди API ва ҳамон дархостҳо.
| Шабака | Base 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. |
- SDK-и OpenAI base URL-ро ҳамон тавр, ки нишон дода шудааст, бо
/v1мегирад. SDK-и Anthropic онро бе/v1мегирад. - Барои санҷиши суроға, сарлавҳаҳои ҷавоби
https://api.shannon-ai.com-ро бихонед:Onion-Locationсуроғаи onion-ро ваX-I2P-Locationсуроғаи I2P-ро дорад. Суроғаи 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:// дар веби оддӣ ва дар оина. http:// дар суроғаҳои .onion ва .b32.i2p, ки дар он худи шабака пайвастшавиро аз сар то охир рамзгузорӣ мекунад. |
| Прокси | Фарқ мекунад | Дар веби оддӣ нест. SOCKS5 барои Tor, прокси-и HTTP барои I2P. Номро бояд прокси ҳал кунад, на мошини шумо. |
| Суръат | Фарқ мекунад | Ҳарду шабака ба ҳар байт таъхир илова мекунанд. I2P аз ин ду сусттар аст. |
Баланс ва ҳадҳо дар саҳифаи худашон тавсиф шудаанд. Маҳдудиятҳо ва баланс
cURL тавассути Tor
Клиенти Tor-ро дар мошини худ ба кор андозед. Он прокси-и SOCKS5-ро дар 127.0.0.1:9050 пешниҳод мекунад. --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"}]
}' cURL тавассути I2P
Роутери I2P-ро дар мошини худ ба кор андозед. Он прокси-и HTTP-ро дар 127.0.0.1:4444 пешниҳод мекунад, ки номи .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"}]
}' Base URL-и SDK
SDK ду тағйирот талаб мекунад: base 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) Streaming ва keep-alive дар пайвандҳои суст
Streaming дар ҳарду шабака кор мекунад. То даме ки ҷараён кушода аст ва модел ҳанӯз чизе барои фиристодан надорад, API keep-alive мефиристад, то пайвастшавӣ барои прокси ё клиенти шумо мурда нанамояд.
| Endpoint | Keep-alive дар ҷараёни кушода | Барои |
|---|---|---|
/v1/chat/completions | Хати эзоҳӣ (бо : оғоз мешавад) ҳар 15 сония. | Ҳамаи моделҳо |
/v1/messages | event: ping ё хати эзоҳӣ ҳар 15 сония. | Ҳамаи моделҳо |
/v1/responses | Хати эзоҳӣ ҳар 15 сония. | Моделҳои open-weight-и хостшуда |
"stream": true-ро фиристед. Ҷавоби бо streaming ҳамон вақте ки модел менависад, ба омадан сар мекунад ва keep-alive нишон медиҳад, ки дархост ҳанӯз коркард мешавад. Ҷавоби бе streaming то омодагии тамоми ҷавоб чизе намефиристад.- Ба клиент timeout-и дарозмуддати хондан диҳед. Намунаҳо 600 сонияро истифода мебаранд. Timeout-и аз 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 пешниҳод мекунад. |
Could not resolve host барои номи .onion | Клиент кӯшид номро худаш ҳал кунад. Дар cURL --socks5-hostname ва дар URL-и прокси socks5h://-ро истифода баред, то клиенти Tor онро ҳал кунад. |
| Прокси-и I2P бо саҳифаи хатогии худаш ҷавоб медиҳад | Роутер суроғаро ҳанӯз наёфтааст. Роутер пас аз оғоз якчанд дақиқа лозим дорад. Дубора кӯшиш кунед. |
401 бо Missing authentication | Дархост бе калид омад. Ҳамон сарлавҳаро, ки дар веби оддӣ, фиристед. |
Ҳар хатогии дигар мисли веби оддӣ аст. Идораи хатогиҳо
Калиди шумо бе JavaScript
Shannon ҳамчунин вебсайти бе JavaScript дорад, ки дар веби оддӣ, ҳамчун хидмати onion ва ҳамчун eepsite дастрас аст. Саҳифаи /keys-и он калиди API-и шуморо нишон медиҳад ва ба шумо имкон медиҳад онро иваз кунед, бинобар ин шумо метавонед калид гиред бе тарк кардани Tor ё I2P. encrypted.shannon-ai.com/keys
Суроғаҳои он вебсайт дар ҳар се шабака дар ин ҷо номбар шудаанд: Дастрасии рамзгузоришуда