Şifrələnmiş, Tor & I2P endpoint-ləri
API həmçinin Tor onion xidməti və I2P eepsite kimi dərc edilib. Eyni yollar, eyni açar; yalnız əsas URL və proxy dəyişir.
Əsas URL-lər
Dörd ünvan eyni API-yə aparır. Şəbəkənizə uyğun olanı istifadə edin, eyni API açarı və eyni sorğularla.
| Şəbəkə | Əsas URL | Ona necə çatırsınız |
|---|---|---|
| Açıq veb | https://api.shannon-ai.com/v1 | Birbaşa, HTTPS ilə. |
| Şifrələnmiş güzgü | https://api-encrypted.shannon-ai.com/v1 | Birbaşa, HTTPS ilə. Eyni API üçün ikinci host adı. |
| Tor (onion xidməti) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Tor klienti vasitəsilə: SOCKS5 proxy, standart olaraq 127.0.0.1:9050-də. |
| I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | I2P router vasitəsilə: HTTP proxy, standart olaraq 127.0.0.1:4444-də. |
- OpenAI SDK əsas URL-i göstərildiyi kimi,
/v1ilə qəbul edir. Anthropic SDK onu/v1-siz qəbul edir. - Ünvanı yoxlamaq üçün
https://api.shannon-ai.comcavab başlıqlarını oxuyun:Onion-Locationonion ünvanını,X-I2P-Locationisə I2P ünvanını daşıyır. Onion ünvanıshannonilə başlayır.
Hansı yollar işləyir
Hər /v1 yolu dörd ünvanın hamısında cavab verir:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
GET /v1/models açar tələb etmir, bu da onu proxy-nizin API-yə çatdığının sürətli testi edir.
Nə eynidir və nə fərqlidir
| Element | Eynidir? | Təfərrüat |
|---|---|---|
| Yollar, sorğu sahələri, cavablar, xətalar | Eyni | Hər ünvanda eynidir. Heç bir yol host adına görə fərqli davranmır. |
| API açarı | Eyni | Bir açar hər ünvanda Authorization: Bearer və ya x-api-key kimi işləyir. /v1-də cookie-lər heç vaxt oxunmur. |
| Balans və limitlər | Eyni | Eyni balans və dəqiqədə 120 sorğu limiti. Hər ikisi ünvan üzrə deyil, hesab üzrə sayılır. |
| Sorğu ölçüsü | Eyni | Sorğu gövdəsi üçün 32 MiB-a qədər. |
| Sxem | Fərqlidir | Açıq veb-də və güzgüdə https://. Şəbəkənin özünün bağlantını başdan-sona şifrələdiyi .onion və .b32.i2p ünvanlarında http://. |
| Proxy | Fərqlidir | Açıq veb-də yoxdur. Tor üçün SOCKS5 proxy, I2P üçün HTTP proxy. Adı sizin maşınınız yox, proxy həll etməlidir. |
| Sürət | Fərqlidir | Hər iki şəbəkə hər bayta gecikmə əlavə edir. I2P ikisindən daha yavaşdır. |
Balans və limitlər ayrıca səhifədə təsvir olunub. Limitlər və balans
Tor üzərindən cURL
Maşınınızda Tor klienti işlədin. O, 127.0.0.1:9050-də SOCKS5 proxy təklif edir. --socks5-hostname .onion adını həmin proxy-yə verir.
# 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 üzərindən cURL
Maşınınızda I2P router işlədin. O, .b32.i2p adını olduğu kimi qəbul edən 127.0.0.1:4444-də HTTP proxy təklif edir.
# 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 əsas URL-i
SDK iki dəyişiklik tələb edir: şəbəkənin əsas URL-i və proxy-dən keçən HTTP klienti. Python-da hər iki rəsmi SDK httpx klienti qəbul edir. SOCKS proxy üçün httpx[socks] quraşdırın.
# 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) Yavaş bağlantılarda streaming və keep-alive
Streaming hər iki şəbəkədə işləyir. Axın açıq olarkən və modelin göndəriləsi bir şeyi hələ olmadıqda API keep-alive göndərir, beləliklə bağlantı proxy-yə və ya klientinizə ölü görünmür.
| Endpoint | Açıq axında keep-alive | Bunlar üçün göndərilir |
|---|---|---|
/v1/chat/completions | Hər 15 saniyədən bir şərh sətri (: ilə başlayır). | Bütün modellər |
/v1/messages | Hər 15 saniyədən bir event: ping və ya şərh sətri. | Bütün modellər |
/v1/responses | Hər 15 saniyədən bir şərh sətri. | Host edilən açıq çəkili modellər |
"stream": truegöndərin. Axınlı cavab model yazan kimi gəlməyə başlayır və keep-alive sorğu üzərində işlənildiyini göstərir. Axınsız cavab bütün cavab hazır olana qədər heç nə göndərmir.- Klientə uzun read timeout verin. Nümunələr 600 saniyə istifadə edir. 15 saniyədən qısa timeout axını iki keep-alive arasında bitirə bilər.
- SSE oxuyucunuzun şərh sətirlərini və
pinghadisələrini keçməsinə icazə verin. SDK-lar bunu artıq edir. - Bağlantı kəsilən kimi sorğunu yenidən göndərməyin. API-yə çatan sorğu sonuna qədər işləyir və sayılır, bağlantı getsə belə.
- Yolu əvvəlcə
GET /v1/modelsilə yoxlayın. O, açar tələb etmir və qısa JSON siyahısı qaytarır.
Bağlantı problemləri
| Əlamət | Səbəb və həll |
|---|---|
127.0.0.1:9050 və ya 127.0.0.1:4444 ünvanına bağlantı rədd edilir | Maşınınızda Tor klienti və ya I2P router işləmir və ya başqa portda dinləyir. Tor Browser SOCKS proxy-ni 9150 portunda təklif edir. |
.onion adı üçün Could not resolve host | Klient adı özü həll etməyə çalışdı. Tor klienti həll etsin deyə cURL-də --socks5-hostname, proxy URL-də isə socks5h:// istifadə edin. |
| I2P proxy öz xəta səhifəsi ilə cavab verir | Router ünvanı hələ tapmayıb. Router başladıqdan sonra bir neçə dəqiqəyə ehtiyac duyur. Yenidən cəhd edin. |
Missing authentication ilə 401 | Sorğu açarsız gəldi. Açıq veb-dəki ilə eyni başlığı göndərin. |
Hər digər xəta açıq veb-dəki ilə eynidir. Xəta idarəetməsi
JavaScript-siz açarınız
Shannon-un həmçinin açıq veb-də, onion xidməti kimi və eepsite kimi əlçatan olan JavaScript-siz veb-sayt var. Onun /keys səhifəsi API açarınızı göstərir və yeniləməyə imkan verir, beləliklə Tor və ya I2P-dən çıxmadan açar ala bilərsiniz. encrypted.shannon-ai.com/keys
Həmin veb-saytın üç şəbəkədəki ünvanları burada siyahıya alınıb: Şifrələnmiş giriş