Pāriet uz saturu
Šifrēti, Tor un I2P galapunkti

Šifrēti, Tor un I2P galapunkti

API ir publicēts arī kā Tor onion pakalpojums un I2P eepsite. Tie paši ceļi, tā pati atslēga; mainās tikai bāzes URL un starpniekserveris.

Bāzes URL

Četras adreses ved uz to pašu API. Izmantojiet to, kas atbilst jūsu tīklam, ar to pašu API atslēgu un tiem pašiem pieprasījumiem.

Tīkls Bāzes URL Kā to sasniegt
Atklātais tīmeklis https://api.shannon-ai.com/v1 Tieši, pa HTTPS.
Šifrēts spogulis https://api-encrypted.shannon-ai.com/v1 Tieši, pa HTTPS. Otrs resursdatora nosaukums tam pašam API.
Tor (onion pakalpojums) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Caur Tor klientu: SOCKS5 starpniekserveris, pēc noklusējuma adresē 127.0.0.1:9050.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 Caur I2P maršrutētāju: HTTP starpniekserveris, pēc noklusējuma adresē 127.0.0.1:4444.
  • OpenAI SDK pieņem bāzes URL, kā parādīts, ar /v1. Anthropic SDK pieņem to bez /v1.
  • Lai pārbaudītu adresi, izlasiet atbildes galvenes no https://api.shannon-ai.com: Onion-Location nes onion adresi un X-I2P-Location I2P adresi. Onion adrese sākas ar shannon.

Kuri ceļi darbojas

Katrs /v1 ceļš atbild visās četrās adresēs:

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

GET /v1/models atslēgu nevajag, tāpēc tas ir ātrs tests, vai jūsu starpniekserveris sasniedz API.

Kas ir vienāds un kas atšķiras

Postenis Vienāds? Detaļas
Ceļi, pieprasījumu lauki, atbildes, kļūdas Vienāds Tās pašas katrā adresē. Neviens ceļš pēc resursdatora nosaukuma neuzvedas citādi.
API atslēga Vienāds Viena atslēga darbojas katrā adresē, kā Authorization: Bearer vai x-api-key. Sīkdatnes galapunktā /v1 netiek lasītas nekad.
Atlikums un ierobežojumi Vienāds Tas pats atlikums un tas pats ierobežojums 120 pieprasījumi minūtē. Abi tiek skaitīti uz kontu, nevis uz adresi.
Pieprasījuma lielums Vienāds Līdz 32 MiB vienam pieprasījuma pamatteksta.
Shēma Atšķiras https:// atklātajā tīmeklī un spogulī. http:// adresēm .onion un .b32.i2p, kur pats tīkls šifrē savienojumu no gala līdz galam.
Starpniekserveris Atšķiras Atklātajā tīmeklī nav. SOCKS5 starpniekserveris Tor, HTTP starpniekserveris I2P. Nosaukumu jāatrisina starpniekserverim, nevis jūsu datoram.
Ātrums Atšķiras Abi tīkli katram baitam pievieno aizkavi. I2P ir lēnākais no abiem.

Atlikums un ierobežojumi ir aprakstīti savā lapā. Ierobežojumi un atlikums

cURL caur Tor

Palaidiet Tor klientu savā datorā. Tas piedāvā SOCKS5 starpniekserveri adresē 127.0.0.1:9050. --socks5-hostname nodod .onion nosaukumu šim starpniekserverim.

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 caur I2P

Palaidiet I2P maršrutētāju savā datorā. Tas piedāvā HTTP starpniekserveri adresē 127.0.0.1:4444, kas pieņem .b32.i2p nosaukumu tādu, kāds tas ir.

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

SDK bāzes URL

SDK vajadzīgas divas izmaiņas: tīkla bāzes URL un HTTP klients, kas iet caur starpniekserveri. Python abi oficiālie SDK pieņem httpx klientu. SOCKS starpniekserverim instalējiet 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)

Straumēšana darbojas abos tīklos. Kamēr straume ir atvērta un modelim vēl nav ko sūtīt, API sūta keep-alive, lai savienojums starpniekserverim vai jūsu klientam neizskatītos miris.

Galapunkts Keep-alive atvērtā straumē Sūta modeļiem
/v1/chat/completions Komentāra rinda (tā sākas ar :) ik pēc 15 sekundēm. Visi modeļi
/v1/messages event: ping vai komentāra rinda ik pēc 15 sekundēm. Visi modeļi
/v1/responses Komentāra rinda ik pēc 15 sekundēm. Hostētie atvērto svaru modeļi
  • Sūtiet "stream": true. Straumēta atbilde sāk ierasties, tiklīdz modelis raksta, un keep-alive rāda, ka pieprasījums joprojām tiek apstrādāts. Nestraumēta atbilde neko nesūta, līdz visa atbilde ir gatava.
  • Iestatiet klientam garu lasīšanas taimautu. Piemēros izmantotas 600 sekundes. Taimauts, īsāks par 15 sekundēm, var pārtraukt straumi starp diviem keep-alive.
  • Ļaujiet savam SSE lasītājam izlaist komentāru rindas un ping notikumus. SDK to jau dara.
  • Nesūtiet pieprasījumu vēlreiz tajā pašā brīdī, kad savienojums pārtrūkst. Pieprasījums, kas sasniedza API, tiek izpildīts līdz galam un ieskaitīts arī tad, ja savienojuma vairs nav.
  • Vispirms pārbaudiet ceļu ar GET /v1/models. Tam atslēga nav vajadzīga, un tas atgriež īsu JSON sarakstu.

Savienojuma problēmas

Simptoms Cēlonis un labojums
Savienojums ar 127.0.0.1:9050 vai 127.0.0.1:4444 tiek noraidīts Jūsu datorā nedarbojas neviens Tor klients vai I2P maršrutētājs, vai tas klausās citā portā. Tor Browser savu SOCKS starpniekserveri piedāvā portā 9150.
Could not resolve host nosaukumam .onion Klients mēģināja nosaukumu atrisināt pats. Izmantojiet --socks5-hostname cURL un socks5h:// starpniekservera URL, lai to atrisina Tor klients.
I2P starpniekserveris atbild ar savu kļūdas lapu Maršrutētājs adresi vēl nav atradis. Maršrutētājam pēc palaišanas vajag dažas minūtes. Mēģiniet vēlreiz.
401 ar Missing authentication Pieprasījums ieradās bez atslēgas. Sūtiet to pašu galveni, kas atklātajā tīmeklī.

Katra cita kļūda ir tāda pati kā atklātajā tīmeklī. Kļūdu apstrāde

Jūsu atslēga bez JavaScript

Shannon ir arī tīmekļa vietne bez JavaScript, sasniedzama atklātajā tīmeklī, kā onion pakalpojums un kā eepsite. Tās lapa /keys rāda jūsu API atslēgu un ļauj to nomainīt, tāpēc atslēgu varat iegūt, neizejot no Tor vai I2P. encrypted.shannon-ai.com/keys

Šīs tīmekļa vietnes adreses visos trijos tīklos ir uzskaitītas šeit: Šifrēta piekļuve