ഉള്ളടക്കത്തിലേക്ക് പോകുക
എൻക്രിപ്റ്റഡ്, Tor & I2P എൻഡ്‌പോയിന്റുകൾ

എൻക്രിപ്റ്റഡ്, Tor & I2P എൻഡ്‌പോയിന്റുകൾ

API ഒരു Tor onion സേവനമായും I2P eepsite ആയും കൂടി പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. ഒരേ റൂട്ടുകൾ, ഒരേ കീ; ബേസ് URL-ഉം പ്രോക്സിയും മാത്രം മാറുന്നു.

ബേസ് URL-കൾ

നാല് വിലാസങ്ങൾ ഒരേ API-യിലേക്ക് നയിക്കുന്നു. ഒരേ API കീയും ഒരേ റിക്വസ്റ്റുകളും ഉപയോഗിച്ച്, നിങ്ങളുടെ നെറ്റ്‌വർക്കിന് യോജിച്ചത് ഉപയോഗിക്കുക.

നെറ്റ്‌വർക്ക് ബേസ് URL എങ്ങനെ എത്തിച്ചേരാം
ക്ലിയർ വെബ് https://api.shannon-ai.com/v1 നേരിട്ട്, HTTPS വഴി.
എൻക്രിപ്റ്റഡ് മിറർ https://api-encrypted.shannon-ai.com/v1 നേരിട്ട്, HTTPS വഴി. ഇതേ API-ക്കുള്ള രണ്ടാമത്തെ ഹോസ്റ്റ് നാമം.
Tor (onion സേവനം) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 ഒരു Tor ക്ലയന്റ് വഴി: SOCKS5 പ്രോക്സി, ഡിഫോൾട്ടായി 127.0.0.1:9050-ൽ.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 ഒരു I2P റൗട്ടർ വഴി: HTTP പ്രോക്സി, ഡിഫോൾട്ടായി 127.0.0.1:4444-ൽ.
  • OpenAI SDK ബേസ് URL കാണിച്ചിരിക്കുന്നതുപോലെ /v1 സഹിതം സ്വീകരിക്കുന്നു. Anthropic SDK അത് /v1 ഇല്ലാതെ സ്വീകരിക്കുന്നു.
  • ഒരു വിലാസം പരിശോധിക്കാൻ https://api.shannon-ai.com-ന്റെ മറുപടി ഹെഡറുകൾ വായിക്കുക: Onion-Location onion വിലാസവും X-I2P-Location I2P വിലാസവും വഹിക്കുന്നു. onion വിലാസം shannon എന്ന് തുടങ്ങുന്നു.

ഏതൊക്കെ റൂട്ടുകൾ പ്രവർത്തിക്കുന്നു

ഓരോ /v1 റൂട്ടും നാല് വിലാസങ്ങളിലും മറുപടി നൽകുന്നു:

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

GET /v1/models-ന് കീ ആവശ്യമില്ല, അതിനാൽ നിങ്ങളുടെ പ്രോക്സി API-യിൽ എത്തുന്നുണ്ടോ എന്ന് പെട്ടെന്ന് പരീക്ഷിക്കാം.

എന്ത് ഒന്നുതന്നെ, എന്ത് വ്യത്യസ്തം

ഇനം ഒന്നുതന്നെയോ? വിശദാംശം
റൂട്ടുകൾ, റിക്വസ്റ്റ് ഫീൽഡുകൾ, മറുപടികൾ, പിശകുകൾ ഒന്നുതന്നെ എല്ലാ വിലാസത്തിലും ഒന്നുതന്നെ. ഒരു റൂട്ടും ഹോസ്റ്റ് നാമമനുസരിച്ച് വ്യത്യസ്തമായി പെരുമാറുന്നില്ല.
API കീ ഒന്നുതന്നെ ഒരു കീ എല്ലാ വിലാസത്തിലും പ്രവർത്തിക്കും, Authorization: Bearer ആയോ x-api-key ആയോ. /v1-ൽ കുക്കികൾ ഒരിക്കലും വായിക്കില്ല.
ബാലൻസും പരിധികളും ഒന്നുതന്നെ ഒരേ ബാലൻസും മിനിറ്റിൽ 120 റിക്വസ്റ്റുകൾ എന്ന ഒരേ പരിധിയും. രണ്ടും വിലാസത്തിനല്ല, അക്കൗണ്ടിനാണ് കണക്കാക്കുന്നത്.
റിക്വസ്റ്റ് വലിപ്പം ഒന്നുതന്നെ ഓരോ റിക്വസ്റ്റ് ബോഡിക്കും 32 MiB വരെ.
സ്കീം വ്യത്യസ്തം ക്ലിയർ വെബിലും മിററിലും https://. .onion, .b32.i2p വിലാസങ്ങളിൽ http://, അവിടെ നെറ്റ്‌വർക്ക് തന്നെ കണക്ഷൻ അറ്റം മുതൽ അറ്റം വരെ എൻക്രിപ്റ്റ് ചെയ്യുന്നു.
പ്രോക്സി വ്യത്യസ്തം ക്ലിയർ വെബിൽ ഒന്നുമില്ല. Tor-ന് SOCKS5 പ്രോക്സി, I2P-ക്ക് HTTP പ്രോക്സി. പേര് റിസോൾവ് ചെയ്യേണ്ടത് പ്രോക്സിയാണ്, നിങ്ങളുടെ മെഷീനല്ല.
വേഗത വ്യത്യസ്തം രണ്ട് നെറ്റ്‌വർക്കുകളും ഓരോ ബൈറ്റിനും കാലതാമസം ചേർക്കുന്നു. രണ്ടിൽ I2P ആണ് വേഗം കുറഞ്ഞത്.

