Ruka hadi kwenye maudhui
SDK

SDK

SDK yoyote ya OpenAI au Anthropic inafanya kazi bila marekebisho.

Shannon inatumia wire formats za OpenAI na Anthropic, kwa hiyo unatumia SDK rasmi za zote mbili kama zilivyo. Unabadilisha thamani tatu kwenye client: base URL, API key na model id. Code yako nyingine inabaki ile ile.

Cha kuweka

Mpangilio SDK za OpenAI SDK za Anthropic
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API key Key yako ya Shannon. SDK huituma kama Authorization: Bearer. Key yako ya Shannon. SDK huituma kama x-api-key.
Model Model id iliyochapishwa, kwa mfano shannon-3. Model id iliyochapishwa, kwa mfano shannon-1.6-lite.
Endpoint inazofikia /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Environment variables OPENAI_API_KEY na OPENAI_BASE_URL, zinazosomwa na SDK za Python na JavaScript usipopitisha thamani. ANTHROPIC_API_KEY na ANTHROPIC_BASE_URL, zinazosomwa na SDK za Python na TypeScript usipopitisha thamani.

Base URL hizo mbili hutofautiana kwa /v1: SDK ya OpenAI huongeza /chat/completions kwenye base URL yake, SDK ya Anthropic huongeza /v1/messages. Jina la model ambalo Shannon haichapishi hujibiwa kwa 400 na unknown model. Model na bei

Key yako iko kwenye ukurasa wa Keys na matumizi. Keys na matumizi

SDK za OpenAI

SDK rasmi za OpenAI huita POST /v1/chat/completions na POST /v1/responses. Kila mfano hutuma ujumbe mmoja wa user na kuchapisha jibu.

# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[{"role": "user", "content": "Hello, Shannon!"}],
)
print(response.choices[0].message.content)
Lugha Sakinisha Chaguo la base URL Chanzo
Python pip install openai base_url openai/openai-python
JavaScript / TypeScript npm install openai baseURL openai/openai-node
Go go get github.com/openai/openai-go/v3 option.WithBaseURL openai/openai-go
Java com.openai:openai-java baseUrl openai/openai-java
.NET dotnet add package OpenAI OpenAIClientOptions.Endpoint openai/openai-dotnet

Kila field ya endpoint hizo mbili imeelezwa kwenye kurasa zake. Chat Completions Responses API

SDK za Anthropic

SDK rasmi za Anthropic huita POST /v1/messages. Zinahitaji max_tokens kwenye kila wito, kwa hiyo mifano inatumia shannon-1.6-lite, ambayo huitumia. Kila mfano huchapisha blocks za maandishi za jibu.

# pip install anthropic
import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com",
)

message = client.messages.create(
    model="shannon-1.6-lite",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Shannon!"}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)
Lugha Sakinisha Chaguo la base URL Chanzo
Python pip install anthropic base_url anthropics/anthropic-sdk-python
TypeScript npm install @anthropic-ai/sdk baseURL anthropics/anthropic-sdk-typescript
Go go get github.com/anthropics/anthropic-sdk-go option.WithBaseURL anthropics/anthropic-sdk-go
Java com.anthropic:anthropic-java baseUrl anthropics/anthropic-sdk-java

Umbizo la Messages na tofauti zake ziko kwenye ukurasa wa ulinganifu wa Anthropic. Anthropic

Kile SDK zinaweza kutegemea

  • Field ya ombi ambayo API haitumii inakubaliwa. Field ambayo API inaijua, ikitumwa kwa aina isiyo sahihi, hujibiwa kwa 422.
  • Headers za toleo na beta ambazo SDK huongeza (anthropic-version, anthropic-beta, openai-beta) zinakubaliwa. Hakuna hata moja inayohitajika.
  • model ya jibu ni id iliyochapishwa, kwa hiyo unaweza kuirudisha kama ilivyo.
  • Kwenye /v1/messages jibu linaweza kuanza na block ya thinking. Soma blocks za aina text badala ya kuchukua block ya kwanza.
  • Streaming inafanya kazi kupitia stream helpers za SDK yenyewe. Usage hufika mwishoni mwa kila stream.
  • Kila jibu hubeba header ya x-request-id. Tuma x-request-id yako mwenyewe na thamani ile ile inarudi.

SDK za jamii

Clients zilizoandikwa kwa OpenAI API na waandishi wengine hufanya kazi kwa njia ile ile: ipe client base URL pamoja na /v1, key yako na model id ya Shannon. Hizi zinatunzwa na waandishi wao, si na Shannon.

Lugha Sakinisha Client
Go go get github.com/sashabaranov/go-openai sashabaranov/go-openai
Ruby gem install ruby-openai alexrudall/ruby-openai
PHP composer require openai-php/client openai-php/client
Rust cargo add async-openai 64bit/async-openai

Bila SDK

Huhitaji SDK. HTTP client yoyote inayoweza kutuma JSON inafanya kazi:

  • POST yenye mwili wa JSON na header Content-Type: application/json. Bila hiyo ombi hujibiwa kwa 415.
  • Key yako kwenye Authorization: Bearer <key> au kwenye x-api-key: <key>. Zote mbili zinafanya kazi kwenye kila endpoint.
  • Mwili wa hadi 32 MiB.
  • Kwa "stream": true jibu ni stream ya server-sent events (text/event-stream). Isome mstari kwa mstari na usiihifadhi kwenye buffer.
  • Kosa ni mwili wa JSON wenye error.type na error.message, kando ya HTTP status.
curl https://api.shannon-ai.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-3",
    "messages": [{"role": "user", "content": "Hello, Shannon!"}]
  }'

Kwa matukio ya stream na aina za makosa, tazama: Kutiririsha Ushughulikiaji wa Makosa