Dulkóðaðir, Tor og I2P endapunktar
API er einnig gefið út sem Tor onion þjónusta og I2P eepsite. Sömu slóðir, sami lykill; aðeins base URL og proxy breytast.
Base URL
Fjögur vistföng leiða að sama API. Notaðu það sem hentar netinu þínu, með sama API lykli og sömu beiðnum.
| Net | Base URL | Hvernig þú nærð í það |
|---|---|---|
| Opinn vefur | https://api.shannon-ai.com/v1 | Beint, yfir HTTPS. |
| Dulkóðaður spegill | https://api-encrypted.shannon-ai.com/v1 | Beint, yfir HTTPS. Annað hýsilnafn fyrir sama API. |
| Tor (onion þjónusta) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Í gegnum Tor biðlara: SOCKS5 proxy, sjálfgefið á 127.0.0.1:9050. |
| I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | Í gegnum I2P router: HTTP proxy, sjálfgefið á 127.0.0.1:4444. |
- OpenAI SDK tekur base URL eins og það er sýnt, með
/v1. Anthropic SDK tekur það án/v1. - Til að sannreyna vistfang skaltu lesa svarhausa
https://api.shannon-ai.com:Onion-Locationber onion vistfangið ogX-I2P-LocationI2P vistfangið. Onion vistfangið byrjar áshannon.
Hvaða slóðir virka
Hver /v1 slóð svarar á öllum fjórum vistföngunum:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
GET /v1/models þarf engan lykil, sem gerir það að skjótu prófi á því hvort proxy-inn þinn nær til API.
Hvað er eins og hvað er ólíkt
| Atriði | Eins? | Nánar |
|---|---|---|
| Slóðir, beiðnisreitir, svör, villur | Eins | Eins á öllum vistföngum. Engin slóð hegðar sér öðruvísi eftir hýsilnafni. |
| API lykill | Eins | Einn lykill virkar á öllum vistföngum, sem Authorization: Bearer eða x-api-key. Vefkökur eru aldrei lesnar á /v1. |
| Staða og mörk | Eins | Sama staða og sömu mörk, 120 beiðnir á mínútu. Hvort tveggja er talið á hvern reikning, ekki á hvert vistfang. |
| Stærð beiðni | Eins | Allt að 32 MiB á hvert beiðnimeginmál. |
| Samskiptaregla | Ólíkt | https:// á opna vefnum og á speglinum. http:// á .onion og .b32.i2p vistföngunum, þar sem netið sjálft dulkóðar tenginguna frá enda til enda. |
| Proxy | Ólíkt | Enginn á opna vefnum. SOCKS5 proxy fyrir Tor, HTTP proxy fyrir I2P. Proxy-þjónninn verður að leysa nafnið, ekki vélin þín. |
| Hraði | Ólíkt | Bæði netin bæta töf við hvert bæti. I2P er hægara þeirra tveggja. |
Staða og mörk eru lýst á sinni eigin síðu. Mörk og staða
cURL í gegnum Tor
Keyrðu Tor biðlara á vélinni þinni. Hann býður upp á SOCKS5 proxy á 127.0.0.1:9050. --socks5-hostname réttir þeim proxy .onion nafnið.
# 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 í gegnum I2P
Keyrðu I2P router á vélinni þinni. Hann býður upp á HTTP proxy á 127.0.0.1:4444, sem tekur .b32.i2p nafnið eins og það er.
# 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 fyrir SDK
SDK þarf tvær breytingar: base URL netsins og HTTP biðlara sem fer í gegnum proxy. Í Python taka bæði opinberu SDK httpx biðlara. Fyrir SOCKS proxy skaltu setja upp 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) Streymi og keep-alive á hægum tengingum
Streymi virkar yfir bæði netin. Meðan streymi er opið og líkanið hefur enn ekkert að senda sendir API keep-alive, svo tengingin líti ekki út fyrir að vera dauð fyrir proxy eða biðlarann þinn.
| Endapunktur | Keep-alive á opnu streymi | Sent fyrir |
|---|---|---|
/v1/chat/completions | Athugasemdarlína (hún byrjar á :) á 15 sekúndna fresti. | Öll líkön |
/v1/messages | event: ping, eða athugasemdarlína, á 15 sekúndna fresti. | Öll líkön |
/v1/responses | Athugasemdarlína á 15 sekúndna fresti. | Hýst líkön með opnum þyngdum |
- Sendu
"stream": true. Streymt svar byrjar að berast um leið og líkanið skrifar, og keep-alive sýnir að beiðnin er enn í vinnslu. Svar sem er ekki streymt sendir ekkert fyrr en allt svarið er tilbúið. - Gefðu biðlaranum langan lestrartíma (read timeout). Dæmin nota 600 sekúndur. Tímamörk styttri en 15 sekúndur geta slitið streymi milli tveggja keep-alive.
- Láttu SSE-lesarann þinn sleppa athugasemdarlínum og
pingatburðum. SDK gera þetta nú þegar. - Sendu beiðni ekki aftur um leið og tenging rofnar. Beiðni sem náði til API keyrir til enda og er talin, líka þegar tengingin er horfin.
- Prófaðu leiðina fyrst með
GET /v1/models. Það þarf engan lykil og skilar stuttum JSON lista.
Tengingarvandamál
| Einkenni | Orsök og lausn |
|---|---|
Tengingu við 127.0.0.1:9050 eða 127.0.0.1:4444 er hafnað | Enginn Tor biðlari eða I2P router keyrir á vélinni þinni, eða hann hlustar á annarri gátt. Tor Browser býður upp á SOCKS proxy sinn á gátt 9150. |
Could not resolve host fyrir .onion nafnið | Biðlarinn reyndi að leysa nafnið sjálfur. Notaðu --socks5-hostname í cURL og socks5h:// í proxy URL, svo Tor biðlarinn leysi það. |
| I2P proxy svarar með eigin villusíðu | Routerinn hefur ekki fundið vistfangið enn. Router þarf nokkrar mínútur eftir að hann ræsist. Reyndu aftur. |
401 með Missing authentication | Beiðnin barst án lykils. Sendu sama haus og á opna vefnum. |
Allar aðrar villur eru eins og á opna vefnum. Villumeðhöndlun
Lykillinn þinn án JavaScript
Shannon hefur líka vef án JavaScript, aðgengilegan á opna vefnum, sem onion þjónustu og sem eepsite. /keys síða hans sýnir API lykilinn þinn og leyfir þér að skipta um hann, svo þú getur fengið lykil án þess að yfirgefa Tor eða I2P. encrypted.shannon-ai.com/keys
Vistföng þess vefs á öllum þremur netunum eru talin upp hér: Dulkóðaður aðgangur