ബാലൻസും പരിധികളും സ്വന്തം പേജിൽ വിവരിച്ചിട്ടുണ്ട്. പരിധികളും ബാലൻസും

Tor വഴി cURL

നിങ്ങളുടെ മെഷീനിൽ ഒരു Tor ക്ലയന്റ് പ്രവർത്തിപ്പിക്കുക. അത് 127.0.0.1:9050-ൽ ഒരു SOCKS5 പ്രോക്സി നൽകുന്നു. --socks5-hostname .onion പേര് ആ പ്രോക്സിക്ക് കൈമാറുന്നു.

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

I2P വഴി cURL

നിങ്ങളുടെ മെഷീനിൽ ഒരു I2P റൗട്ടർ പ്രവർത്തിപ്പിക്കുക. അത് 127.0.0.1:4444-ൽ ഒരു HTTP പ്രോക്സി നൽകുന്നു, അത് .b32.i2p പേര് അതേപടി സ്വീകരിക്കുന്നു.

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 ബേസ് URL

SDK-ക്ക് രണ്ട് മാറ്റങ്ങൾ വേണം: നെറ്റ്‌വർക്കിന്റെ ബേസ് URL, പ്രോക്സി വഴി പോകുന്ന HTTP ക്ലയന്റ്. Python-ൽ രണ്ട് ഔദ്യോഗിക SDK-കളും httpx ക്ലയന്റ് സ്വീകരിക്കുന്നു. SOCKS പ്രോക്സിക്ക് 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)

രണ്ട് നെറ്റ്‌വർക്കുകളിലും സ്ട്രീമിംഗ് പ്രവർത്തിക്കുന്നു. സ്ട്രീം തുറന്നിരിക്കുകയും മോഡലിന് അയയ്ക്കാൻ ഒന്നുമില്ലാതിരിക്കുകയും ചെയ്യുമ്പോൾ, API ഒരു കീപ്-എലൈവ് അയയ്ക്കുന്നു, അതിനാൽ കണക്ഷൻ ഒരു പ്രോക്സിക്കോ നിങ്ങളുടെ ക്ലയന്റിനോ നിർജ്ജീവമായി തോന്നില്ല.

