Dumphani kupita ku zomwe zili
Ma endpoint obisika, Tor & I2P

Ma endpoint obisika, Tor & I2P

API imafalitsidwanso ngati Tor onion service ndi I2P eepsite. Njira zomwezo, kiyi yomweyo; base URL ndi proxy zokha zimasintha.

Ma base URL

Ma adilesi anayi amatsogolera ku API yomweyo. Gwiritsani omwe akugwirizana ndi network yanu, ndi API key yomweyo ndi ma pempho omwewo.

Network Base URL Momwe mumafikira
Clear web https://api.shannon-ai.com/v1 Mwachindunji, pa HTTPS.
Mirror yobisika https://api-encrypted.shannon-ai.com/v1 Mwachindunji, pa HTTPS. Dzina lachiwiri la host la API yomweyo.
Tor (onion service) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Kudzera pa Tor client: SOCKS5 proxy, mwa default pa 127.0.0.1:9050.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 Kudzera pa I2P router: HTTP proxy, mwa default pa 127.0.0.1:4444.
  • OpenAI SDK imalandira base URL monga yaonetsedwa, ndi /v1. Anthropic SDK imailandira popanda /v1.
  • Kuti muyang'ane adilesi, werengani ma header a yankho a https://api.shannon-ai.com: Onion-Location imanyamula adilesi ya onion ndi X-I2P-Location adilesi ya I2P. Adilesi ya onion imayamba ndi shannon.

Njira zomwe zimagwira ntchito

Njira iliyonse ya /v1 imayankha pa ma adilesi onse anayi:

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

GET /v1/models siifuna kiyi, zomwe zimapangitsa kuti ikhale kuyesa kwachangu kuti proxy yanu ifika ku API.

Zomwe zili zofanana ndi zomwe zimasiyana

Chinthu Chimodzimodzi? Tsatanetsatane
Njira, ma field a pempho, mayankho, zolakwika Chimodzimodzi Zofanana pa adilesi iliyonse. Palibe njira yomwe imachita mosiyana potengera dzina la host.
API key Chimodzimodzi Kiyi imodzi imagwira ntchito pa adilesi iliyonse, ngati Authorization: Bearer kapena x-api-key. Ma cookie sawerengedwa konse pa /v1.
Balance ndi malire Chimodzimodzi Balance yomweyo ndi malire omwewo a ma pempho 120 pa mphindi. Zonse ziwiri zimawerengedwa pa akaunti, osati pa adilesi.
Kukula kwa pempho Chimodzimodzi Mpaka 32 MiB pa body ya pempho.
Scheme Imasiyana https:// pa clear web ndi pa mirror. http:// pa ma adilesi a .onion ndi .b32.i2p, kumene network yokha imabisa connection kuyambira kumapeto mpaka kumapeto.
Proxy Imasiyana Palibe pa clear web. SOCKS5 proxy ya Tor, HTTP proxy ya I2P. Dzinalo liyenera kuthetsedwa ndi proxy, osati ndi kompyuta yanu.
Liwiro Imasiyana Ma network onse awiri amawonjezera kuchedwa pa byte iliyonse. I2P ndi yocheperako pa ziwirizo.

Balance ndi malire zafotokozedwa patsamba lawo. Malire ndi balance

cURL kudzera pa Tor

Yendetsani Tor client pa kompyuta yanu. Imapereka SOCKS5 proxy pa 127.0.0.1:9050. --socks5-hostname imapereka dzina la .onion kwa proxy imeneyo.

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 kudzera pa I2P

Yendetsani I2P router pa kompyuta yanu. Imapereka HTTP proxy pa 127.0.0.1:4444, yomwe imalandira dzina la .b32.i2p monga lilili.

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 ya SDK

SDK imafuna zosintha ziwiri: base URL ya network, ndi HTTP client yomwe imadutsa mu proxy. Mu Python ma SDK ovomerezeka onse awiri amalandira httpx client. Pa SOCKS proxy ikani 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)

Streaming imagwira ntchito pa ma network onse awiri. Pamene stream yatseguka ndipo model ilibe chotumiza, API imatumiza keep-alive, kuti connection isaoneke ngati yafa kwa proxy kapena client yanu.

Endpoint Keep-alive pa stream yotsegula Imatumizidwa pa
/v1/chat/completions Mzere wa comment (umayamba ndi :) masekondi 15 aliwonse. Ma model onse
/v1/messages event: ping, kapena mzere wa comment, masekondi 15 aliwonse. Ma model onse
/v1/responses Mzere wa comment masekondi 15 aliwonse. Hosted open-weight model
  • Tumizani "stream": true. Yankho la stream limayamba kufika model ikangolemba, ndipo keep-alive imaonetsa kuti pempho likugwirabe ntchito. Yankho lopanda stream silitumiza kanthu mpaka yankho lonse likhale lokonzeka.
  • Patsani client read timeout yayitali. Zitsanzo zimagwiritsa ntchito masekondi 600. Timeout yaifupi kuposa masekondi 15 ingathe kuthetsa stream pakati pa ma keep-alive awiri.
  • Lolani SSE reader yanu kudumpha mizere ya comment ndi ma event a ping. Ma SDK amachita izi kale.
  • Musatumizenso pempho connection ikangoduka. Pempho lomwe lafika ku API limayenda mpaka kumapeto ndipo limawerengedwa, ngakhale connection yatha.
  • Yesani njira poyamba ndi GET /v1/models. Siifuna kiyi ndipo imabweza mndandanda waufupi wa JSON.

Mavuto a connection

Chizindikiro Chifukwa ndi njira yothetsera
Connection ku 127.0.0.1:9050 kapena 127.0.0.1:4444 yakanidwa Palibe Tor client kapena I2P router yomwe ikuyenda pa kompyuta yanu, kapena imamvera pa port ina. Tor Browser imapereka SOCKS proxy yake pa port 9150.
Could not resolve host pa dzina la .onion Client inayesa kuthetsa dzinalo yokha. Gwiritsani --socks5-hostname mu cURL ndi socks5h:// mu proxy URL, kuti Tor client ithetse.
I2P proxy imayankha ndi tsamba lake la cholakwika Router siinapezebe adilesi. Router imafuna mphindi zochepa itayamba. Yesaninso.
401 ndi Missing authentication Pempho linafika popanda kiyi. Tumizani header yomweyo monga pa clear web.

Cholakwika china chilichonse ndi chofanana ndi cha pa clear web. Zolakwika

Kiyi yanu popanda JavaScript

Shannon ilinso ndi webusaiti yopanda JavaScript, yopezeka pa clear web, ngati onion service komanso ngati eepsite. Tsamba lake la /keys limaonetsa API key yanu ndipo limakulolani kuisintha, kotero mutha kupeza kiyi osatuluka mu Tor kapena I2P. encrypted.shannon-ai.com/keys

Ma adilesi a webusaiti imeneyo pa ma network onse atatu alembedwa pano: Encrypted access