ವಿಷಯಕ್ಕೆ ಹೋಗಿ
ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ, 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)

ಸ್ಟ್ರೀಮಿಂಗ್ ಎರಡೂ ನೆಟ್‌ವರ್ಕ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. stream ತೆರೆದಿದ್ದು ಮಾಡೆಲ್ ಇನ್ನೂ ಕಳುಹಿಸಲು ಏನೂ ಇಲ್ಲದಿದ್ದಾಗ, API keep-alive ಕಳುಹಿಸುತ್ತದೆ, ಇದರಿಂದ ಸಂಪರ್ಕ ಪ್ರಾಕ್ಸಿಗೆ ಅಥವಾ ನಿಮ್ಮ ಕ್ಲೈಂಟ್‌ಗೆ ಸತ್ತಂತೆ ಕಾಣುವುದಿಲ್ಲ.

ಎಂಡ್‌ಪಾಯಿಂಟ್ ತೆರೆದ ಸ್ಟ್ರೀಮ್‌ನಲ್ಲಿ ಕೀಪ್-ಅಲೈವ್ ಯಾರಿಗಾಗಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ
/v1/chat/completions ಪ್ರತಿ 15 ಸೆಕೆಂಡ್‌ಗೆ ಕಾಮೆಂಟ್ ಸಾಲು (ಅದು : ನಿಂದ ಆರಂಭವಾಗುತ್ತದೆ). ಎಲ್ಲಾ ಮಾಡೆಲ್‌ಗಳು
/v1/messages ಪ್ರತಿ 15 ಸೆಕೆಂಡ್‌ಗೆ event: ping, ಅಥವಾ ಕಾಮೆಂಟ್ ಸಾಲು. ಎಲ್ಲಾ ಮಾಡೆಲ್‌ಗಳು
/v1/responses ಪ್ರತಿ 15 ಸೆಕೆಂಡ್‌ಗೆ ಕಾಮೆಂಟ್ ಸಾಲು. ಹೋಸ್ಟ್ ಮಾಡಿದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು
  • "stream": true ಕಳುಹಿಸಿ. stream ಮಾಡಿದ ಉತ್ತರ ಮಾಡೆಲ್ ಬರೆದ ಕೂಡಲೇ ಬರಲು ಆರಂಭಿಸುತ್ತದೆ, ಮತ್ತು keep-alive ವಿನಂತಿಯ ಮೇಲೆ ಇನ್ನೂ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. stream ಮಾಡದ ಉತ್ತರ ಇಡೀ ಉತ್ತರ ಸಿದ್ಧವಾಗುವವರೆಗೆ ಏನನ್ನೂ ಕಳುಹಿಸುವುದಿಲ್ಲ.
  • ಕ್ಲೈಂಟ್‌ಗೆ ಉದ್ದವಾದ read timeout ನೀಡಿ. ಮಾದರಿಗಳು 600 ಸೆಕೆಂಡ್ ಬಳಸುತ್ತವೆ. 15 ಸೆಕೆಂಡ್‌ಗಿಂತ ಚಿಕ್ಕ timeout ಎರಡು keep-alive ಗಳ ನಡುವೆ stream ಅನ್ನು ಕೊನೆಗೊಳಿಸಬಹುದು.
  • ನಿಮ್ಮ 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 ಕ್ಲೈಂಟ್ ಹೆಸರನ್ನು ತಾನೇ ಪರಿಹರಿಸಲು ಪ್ರಯತ್ನಿಸಿತು. Tor ಕ್ಲೈಂಟ್ ಅದನ್ನು ಪರಿಹರಿಸುವಂತೆ cURL ನಲ್ಲಿ --socks5-hostname ಮತ್ತು ಪ್ರಾಕ್ಸಿ URL ನಲ್ಲಿ socks5h:// ಬಳಸಿ.
I2P ಪ್ರಾಕ್ಸಿ ತನ್ನದೇ ದೋಷ ಪುಟದೊಂದಿಗೆ ಉತ್ತರಿಸುತ್ತದೆ ರೂಟರ್‌ಗೆ ಇನ್ನೂ ವಿಳಾಸ ಸಿಕ್ಕಿಲ್ಲ. ರೂಟರ್ ಆರಂಭವಾದ ನಂತರ ಕೆಲವು ನಿಮಿಷ ಬೇಕು. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.
Missing authentication ಜೊತೆ 401 ವಿನಂತಿ ಕೀ ಇಲ್ಲದೆ ಬಂದಿತು. ಕ್ಲಿಯರ್ ವೆಬ್‌ನಲ್ಲಿರುವ ಅದೇ ಹೆಡರ್ ಕಳುಹಿಸಿ.

ಉಳಿದ ಪ್ರತಿ ದೋಷ ಕ್ಲಿಯರ್ ವೆಬ್‌ನಲ್ಲಿರುವಂತೆಯೇ ಇದೆ. ದೋಷ ನಿರ್ವಹಣೆ

JavaScript ಇಲ್ಲದೆ ನಿಮ್ಮ ಕೀ

Shannon JavaScript ಇಲ್ಲದ ವೆಬ್‌ಸೈಟ್ ಅನ್ನೂ ಹೊಂದಿದೆ, ಅದನ್ನು ಕ್ಲಿಯರ್ ವೆಬ್‌ನಲ್ಲಿ, onion ಸೇವೆಯಾಗಿ ಮತ್ತು eepsite ಆಗಿ ತಲುಪಬಹುದು. ಅದರ /keys ಪುಟ ನಿಮ್ಮ API ಕೀಯನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಬದಲಾಯಿಸಲು ಬಿಡುತ್ತದೆ, ಆದ್ದರಿಂದ Tor ಅಥವಾ I2P ಬಿಡದೆ ಕೀ ಪಡೆಯಬಹುದು. encrypted.shannon-ai.com/keys

ಆ ವೆಬ್‌ಸೈಟ್‌ನ ಮೂರೂ ನೆಟ್‌ವರ್ಕ್‌ಗಳ ವಿಳಾಸಗಳನ್ನು ಇಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ: ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಪ್ರವೇಶ