എൻഡ്‌പോയിന്റ് തുറന്ന സ്ട്രീമിലെ കീപ്-എലൈവ് അയയ്ക്കുന്നത്
/v1/chat/completions ഓരോ 15 സെക്കൻഡിലും ഒരു കമന്റ് വരി (ഇത് : കൊണ്ട് തുടങ്ങുന്നു). എല്ലാ മോഡലുകളും
/v1/messages ഓരോ 15 സെക്കൻഡിലും ഒരു event: ping, അല്ലെങ്കിൽ ഒരു കമന്റ് വരി. എല്ലാ മോഡലുകളും
/v1/responses ഓരോ 15 സെക്കൻഡിലും ഒരു കമന്റ് വരി. ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ
  • "stream": true അയയ്ക്കുക. മോഡൽ എഴുതുന്ന ഉടനെ സ്ട്രീം ചെയ്ത മറുപടി എത്തിത്തുടങ്ങും, കീപ്-എലൈവ് റിക്വസ്റ്റ് ഇപ്പോഴും പ്രോസസ്സ് ചെയ്യുന്നുണ്ടെന്ന് കാണിക്കും. സ്ട്രീം ചെയ്യാത്ത മറുപടി മുഴുവൻ ഉത്തരം തയ്യാറാകുംവരെ ഒന്നും അയയ്ക്കില്ല.
  • ക്ലയന്റിന് ദൈർഘ്യമേറിയ റീഡ് ടൈംഔട്ട് നൽകുക. സാമ്പിളുകൾ 600 സെക്കൻഡ് ഉപയോഗിക്കുന്നു. 15 സെക്കൻഡിൽ കുറഞ്ഞ ടൈംഔട്ട് രണ്ട് കീപ്-എലൈവുകൾക്കിടയിൽ സ്ട്രീം അവസാനിപ്പിച്ചേക്കാം.
  • നിങ്ങളുടെ SSE റീഡർ കമന്റ് വരികളും ping ഇവന്റുകളും ഒഴിവാക്കട്ടെ. SDK-കൾ ഇത് ഇതിനകം ചെയ്യുന്നു.
  • കണക്ഷൻ വിട്ടുപോകുന്ന നിമിഷം തന്നെ റിക്വസ്റ്റ് വീണ്ടും അയയ്ക്കരുത്. API-യിൽ എത്തിയ റിക്വസ്റ്റ് അവസാനം വരെ പ്രവർത്തിക്കുകയും, കണക്ഷൻ പോയാലും, കണക്കാക്കുകയും ചെയ്യും.
  • ആദ്യം GET /v1/models ഉപയോഗിച്ച് പാത്ത് പരീക്ഷിക്കുക. ഇതിന് കീ ആവശ്യമില്ല, ചെറിയ JSON ലിസ്റ്റ് തിരികെ നൽകുന്നു.

കണക്ഷൻ പ്രശ്നങ്ങൾ

ലക്ഷണം കാരണവും പരിഹാരവും
127.0.0.1:9050 അല്ലെങ്കിൽ 127.0.0.1:4444-ലേക്കുള്ള കണക്ഷൻ നിരസിക്കപ്പെട്ടു നിങ്ങളുടെ മെഷീനിൽ Tor ക്ലയന്റോ I2P റൗട്ടറോ പ്രവർത്തിക്കുന്നില്ല, അല്ലെങ്കിൽ അത് മറ്റൊരു പോർട്ടിൽ കേൾക്കുന്നു. Tor Browser അതിന്റെ SOCKS പ്രോക്സി പോർട്ട് 9150-ൽ നൽകുന്നു.
.onion പേരിന് Could not resolve host ക്ലയന്റ് പേര് സ്വയം റിസോൾവ് ചെയ്യാൻ ശ്രമിച്ചു. cURL-ൽ --socks5-hostname-ഉം പ്രോക്സി URL-ൽ socks5h://-ഉം ഉപയോഗിക്കുക, അങ്ങനെ Tor ക്ലയന്റ് അത് റിസോൾവ് ചെയ്യും.
I2P പ്രോക്സി അതിന്റെ സ്വന്തം എറർ പേജ് നൽകുന്നു റൗട്ടർ ഇതുവരെ വിലാസം കണ്ടെത്തിയിട്ടില്ല. തുടങ്ങിയതിന് ശേഷം റൗട്ടറിന് കുറച്ച് മിനിറ്റ് വേണം. വീണ്ടും ശ്രമിക്കുക.
Missing authentication ഓടെ 401 റിക്വസ്റ്റ് കീ ഇല്ലാതെ എത്തി. ക്ലിയർ വെബിലെ അതേ ഹെഡർ അയയ്ക്കുക.

മറ്റെല്ലാ പിശകുകളും ക്ലിയർ വെബിലെ പോലെ തന്നെയാണ്. എറർ ഹാൻഡ്ലിംഗ്

JavaScript ഇല്ലാതെ നിങ്ങളുടെ കീ

Shannon-ന് JavaScript ഇല്ലാത്ത ഒരു വെബ്സൈറ്റുമുണ്ട്, ക്ലിയർ വെബിലും onion സേവനമായും eepsite ആയും ലഭ്യമാണ്. അതിന്റെ /keys പേജ് നിങ്ങളുടെ API കീ കാണിക്കുകയും മാറ്റാൻ അനുവദിക്കുകയും ചെയ്യുന്നു, അതിനാൽ Tor അല്ലെങ്കിൽ I2P വിടാതെ നിങ്ങൾക്ക് കീ നേടാം. encrypted.shannon-ai.com/keys

ആ വെബ്സൈറ്റിന്റെ മൂന്ന് നെറ്റ്‌വർക്കുകളിലെയും വിലാസങ്ങൾ ഇവിടെ ലിസ്റ്റ് ചെയ്തിട്ടുണ്ട്: എൻക്രിപ്റ്റഡ് ആക്സസ്