Aqbeż għall-kontenut
Endpoints ikkriptati, Tor & I2P

Endpoints ikkriptati, Tor & I2P

L-API hija ppubblikata wkoll bħala servizz onion ta' Tor u eepsite ta' I2P. L-istess routes, l-istess ċavetta; jinbidlu biss il-base URL u l-proxy.

Base URLs

Erba' indirizzi jwasslu għall-istess API. Uża dak li jaqbel man-netwerk tiegħek, bl-istess ċavetta tal-API u bl-istess talbiet.

Netwerk Base URL Kif tilħaqha
Web ċara https://api.shannon-ai.com/v1 Direttament, fuq HTTPS.
Mirror ikkriptat https://api-encrypted.shannon-ai.com/v1 Direttament, fuq HTTPS. It-tieni isem ta' host għall-istess API.
Tor (servizz onion) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Permezz ta' klijent Tor: proxy SOCKS5, b'default fuq 127.0.0.1:9050.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 Permezz ta' router I2P: proxy HTTP, b'default fuq 127.0.0.1:4444.
  • SDK ta' OpenAI jieħu l-base URL kif murija, b'/v1. SDK ta' Anthropic jieħodha mingħajr /v1.
  • Biex tivverifika indirizz, aqra l-headers tat-tweġiba ta' https://api.shannon-ai.com: Onion-Location iġorr l-indirizz onion u X-I2P-Location l-indirizz I2P. L-indirizz onion jibda b'shannon.

Liema routes jaħdmu

Kull route ta' /v1 iwieġeb fuq l-erba' indirizzi kollha:

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

GET /v1/models ma jeħtieġ l-ebda ċavetta, u dan jagħmlu test mgħaġġel li l-proxy tiegħek jilħaq l-API.

X'inhu l-istess u x'inhu differenti

Punt L-istess? Dettal
Routes, kampi tat-talba, tweġibiet, żbalji L-istess L-istess fuq kull indirizz. L-ebda route ma jġib ruħu b'mod differenti skont l-isem tal-host.
Ċavetta tal-API L-istess Ċavetta waħda taħdem fuq kull indirizz, bħala Authorization: Bearer jew x-api-key. Il-cookies qatt ma jinqraw fuq /v1.
Bilanċ u limiti L-istess L-istess bilanċ u l-istess limitu ta' 120 talba kull minuta. It-tnejn jingħaddu għal kull kont, mhux għal kull indirizz.
Daqs tat-talba L-istess Sa 32 MiB għal kull body ta' talba.
Skema Differenti https:// fuq il-web ċara u fuq il-mirror. http:// fuq l-indirizzi .onion u .b32.i2p, fejn in-netwerk innifsu jikkripta l-konnessjoni minn tarf sa tarf.
Proxy Differenti L-ebda wieħed fuq il-web ċara. Proxy SOCKS5 għal Tor, proxy HTTP għal I2P. L-isem irid jiġi riżolt mill-proxy, mhux mill-magna tiegħek.
Veloċità Differenti Iż-żewġ netwerks iżidu dewmien ma' kull byte. I2P huwa l-iktar bil-mod miż-żewġ netwerks.

Il-bilanċ u l-limiti huma deskritti fil-paġna tagħhom. Limiti u bilanċ

cURL permezz ta' Tor

Ħaddem klijent Tor fuq il-magna tiegħek. Joffri proxy SOCKS5 fuq 127.0.0.1:9050. --socks5-hostname jgħaddi l-isem .onion lil dak il-proxy.

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"}]
  }'

cURL permezz ta' I2P

Ħaddem router I2P fuq il-magna tiegħek. Joffri proxy HTTP fuq 127.0.0.1:4444, li jieħu l-isem .b32.i2p kif inhu.

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"}]
  }'

Base URL tal-SDK

SDK jeħtieġ żewġ tibdiliet: il-base URL tan-netwerk, u klijent HTTP li jgħaddi mill-proxy. Fi Python iż-żewġ SDKs uffiċjali jieħdu klijent httpx. Għal proxy SOCKS installa 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)

L-istreaming jaħdem fuq iż-żewġ netwerks. Waqt li stream ikun miftuħ u l-mudell għad m'għandu xejn x'jibgħat, l-API tibgħat keep-alive, biex il-konnessjoni ma tidhirx mejta għal proxy jew għall-klijent tiegħek.

Endpoint Keep-alive fuq stream miftuħ Mibgħut għal
/v1/chat/completions Linja ta' kummentarju (tibda b':) kull 15-il sekonda. Il-mudelli kollha
/v1/messages event: ping, jew linja ta' kummentarju, kull 15-il sekonda. Il-mudelli kollha
/v1/responses Linja ta' kummentarju kull 15-il sekonda. Mudelli open-weight ospitati
  • Ibgħat "stream": true. Tweġiba fi stream tibda tasal hekk kif jikteb il-mudell, u l-keep-alive juri li t-talba għadha qed tinħadem. Tweġiba mhux fi stream ma tibgħat xejn sakemm it-tweġiba kollha tkun lesta.
  • Agħti lill-klijent read timeout twil. L-eżempji jużaw 600 sekonda. Timeout iqsar minn 15-il sekonda jista' jtemm stream bejn żewġ keep-alives.
  • Ħalli lill-qarrej SSE tiegħek jaqbeż il-linji ta' kummentarju u l-avvenimenti ping. L-SDKs diġà jagħmlu dan.
  • Terġax tibgħat talba hekk kif tinqata' konnessjoni. Talba li waslet sal-API taħdem sa tmiemha u tingħadd, anke meta l-konnessjoni tkun spiċċat.
  • Ittestja l-path b'GET /v1/models l-ewwel. Ma jeħtieġ l-ebda ċavetta u jagħti lura lista JSON qasira.

Problemi ta' konnessjoni

Sintomu Kawża u soluzzjoni
Il-konnessjoni ma' 127.0.0.1:9050 jew 127.0.0.1:4444 tiġi rifjutata L-ebda klijent Tor jew router I2P ma jaħdem fuq il-magna tiegħek, jew jisma' fuq port ieħor. Tor Browser joffri l-proxy SOCKS tiegħu fuq il-port 9150.
Could not resolve host għall-isem .onion Il-klijent ipprova jirriżolvi l-isem waħdu. Uża --socks5-hostname f'cURL u socks5h:// f'URL ta' proxy, biex il-klijent Tor jirriżolvih.
Il-proxy I2P iwieġeb bil-paġna tal-iżball tiegħu stess Ir-router għadu ma sabx l-indirizz. Router jeħtieġ ftit minuti wara li jibda. Erġa' pprova.
401 b'Missing authentication It-talba waslet mingħajr ċavetta. Ibgħat l-istess header bħal fuq il-web ċara.

Kull żball ieħor huwa l-istess bħal fuq il-web ċara. Ġestjoni tal-iżbalji

Iċ-ċavetta tiegħek mingħajr JavaScript

Shannon għandha wkoll sit mingħajr JavaScript, li jintlaħaq fuq il-web ċara, bħala servizz onion u bħala eepsite. Il-paġna /keys tiegħu turi ċ-ċavetta tal-API tiegħek u tħallik tibdilha, biex tkun tista' tikseb ċavetta mingħajr ma titlaq minn Tor jew I2P. encrypted.shannon-ai.com/keys

L-indirizzi ta' dak is-sit fit-tliet netwerks kollha huma elenkati hawn: Aċċess ikkriptat