എൻക്രിപ്റ്റഡ്, 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-Locationonion വിലാസവുംX-I2P-LocationI2P വിലാസവും വഹിക്കുന്നു. onion വിലാസംshannonഎന്ന് തുടങ്ങുന്നു.
ഏതൊക്കെ റൂട്ടുകൾ പ്രവർത്തിക്കുന്നു
ഓരോ /v1 റൂട്ടും നാല് വിലാസങ്ങളിലും മറുപടി നൽകുന്നു:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /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 പേര് ആ പ്രോക്സിക്ക് കൈമാറുന്നു.
# 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 പേര് അതേപടി സ്വീകരിക്കുന്നു.
# 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) # 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) വേഗം കുറഞ്ഞ ലിങ്കുകളിൽ സ്ട്രീമിംഗും കീപ്-എലൈവും
രണ്ട് നെറ്റ്വർക്കുകളിലും സ്ട്രീമിംഗ് പ്രവർത്തിക്കുന്നു. സ്ട്രീം തുറന്നിരിക്കുകയും മോഡലിന് അയയ്ക്കാൻ ഒന്നുമില്ലാതിരിക്കുകയും ചെയ്യുമ്പോൾ, 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
ആ വെബ്സൈറ്റിന്റെ മൂന്ന് നെറ്റ്വർക്കുകളിലെയും വിലാസങ്ങൾ ഇവിടെ ലിസ്റ്റ് ചെയ്തിട്ടുണ്ട്: എൻക്രിപ്റ്റഡ് ആക്സസ്