Endpoint voafantina, Tor & I2P
Ny API koa dia navoaka ho onion service Tor sy eepsite I2P. Lalana mitovy, key mitovy; ny base URL sy ny proxy ihany no miova.
Base URL
Adiresy efatra no mitondra mankany amin'ny API iray ihany. Ampiasao izay mifanaraka amin'ny tamba-jotranao, miaraka amin'ny API key sy fangatahana mitovy.
| Tamba-jotra | Base URL | Ny fomba hahatongavana |
|---|---|---|
| Web mazava | https://api.shannon-ai.com/v1 | Mivantana, amin'ny HTTPS. |
| Mirror voafantina | https://api-encrypted.shannon-ai.com/v1 | Mivantana, amin'ny HTTPS. Anaran'ny host faharoa ho an'ny API iray ihany. |
| Tor (onion service) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Amin'ny alalan'ny client Tor: SOCKS5 proxy, amin'ny 127.0.0.1:9050 ho default. |
| I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | Amin'ny alalan'ny router I2P: HTTP proxy, amin'ny 127.0.0.1:4444 ho default. |
- Ny SDK OpenAI dia maka ny base URL araka ny aseho, miaraka amin'ny
/v1. Ny SDK Anthropic kosa maka azy tsy misy/v1. - Hanamarinana adiresy, vakio ny header valiny an'ny
https://api.shannon-ai.com: nyOnion-Locationdia mitondra ny adiresy onion ary nyX-I2P-Locationny adiresy I2P. Ny adiresy onion dia manomboka amin'nyshannon.
Iza amin'ny lalana no mandeha
Ny lalana /v1 rehetra dia mamaly amin'ny adiresy efatra rehetra:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
Ny GET /v1/models dia tsy mila key, ka fanandramana haingana hijerena raha tonga any amin'ny API ny proxy-nao.
Izay mitovy sy izay tsy mitovy
| Zavatra | Mitovy? | Antsipiriany |
|---|---|---|
| Lalana, saha fangatahana, valiny, hadisoana | Mitovy | Mitovy amin'ny adiresy rehetra. Tsy misy lalana mihetsika hafa araka ny anaran'ny host. |
| API key | Mitovy | Key iray no mandeha amin'ny adiresy rehetra, ho Authorization: Bearer na x-api-key. Ny cookie dia tsy vakiana mihitsy amin'ny /v1. |
| Balance sy fetra | Mitovy | Balance mitovy sy fetra mitovy 120 fangatahana isa-minitra. Samy kajina isaky ny kaonty, fa tsy isaky ny adiresy. |
| Habe ny fangatahana | Mitovy | Hatramin'ny 32 MiB isaky ny body ny fangatahana. |
| Scheme | Tsy mitovy | https:// amin'ny web mazava sy amin'ny mirror. http:// amin'ny adiresy .onion sy .b32.i2p, izay ny tamba-jotra mihitsy no manafina ny fifandraisana hatramin'ny farany. |
| Proxy | Tsy mitovy | Tsy misy amin'ny web mazava. SOCKS5 proxy ho an'ny Tor, HTTP proxy ho an'ny I2P. Ny proxy no tsy maintsy mamaha ny anarana, fa tsy ny milina-nao. |
| Hafainganam-pandehana | Tsy mitovy | Ireo tamba-jotra roa dia samy mampiasa fahatarana amin'ny byte rehetra. Ny I2P no miadana kokoa amin'izy roa. |
Ny balance sy ny fetra dia voasoratra ao amin'ny pejiny manokana. Fetra sy balance
cURL amin'ny Tor
Ampandehano ny client Tor ao amin'ny milina-nao. Manolotra SOCKS5 proxy amin'ny 127.0.0.1:9050 izy. Ny --socks5-hostname dia manome ny anarana .onion amin'io proxy io.
# 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 amin'ny I2P
Ampandehano ny router I2P ao amin'ny milina-nao. Manolotra HTTP proxy amin'ny 127.0.0.1:4444 izy, izay mandray araka izy ny anarana .b32.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 an'ny SDK
Ny SDK dia mila fanovana roa: ny base URL an'ny tamba-jotra, sy client HTTP mandalo amin'ny proxy. Amin'ny Python, ny SDK ofisialy roa dia mandray client httpx. Ho an'ny SOCKS proxy, apetraho ny 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 sy keep-alive amin'ny fifandraisana malemy
Mandeha amin'ireo tamba-jotra roa ny streaming. Raha mbola misokatra ny stream ary tsy mbola manana zavatra halefa ny model, ny API dia mandefa keep-alive, ka tsy toa maty ny fifandraisana amin'ny proxy na ny client-nao.
| Endpoint | Keep-alive amin'ny stream misokatra | Alefa ho an'ny |
|---|---|---|
/v1/chat/completions | Andalana fanamarihana (manomboka amin'ny :) isaky ny 15 segondra. | Model rehetra |
/v1/messages | event: ping, na andalana fanamarihana, isaky ny 15 segondra. | Model rehetra |
/v1/responses | Andalana fanamarihana isaky ny 15 segondra. | Model open-weight hosted |
- Alefaso ny
"stream": true. Ny valiny streamed dia manomboka tonga raha vao manoratra ny model, ary ny keep-alive dia mampiseho fa mbola tohizana ny fangatahana. Ny valiny tsy streamed dia tsy mandefa na inona na inona mandra-pahavitan'ny valiny manontolo. - Omeo read timeout lava ny client. Ny ohatra dia mampiasa segondra 600. Ny timeout ambanin'ny segondra 15 dia mety hamarana stream eo anelanelan'ny keep-alive roa.
- Avelao hamoy ny andalana fanamarihana sy ny event
pingny mpamaky SSE-nao. Ny SDK dia efa manao izany. - Aza alefa indray ny fangatahana raha vao mitsaha ny fifandraisana. Ny fangatahana tonga tamin'ny API dia mandeha hatramin'ny farany ary kajina, na dia tapaka aza ny fifandraisana.
- Andramo aloha ny lalana amin'ny
GET /v1/models. Tsy mila key izy ary mamerina lisitra JSON fohy.
Olana amin'ny fifandraisana
| Soritr'aretina | Antony sy fanamboarana |
|---|---|
Nolavina ny fifandraisana mankany amin'ny 127.0.0.1:9050 na 127.0.0.1:4444 | Tsy mandeha ao amin'ny milina-nao ny client Tor na router I2P, na mihaino port hafa izy. Ny Tor Browser dia manolotra ny SOCKS proxy-ny amin'ny port 9150. |
Could not resolve host ho an'ny anarana .onion | Nanandrana namaha ny anarana ny client ihany. Ampiasao ny --socks5-hostname ao amin'ny cURL sy ny socks5h:// ao amin'ny URL proxy, mba ho ny client Tor no mamaha azy. |
| Ny I2P proxy dia mamaly amin'ny pejy hadisoana azy manokana | Mbola tsy hitan'ny router ny adiresy. Ny router dia mila minitra vitsy aorian'ny fanombohany. Andramo indray. |
401 miaraka amin'ny Missing authentication | Tonga tsy misy key ny fangatahana. Alefaso ny header mitovy amin'ny an'ny web mazava. |
Ny hadisoana hafa rehetra dia mitovy amin'ny an'ny web mazava. Fitantanana hadisoana
Ny key-nao tsy misy JavaScript
Shannon koa dia manana tranonkala tsy misy JavaScript, azo tratrarina amin'ny web mazava, ho onion service ary ho eepsite. Ny pejiny /keys dia mampiseho ny API key-nao ary avela hosoloina izany, ka afaka mahazo key ianao tsy mivoaka ny Tor na I2P. encrypted.shannon-ai.com/keys
Ny adiresin'io tranonkala io amin'ny tamba-jotra telo rehetra dia voatanisa eto: Fidirana voafantina