Dumphani kupita ku zomwe zili
Ma SDK

Ma SDK

SDK iliyonse ya OpenAI kapena Anthropic imagwira ntchito popanda kusintha kulikonse.

Shannon imalankhula ma wire format a OpenAI ndi Anthropic, choncho mumagwiritsa ntchito ma SDK ovomerezeka a onse awiri monga alili. Mumasintha mitengo itatu mu client: base URL, API key ndi model id. Code yanu yonse yotsalayo imakhala yofanana.

Zoyenera kukhazikitsa

Setting OpenAI SDK Anthropic SDK
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API key Kiyi yanu ya Shannon. SDK imaitumiza ngati Authorization: Bearer. Kiyi yanu ya Shannon. SDK imaitumiza ngati x-api-key.
Model Model id yofalitsidwa, mwachitsanzo shannon-3. Model id yofalitsidwa, mwachitsanzo shannon-1.6-lite.
Ma endpoint omwe imafika /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Environment variable OPENAI_API_KEY ndi OPENAI_BASE_URL, zowerengedwa ndi Python ndi JavaScript SDK pamene simupereka mtengo. ANTHROPIC_API_KEY ndi ANTHROPIC_BASE_URL, zowerengedwa ndi Python ndi TypeScript SDK pamene simupereka mtengo.

Ma base URL awiriwa amasiyana ndi /v1: OpenAI SDK imawonjezera /chat/completions ku base URL yake, Anthropic SDK imawonjezera /v1/messages. Dzina la model lomwe Shannon siifalitsa limayankhidwa ndi 400 ndi unknown model. Ma model ndi mitengo

Kiyi yanu ili patsamba la Keys & usage. Keys & usage

OpenAI SDK

Ma OpenAI SDK ovomerezeka amaitana POST /v1/chat/completions ndi POST /v1/responses. Chitsanzo chilichonse chimatumiza message imodzi ya user ndikusindikiza yankho.

# 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)
Chilankhulo Kuyika Option ya base URL Source
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

Field iliyonse ya ma endpoint awiriwa yafotokozedwa pa masamba awo. Chat Completions Responses API

Anthropic SDK

Ma Anthropic SDK ovomerezeka amaitana POST /v1/messages. Amafuna max_tokens pa call iliyonse, kotero zitsanzo zimagwiritsa ntchito shannon-1.6-lite, yomwe imaigwiritsa ntchito. Chitsanzo chilichonse chimasindikiza ma text block a yankho.

# 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)
Chilankhulo Kuyika Option ya base URL Source
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

Mtundu wa Messages ndi kusiyana kwake zili patsamba la Anthropic compatibility. Anthropic

Zomwe ma SDK angadalire

  • Field ya pempho yomwe API siigwiritsa ntchito imalandiridwa. Field yomwe API imadziwa, yotumizidwa ndi type yolakwika, imayankhidwa ndi 422.
  • Ma header a version ndi beta omwe ma SDK amawonjezera (anthropic-version, anthropic-beta, openai-beta) amalandiridwa. Palibe imodzi yomwe ndi yofunika.
  • model ya yankho ndi id yofalitsidwa, kotero mutha kuibweza monga ilili.
  • Pa /v1/messages yankho likhoza kuyamba ndi block ya thinking. Werengani ma block a type text m'malo motenga block yoyamba.
  • Streaming imagwira ntchito kudzera mu ma stream helper a SDK yokha. Usage imafika kumapeto kwa stream iliyonse.
  • Yankho lililonse limanyamula header ya x-request-id. Tumizani x-request-id yanu ndipo mtengo womwewo umabwerera.

Community SDK

Ma client olembedwa pa OpenAI API ndi olemba ena amagwira ntchito chimodzimodzi: patsani client base URL yokhala ndi /v1, kiyi yanu ndi model id ya Shannon. Awa amasamalidwa ndi olemba awo, osati ndi Shannon.

Chilankhulo Kuyika 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

Popanda SDK

Simufuna SDK. HTTP client iliyonse yomwe imatha kutumiza JSON imagwira ntchito:

  • POST ndi body ya JSON ndi header Content-Type: application/json. Popanda iyo pempho limayankhidwa ndi 415.
  • Kiyi yanu mu Authorization: Bearer <key> kapena mu x-api-key: <key>. Zonse ziwiri zimagwira ntchito pa endpoint iliyonse.
  • Body mpaka 32 MiB.
  • Ndi "stream": true yankho ndi stream ya server-sent event (text/event-stream). Liwerengeni mzere ndi mzere ndipo musaliike mu buffer.
  • Cholakwika ndi body ya JSON yokhala ndi error.type ndi error.message, pambali pa 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!"}]
  }'

Pa ma event a stream ndi mitundu ya zolakwika, onani: Kutsitsa nthawi yeniyeni Zolakwika