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-Locationimanyamula adilesi ya onion ndiX-I2P-Locationadilesi ya I2P. Adilesi ya onion imayamba ndishannon.
Njira zomwe zimagwira ntchito
Njira iliyonse ya /v1 imayankha pa ma adilesi onse anayi:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /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.
# 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.
# 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) # 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) Streaming ndi keep-alive pa ma link ocheperako
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