కంటెంట్‌కు వెళ్లండి
ఎన్‌క్రిప్టెడ్, Tor & I2P ఎండ్‌పాయింట్‌లు

ఎన్‌క్రిప్టెడ్, Tor & I2P ఎండ్‌పాయింట్‌లు

API ను Tor onion సర్వీస్‌గా మరియు I2P eepsite గా కూడా ప్రచురించాము. అవే రూట్‌లు, అదే కీ; 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 వద్ద.
  • OpenAI SDK base URL ను చూపినట్లే, /v1 తో తీసుకుంటుంది. Anthropic SDK దాన్ని /v1 లేకుండా తీసుకుంటుంది.
  • అడ్రస్‌ను ధృవీకరించడానికి, https://api.shannon-ai.com సమాధాన హెడర్లను చదవండి: Onion-Location onion అడ్రస్‌ను, X-I2P-Location I2P అడ్రస్‌ను ఇస్తాయి. onion అడ్రస్ shannon తో మొదలవుతుంది.

ఏ రూట్‌లు పనిచేస్తాయి

ప్రతి /v1 రూట్ నాలుగు అడ్రస్‌లలోనూ సమాధానం ఇస్తుంది:

  • POST /v1/chat/completions
  • POST /v1/responses
  • POST /v1/messages
  • POST /v1/messages/count_tokens
  • POST /v1/tokenize
  • GET /v1/models

GET /v1/models కు కీ అవసరం లేదు, కాబట్టి మీ ప్రాక్సీ API ని చేరుకుంటుందో లేదో త్వరగా పరీక్షించవచ్చు.

ఏది ఒకేలా ఉంది, ఏది భిన్నంగా ఉంది

అంశం ఒకేలా ఉందా? వివరం
రూట్‌లు, రిక్వెస్ట్ ఫీల్డ్‌లు, సమాధానాలు, ఎర్రర్‌లు ఒకేలా ప్రతి అడ్రస్‌లో ఒకేలా. ఏ రూట్ కూడా హోస్ట్ పేరును బట్టి వేరుగా ప్రవర్తించదు.
API కీ ఒకేలా ఒక కీ ప్రతి అడ్రస్‌లో పనిచేస్తుంది, Authorization: Bearer లేదా x-api-key గా. /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 పేరును ఆ ప్రాక్సీకి అప్పగిస్తుంది.

cURL · Tor
# 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 పేరును ఉన్నది ఉన్నట్లే తీసుకుంటుంది.

cURL · 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 base URL

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)

స్ట్రీమింగ్ రెండు నెట్‌వర్క్‌లలోనూ పనిచేస్తుంది. స్ట్రీమ్ తెరిచి ఉండి, మోడల్ ఇంకా పంపడానికి ఏమీ లేనప్పుడు, API కీప్-అలైవ్ పంపుతుంది, కాబట్టి ప్రాక్సీకి లేదా మీ క్లయింట్‌కు కనెక్షన్ చచ్చిపోయినట్లు కనిపించదు.

ఎండ్‌పాయింట్ తెరిచి ఉన్న స్ట్రీమ్‌లో కీప్-అలైవ్ ఎవరికి పంపబడుతుంది
/v1/chat/completions ప్రతి 15 సెకన్లకు ఒక కామెంట్ లైన్ (ఇది : తో మొదలవుతుంది). అన్ని మోడల్స్
/v1/messages ప్రతి 15 సెకన్లకు ఒక event: ping, లేదా ఒక కామెంట్ లైన్. అన్ని మోడల్స్
/v1/responses ప్రతి 15 సెకన్లకు ఒక కామెంట్ లైన్. హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్
  • "stream": true పంపండి. మోడల్ రాయగానే స్ట్రీమ్ చేసిన సమాధానం రావడం మొదలవుతుంది, మరియు కీప్-అలైవ్ రిక్వెస్ట్‌పై ఇంకా పని జరుగుతోందని చూపిస్తుంది. స్ట్రీమ్ చేయని సమాధానం మొత్తం సిద్ధమయ్యే వరకు ఏమీ పంపదు.
  • క్లయింట్‌కు పొడవైన రీడ్ టైమ్‌అవుట్ ఇవ్వండి. నమూనాలు 600 సెకన్లు ఉపయోగిస్తాయి. 15 సెకన్ల కంటే తక్కువ టైమ్‌అవుట్ రెండు కీప్-అలైవ్‌ల మధ్య స్ట్రీమ్‌ను ముగించవచ్చు.
  • మీ 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 ప్రాక్సీ తన స్వంత ఎర్రర్ పేజీతో సమాధానం ఇస్తుంది రౌటర్ ఇంకా అడ్రస్‌ను కనుగొనలేదు. రౌటర్ ప్రారంభమైన తర్వాత కొన్ని నిమిషాలు పడుతుంది. మళ్ళీ ప్రయత్నించండి.
Missing authentication తో 401 రిక్వెస్ట్ కీ లేకుండా చేరింది. క్లియర్ వెబ్‌లో పంపే హెడర్‌నే పంపండి.

మిగతా ప్రతి ఎర్రర్ క్లియర్ వెబ్‌లో ఉన్నట్లే ఉంటుంది. ఎరర్ హ్యాండ్లింగ్

JavaScript లేకుండా మీ కీ

Shannon కు JavaScript లేని వెబ్‌సైట్ కూడా ఉంది; అది క్లియర్ వెబ్‌లో, onion సర్వీస్‌గా మరియు eepsite గా అందుబాటులో ఉంటుంది. దాని /keys పేజీ మీ API కీని చూపిస్తుంది మరియు దాన్ని మార్చుకోనిస్తుంది, కాబట్టి Tor లేదా I2P ను వదలకుండానే కీ పొందవచ్చు. encrypted.shannon-ai.com/keys

ఆ వెబ్‌సైట్ యొక్క మూడు నెట్‌వర్క్‌లలోని అడ్రస్‌లు ఇక్కడ జాబితా చేయబడ్డాయి: ఎన్‌క్రిప్టెడ్ యాక్సెస్