Ama-endpoint abethelwe, e-Tor ne-I2P
I-API iphinde ishicilelwe njenge-Tor onion service ne-I2P eepsite. Izindlela ezifanayo, i-key efanayo; kuguquka kuphela i-base URL ne-proxy.
Ama-base URL
Amakheli amane aholela ku-API efanayo. Sebenzisa leli elifanele inethiwekhi yakho, nge-API key efanayo nezicelo ezifanayo.
| Inethiwekhi | I-base URL | Ukuthi uyifinyelela kanjani |
|---|---|---|
| I-clear web | https://api.shannon-ai.com/v1 | Ngokuqondile, nge-HTTPS. |
| I-mirror ebethelwe | https://api-encrypted.shannon-ai.com/v1 | Ngokuqondile, nge-HTTPS. Igama lesibili le-host le-API efanayo. |
| I-Tor (onion service) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Nge-Tor client: i-SOCKS5 proxy, ngokuzenzakalelayo ku-127.0.0.1:9050. |
| I-I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | Nge-I2P router: i-HTTP proxy, ngokuzenzakalelayo ku-127.0.0.1:4444. |
- I-SDK ye-OpenAI yamukela i-base URL njengoba ibonisiwe, ne-
/v1. I-SDK ye-Anthropic iyamukela ngaphandle kwe-/v1. - Ukuhlola ikheli, funda ama-header empendulo ye-
https://api.shannon-ai.com: i-Onion-Locationiphatha ikheli le-onion kanti i-X-I2P-Locationiphatha ikheli le-I2P. Ikheli le-onion liqala ngo-shannon.
Yiziphi izindlela ezisebenzayo
Yonke indlela ye-/v1 iphendula kuwo wonke amakheli amane:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
I-GET /v1/models ayidingi key, okuyenza ibe ukuhlola okusheshayo ukuthi i-proxy yakho ifinyelela ku-API.
Okufanayo nokuhlukile
| Into | Ifana? | Imininingwane |
|---|---|---|
| Izindlela, ama-field esicelo, izimpendulo, amaphutha | Ifana | Kufana kuwo wonke amakheli. Ayikho indlela eziphatha ngokuhlukile ngegama le-host. |
| I-API key | Ifana | I-key eyodwa isebenza kuwo wonke amakheli, njenge-Authorization: Bearer noma i-x-api-key. Ama-cookie awafundwa nanini ku-/v1. |
| I-balance nemikhawulo | Ifana | I-balance efanayo nomkhawulo ofanayo wezicelo ezingu-120 ngomzuzu. Zombili zibalwa nge-akhawunti, hhayi ngekheli. |
| Usayizi wesicelo | Ifana | Kufika ku-32 MiB ngomzimba wesicelo ngamunye. |
| I-scheme | Iyahluka | I-https:// ku-clear web nakwi-mirror. I-http:// emakhelini e-.onion ne-.b32.i2p, lapho inethiwekhi uqobo ibhala uxhumano ngokuphelele ekugcineni kuya ekugcineni. |
| I-proxy | Iyahluka | Ayikho ku-clear web. I-SOCKS5 proxy ye-Tor, i-HTTP proxy ye-I2P. Igama kufanele lixazululwe yi-proxy, hhayi umshini wakho. |
| Isivinini | Iyahluka | Zombili izinethiwekhi zengeza ukuphuza ku-byte ngalinye. I-I2P yiyo ehamba kancane kunazo zombili. |
I-balance nemikhawulo kuchazwe ekhasini lazo. Imikhawulo ne-balance
I-cURL nge-Tor
Qhuba i-Tor client emshinini wakho. Inikeza i-SOCKS5 proxy ku-127.0.0.1:9050. I---socks5-hostname inikeza igama le-.onion kuleyo proxy.
# 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 i-I2P router emshinini wakho. Inikeza i-HTTP proxy ku-127.0.0.1:4444, eyamukela igama le-.b32.i2p njengoba 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 idinga izinguquko ezimbili: i-base URL yenethiwekhi, ne-HTTP client edlula ku-proxy. Ku-Python womabili ama-SDK asemthethweni amukela i-client ye-httpx. Nge-SOCKS proxy 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 ne-keep-alive ezixhumweni ezihamba kancane
I-streaming isebenza kuzo zombili izinethiwekhi. Ngenkathi i-stream ivuliwe futhi i-model ingakabi nalutho lokuthumela, i-API ithumela i-keep-alive, ukuze uxhumano lungabukeki luphelile ku-proxy noma ku-client yakho.
| I-endpoint | I-keep-alive ku-stream evulekile | Ithunyelwa ku- |
|---|---|---|
/v1/chat/completions | Umugqa wesimvo (uqala ngo-:) njalo ngamasekhondi angu-15. | Wonke ama-model |
/v1/messages | I-event: ping, noma umugqa wesimvo, njalo ngamasekhondi angu-15. | Wonke ama-model |
/v1/responses | Umugqa wesimvo njalo ngamasekhondi angu-15. | Ama-model e-open-weight ahlinzekiwe |
- Thumela
"stream": true. Impendulo ye-stream iqala ukufika ngokushesha nje lapho i-model ibhala, futhi i-keep-alive ikhombisa ukuthi isicelo sisasetshenzwa. Impendulo engeyona i-stream ayithumeli lutho kuze kulunge yonke impendulo. - Nikeza i-client i-read timeout ende. Izibonelo zisebenzisa amasekhondi angu-600. I-timeout emfushane kunamasekhondi angu-15 ingaphelisa i-stream phakathi kwama-keep-alive amabili.
- Vumela isifundi sakho se-SSE siweqe imigqa yezimvo nemicimbi ye-
ping. Ama-SDK akwenza kakade lokhu. - Ungaphindi uthumele isicelo ngokushesha lapho uxhumano luphuka. Isicelo esifinyelele ku-API siqhubeka size siphele futhi siyabalwa, nalapho uxhumano selungasekho.
- Linga indlela nge-
GET /v1/modelskuqala. Ayidingi key futhi ibuyisa uhlu olufushane lwe-JSON.
Izinkinga zoxhumano
| Isibonakaliso | Imbangela nokulungisa |
|---|---|
Uxhumano ku-127.0.0.1:9050 noma ku-127.0.0.1:4444 luyenqatshwa | Alikho i-Tor client noma i-I2P router elisebenza emshinini wakho, noma lilalele epotini elinye. I-Tor Browser inikeza i-SOCKS proxy yayo epotini elingu-9150. |
Could not resolve host ngegama le-.onion | I-client izame ukuxazulula igama yona. Sebenzisa i---socks5-hostname ku-cURL ne-socks5h:// ku-proxy URL, ukuze i-Tor client lixazulule. |
| I-I2P proxy iphendula ngekhasi layo lephutha | I-router ayikayitholi ikheli. I-router idinga imizuzu embalwa ngemuva kokuqala. Zama futhi. |
401 ne-Missing authentication | Isicelo sifike ngaphandle kwe-key. Thumela i-header efanayo nakwi-clear web. |
Wonke amanye amaphutha afana nakwi-clear web. Ukuphathwa kwamaphutha
I-key yakho ngaphandle kwe-JavaScript
I-Shannon inaso futhi iwebhusayithi ngaphandle kwe-JavaScript, etholakala ku-clear web, njenge-onion service nanjenge-eepsite. Ikhasi layo le-/keys likhombisa i-API key yakho likuvumele ukuyiguqula, ngakho ungathola i-key ngaphandle kokushiya i-Tor noma i-I2P. encrypted.shannon-ai.com/keys
Amakheli alelo webhusayithi kuzo zonke izinethiwekhi ezintathu abhalwe lapha: Ukufinyelela okubethelwe