Ii-endpoint ezifihlakeleyo, ze-Tor & I2P
I-API ipapashwa nanjenge-onion service ye-Tor kunye ne-eepsite ye-I2P. Iindlela ezifanayo, isitshixo esifanayo; i-base URL kuphela nommeli zitshintsha.
Ii-Base URL
Amakheli amane akhokelela kwi-API enye. Sebenzisa elilungele inethiwekhi yakho, kunye ne-API key efanayo nezicelo ezifanayo.
| Inethiwekhi | I-Base URL | Indlela ofikelela ngayo |
|---|---|---|
| Iwebhu evulekileyo | https://api.shannon-ai.com/v1 | Ngqo, nge-HTTPS. |
| I-mirror efihlakeleyo | https://api-encrypted.shannon-ai.com/v1 | Ngqo, nge-HTTPS. Igama lesibini lehositi le-API enye. |
| I-Tor (onion service) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Nge-client ye-Tor: ummeli we-SOCKS5, ngokuqhelekileyo ku-127.0.0.1:9050. |
| I-I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | Ngerawuta ye-I2P: ummeli we-HTTP, ngokuqhelekileyo ku-127.0.0.1:4444. |
- I-OpenAI SDK yamkela i-base URL njengoko ibonisiwe, kunye ne-
/v1. I-Anthropic SDK iyamkela ngaphandle kwe-/v1. - Ukuqinisekisa ikheli, funda ii-header zempendulo ze-
https://api.shannon-ai.com: i-Onion-Locationithwala ikheli le-onion kunye ne-X-I2P-Locationikheli le-I2P. Ikheli le-onion liqala nge-shannon.
Zeziphi iindlela ezisebenzayo
Yonke indlela ye-/v1 iphendula kuwo onke amakheli amane:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
I-GET /v1/models ayifuni sitshixo, nto leyo eyenza ibe luvavanyo olukhawulezileyo lokuba ummeli wakho ufikelela kwi-API.
Okufanayo kunye nokwahlukileyo
| Into | Ifanayo? | Iinkcukacha |
|---|---|---|
| Iindlela, iintsimi zezicelo, iimpendulo, iimpazamo | Ifanayo | Ezifanayo kuwo onke amakheli. Akukho ndlela yenza ngokwahlukileyo ngegama lehositi. |
| I-API key | Ifanayo | Isitshixo esinye sisebenza kuwo onke amakheli, njenge-Authorization: Bearer okanye i-x-api-key. Iikuki azifundwa kwi-/v1. |
| Ibhalansi kunye nemida | Ifanayo | Ibhalansi efanayo kunye nomda ofanayo wezicelo ezili-120 ngomzuzu. Zozibini ziyabalwa ngeakhawunti, hayi ngekheli. |
| Ubungakanani besicelo | Ifanayo | Ukuya kuthi ga kwi-32 MiB ngomzimba wesicelo. |
| Isikimu | Iyahluka | I-https:// kwiwebhu evulekileyo nakwi-mirror. I-http:// kumakheli e-.onion kunye ne-.b32.i2p, apho inethiwekhi ngokwayo ifihla uqhagamshelo ukusuka ekuqaleni ukuya ekupheleni. |
| Ummeli | Iyahluka | Akukho kwiwebhu evulekileyo. Ummeli we-SOCKS5 kwi-Tor, ummeli we-HTTP kwi-I2P. Igama kufuneka lixazululwe ngummeli, hayi yikhompyuter yakho. |
| Isantya | Iyahluka | Zozibini iinethiwekhi zongeza ukulibaziseka kwibhayithi nganye. I-I2P ihamba kancinci kuzo zombini. |
Ibhalansi kunye nemida zichazwe kwiphepha lazo. Imida nebhalansi
I-cURL nge-Tor
Qhuba i-client ye-Tor kwikhompyuter yakho. Inika ummeli we-SOCKS5 ku-127.0.0.1:9050. I---socks5-hostname inika igama le-.onion kuloo mmeli.
# 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"}]
}' I-cURL nge-I2P
Qhuba irawuta ye-I2P kwikhompyuter yakho. Inika ummeli we-HTTP ku-127.0.0.1:4444, owamkela igama le-.b32.i2p njengoko linjalo.
# 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"}]
}' I-base URL ye-SDK
I-SDK ifuna utshintsho olubini: i-base URL yenethiwekhi, kunye ne-HTTP client edlula kummeli. KwiPython zozibini ii-SDK ezisemthethweni zamkela i-client ye-httpx. Kummeli we-SOCKS faka i-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) I-streaming kunye ne-keep-alive kuqhagamshelo oluhamba kancinci
I-streaming isebenza kuzo zozibini iinethiwekhi. Ngoxa i-stream ivuliwe kwaye imodeli ingenanto yokuthumela, i-API ithumela i-keep-alive, ukuze uqhagamshelo lungabonakali lufile kummeli okanye kwi-client yakho.
| Endpoint | I-keep-alive kwi-stream evulekileyo | Ithunyelwa kwi |
|---|---|---|
/v1/chat/completions | Umgca wengcaciso (uqala nge-:) rhoqo emva kwemizuzwana eli-15. | Zonke iimodeli |
/v1/messages | I-event: ping, okanye umgca wengcaciso, rhoqo emva kwemizuzwana eli-15. | Zonke iimodeli |
/v1/responses | Umgca wengcaciso rhoqo emva kwemizuzwana eli-15. | Iimodeli ze-open-weight ezisingathiweyo |
- Thumela i-
"stream": true. Impendulo ene-stream iqala ukufika kwakamsinya imodeli ibhala, kwaye i-keep-alive ibonisa ukuba isicelo sisasetyenzwa. Impendulo engekho nge-stream ayithumeli nto de yonke impendulo ilungele. - Yinike i-client i-read timeout ende. Imizekelo isebenzisa imizuzwana engama-600. I-timeout emfutshane kuneemizuzwana eli-15 inokuyiphelisa i-stream phakathi kwee-keep-alive ezimbini.
- Vumela umfundi wakho we-SSE ashiye imigca yengcaciso kunye nemisitho ye-
ping. Ii-SDK sele zikwenza oku. - Musa ukuthumela kwakhona isicelo ngokukhawuleza xa uqhagamshelo lunqamka. Isicelo esifikelele kwi-API siqhuba side siphele kwaye siyabalwa, nokuba uqhagamshelo alusekho.
- Vavanya indlela kuqala nge-
GET /v1/models. Ayifuni sitshixo kwaye ibuyisa uluhlu olufutshane lwe-JSON.
Iingxaki zoqhagamshelo
| Uphawu | Unobangela kunye nesisombululo |
|---|---|
Uqhagamshelo ku-127.0.0.1:9050 okanye ku-127.0.0.1:4444 lwaliwe | Akukho client ye-Tor okanye irawuta ye-I2P ebaleka kwikhompyuter yakho, okanye ihlala kwenye i-port. I-Tor Browser inika ummeli wayo we-SOCKS kwi-port 9150. |
Could not resolve host kwigama le-.onion | I-client izamile ukuxazulula igama ngokwayo. Sebenzisa i---socks5-hostname kwi-cURL kunye ne-socks5h:// kwi-URL yommeli, ukuze i-client ye-Tor iyixazulule. |
| Ummeli we-I2P uphendula ngephepha lakhe lempazamo | Irawuta ayikaliboni ikheli. Irawuta ifuna imizuzu embalwa emva kokuqala. Zama kwakhona. |
401 kunye ne-Missing authentication | Isicelo sifike ngaphandle kwesitshixo. Thumela i-header efanayo nakwiwebhu evulekileyo. |
Zonke ezinye iimpazamo zifana nakwiwebhu evulekileyo. Ukuphatha imposiso
Isitshixo sakho ngaphandle kweJavaScript
IShannon inalo kwakhona isiza esingenayo iJavaScript, esifumaneka kwiwebhu evulekileyo, njenge-onion service nanjenge-eepsite. Iphepha laso le-/keys libonisa i-API key yakho kwaye likuvumela ukuba uyitshintshe, ngoko unokufumana isitshixo ngaphandle kokushiya i-Tor okanye i-I2P. encrypted.shannon-ai.com/keys
Amakheli esi siza kuzo zontathu iinethiwekhi adweliswe apha: Ukufikelela okufihlakeleyo