Drop‑in Replacement
HevahengBi SDK‑ên OpenAI û Anthropic re dixebite. Tenê base URL biguherîne.
Hemû ziman wekhev in. Zimanê ku dixwazî bi kar bînî hilbijêre.
APIya AI-yê ku bi OpenAI û Anthropic re hevaheng e, bi bangkirina fonksiyonan, lêgerîna webê û derketinên strukturkirî.
Hemû tiştên ku pêdivî ye ji bo hilweşandinê bi APIya Shannon a ku bi OpenAI û Anthropic re hevaheng e.
https://api.shannon-ai.com/v1/chat/completions Chat Completions API bi bangkirina fonksiyon û streaming bikar bîne.
https://api.shannon-ai.com/v1/messages Formata Claude Messages bi amûr û headerê anthropic-version.
Authorization: Bearer <api-key> Yan jî X-API-Key bi anthropic-version ji bo bangên şêwazê Claude.
Docsên giştî - ji bo bang kirinê pêdivî bi kilîd e Streaming, bangkirina fonksiyon, derketinên strukturkirî, lêgerîna webê.
Cihgirtina drop‑in ji bo APIyên OpenAI û Anthropic, bi piştgiriya amûran, derketinên strukturkirî û lêgerîna webê ya avakirî.
Bi SDK‑ên OpenAI û Anthropic re dixebite. Tenê base URL biguherîne.
Amûran define bike, Shannon wan dibangîne. Modi auto, forced, none piştgirî dike.
Lêgerîna webê bi demê rast bi jêderan. Otomatîk heye.
Moda JSON û JSON Schema enforcement ji bo derxistina daneyan.
Loopên otomatîk ên xebitandina fonksiyonan. Heta 10 iterasyonan.
Server‑Sent Events ji bo streaming‑a tokenan bi demê rast.
Di sê gavên de dest pê bikin. Shannon mîna klîentên OpenAI û Anthropic dike.
Endpointa hevaheng ya OpenAI bikar bîne.
https://api.shannon-ai.com/v1/chat/completions Di headerê Authorization de Bearer auth bikar bîne.
Ziman hilbijêre û kilîda xwe biguherîne.
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-1.6-lite",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello, Shannon!"}
],
max_tokens=1024
)
print(response.choices[0].message.content) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const response = await client.chat.completions.create({
model: 'shannon-1.6-lite',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Hello, Shannon!' }
],
max_tokens: 1024
});
console.log(response.choices[0].message.content); package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig("YOUR_API_KEY")
config.BaseURL = "https://api.shannon-ai.com/v1"
client := openai.NewClientWithConfig(config)
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "shannon-1.6-lite",
Messages: []openai.ChatCompletionMessage{
{Role: "system", Content: "You are a helpful assistant."},
{Role: "user", Content: "Hello, Shannon!"},
},
MaxTokens: 1024,
},
)
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
} curl -X POST "https://api.shannon-ai.com/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-1.6-lite",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello, Shannon!"}
],
"max_tokens": 1024
}' {
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1234567890,
"model": "Shannon 1.6 Lite",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I'm Shannon, your AI assistant. How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 18,
"total_tokens": 43
}
} Shannon API rasterast di nav geroka xwe de test bike. Daxwazê çêbike, bixebitîne û bersivê bi demê rast bibîne.
Switch across OpenAI Chat Completions, Responses, and Anthropic Messages without leaving the playground.
Run real requests, inspect raw JSON, and view stream events from the same operator console.
Signed-in users can pull their Shannon API key straight into the dedicated playground workspace.
/ku/docs/playground The playground now lives on its own route so the API docs stay Astro-rendered while the request builder remains an explicitly interactive client tool.
Hemû daxwazên API bi kilîta Shannon API pêdivî ye were rastandin.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon gelek modelên ku ji bo cihên bikaranînê cuda hatine optimize kirin pêşkêş dike.
shannon-1.6-lite Shannon 1.6 Lite Bersivên bilez û bandorker ji bo karên rojane
shannon-1.6-pro Shannon 1.6 Pro Rizvanîya pêşkeftî ji bo pirsgirêkên tevlihev
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Ji bo Claude Code CLI bi quota‑ya li ser bangê hate xelat kirin
Amûrên ku Shannon dikare banga wan bike ji bo kirinê an jî wergirtina agahî diyar bikin.
from openai import OpenAI
import json
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1"
)
# Define available tools/functions
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name, e.g., 'Tokyo'"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"]
}
}
}
]
response = client.chat.completions.create(
model="shannon-1.6-lite",
messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
tools=tools,
tool_choice="auto"
)
# Check if model wants to call a function
if response.choices[0].message.tool_calls:
tool_call = response.choices[0].message.tool_calls[0]
print(f"Function: {tool_call.function.name}")
print(f"Arguments: {tool_call.function.arguments}") import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const tools = [
{
type: 'function',
function: {
name: 'get_weather',
description: 'Get current weather for a location',
parameters: {
type: 'object',
properties: {
location: { type: 'string', description: "City name" },
unit: { type: 'string', enum: ['celsius', 'fahrenheit'] }
},
required: ['location']
}
}
}
];
const response = await client.chat.completions.create({
model: 'shannon-1.6-lite',
messages: [{ role: 'user', content: "What's the weather in Tokyo?" }],
tools,
tool_choice: 'auto'
});
if (response.choices[0].message.tool_calls) {
const toolCall = response.choices[0].message.tool_calls[0];
console.log('Function:', toolCall.function.name);
console.log('Arguments:', toolCall.function.arguments);
} "auto" Model biryar dide ku fonksiyon bibe bangkirin an na (default) "none" Ji bo vê daxwazê bangkirina fonksiyonan bigire {"type": "function", "function": {"name": "..."}} Bangkirina fonksiyonekê taybet bipêşîne {
"id": "chatcmpl-xyz",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"location\": \"Tokyo\", \"unit\": \"celsius\"}"
}
}
]
},
"finish_reason": "tool_calls"
}
]
} Shannon bi JSONê derbasdar re bersiv bide ku bi şemayê te re hevaheng e.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1"
)
# Force JSON output with schema
response = client.chat.completions.create(
model="shannon-1.6-lite",
messages=[
{"role": "user", "content": "Extract: John Doe, 30 years old, engineer"}
],
response_format={
"type": "json_schema",
"json_schema": {
"name": "person_info",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"occupation": {"type": "string"}
},
"required": ["name", "age", "occupation"]
}
}
}
)
import json
data = json.loads(response.choices[0].message.content)
print(data) # {"name": "John Doe", "age": 30, "occupation": "engineer"} import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const response = await client.chat.completions.create({
model: 'shannon-1.6-lite',
messages: [
{ role: 'user', content: 'Extract: John Doe, 30 years old, engineer' }
],
response_format: {
type: 'json_schema',
json_schema: {
name: 'person_info',
schema: {
type: 'object',
properties: {
name: { type: 'string' },
age: { type: 'integer' },
occupation: { type: 'string' }
},
required: ['name', 'age', 'occupation']
}
}
}
});
const data = JSON.parse(response.choices[0].message.content);
console.log(data); // { name: "John Doe", age: 30, occupation: "engineer" } {"type": "json_object"} Derketina JSON ya derbasdar mecbûr bike (bê schema taybet) {"type": "json_schema", "json_schema": {...}} Derketina ku bi schema‑ya te ya rastî re têkçûyî ye mecbûr bike Ji bo UI yên bersivdar, streaming‑a tokena dem‑rast bi Server‑Sent Events çalak bikin.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1"
)
# Enable streaming for real-time responses
stream = client.chat.completions.create(
model="shannon-1.6-lite",
messages=[
{"role": "user", "content": "Write a short poem about AI"}
],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
// Enable streaming for real-time responses
const stream = await client.chat.completions.create({
model: 'shannon-1.6-lite',
messages: [
{ role: 'user', content: 'Write a short poem about AI' }
],
stream: true
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) process.stdout.write(content);
} Shannon tê de web_search‑a hundirîn heye ku bi awayek otomatik peyda ye.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1"
)
# Web search is automatically available!
# Shannon will use it when needed for current information
response = client.chat.completions.create(
model="shannon-1.6-lite",
messages=[
{"role": "user", "content": "What are the latest AI news today?"}
],
# Optionally, explicitly define web_search tool
tools=[{
"type": "function",
"function": {
"name": "web_search",
"description": "Search the web for current information",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Search query"}
},
"required": ["query"]
}
}
}]
)
print(response.choices[0].message.content)
# Response includes sources and citations import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
// Web search is automatically available!
// Shannon will use it when needed for current information
const response = await client.chat.completions.create({
model: 'shannon-1.6-lite',
messages: [
{ role: 'user', content: 'What are the latest AI news today?' }
],
// Optionally, explicitly define web_search tool
tools: [{
type: 'function',
function: {
name: 'web_search',
description: 'Search the web for current information',
parameters: {
type: 'object',
properties: {
query: { type: 'string', description: 'Search query' }
},
required: ['query']
}
}
}]
});
console.log(response.choices[0].message.content);
// Response includes sources and citations Shannon formatê Anthropic Messages API jî piştgirî dike.
https://api.shannon-ai.com/v1/messages import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/messages"
)
response = client.messages.create(
model="shannon-1.6-lite",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Shannon!"}
],
# Tool use (Anthropic format)
tools=[{
"name": "web_search",
"description": "Search the web",
"input_schema": {
"type": "object",
"properties": {
"query": {"type": "string"}
},
"required": ["query"]
}
}]
)
print(response.content[0].text) import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/messages'
});
const response = await client.messages.create({
model: 'shannon-1.6-lite',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
],
// Tool use (Anthropic format)
tools: [{
name: 'web_search',
description: 'Search the web',
input_schema: {
type: 'object',
properties: {
query: { type: 'string' }
},
required: ['query']
}
}]
});
console.log(response.content[0].text); Her SDK‑a OpenAI an Anthropic bikar bînin — tenê base URL biguherînin.
SDK‑a fermî ya OpenAI Python - bi Shannon re dixebite
pip install openai SDK‑a fermî ya OpenAI Node.js - bi Shannon re dixebite
npm install openai Klienta komînî ya Go ji bo API‑ên OpenAI‑hevaheng
go get github.com/sashabaranov/go-openai Klienta komînî ya Ruby ji bo API‑ên OpenAI‑hevaheng
gem install ruby-openai Klienta komînî ya PHP ji bo API‑ên OpenAI‑hevaheng
composer require openai-php/client Klienta Async Rust ji bo API‑ên OpenAI‑hevaheng
cargo add async-openai SDK‑a fermî ya Anthropic Python - bi Shannon re dixebite
pip install anthropic SDK‑a fermî ya Anthropic TypeScript - bi Shannon re dixebite
npm install @anthropic-ai/sdk Shannon kodên standard ên rewşa HTTP bikar tîne û peyamên çewtiyê yên detaydar vedigere.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Nûvekirin û baştirinên nêzîk li Shannon API.
YOUR_API_KEY Kilîda API‑a xwe nepênûsîne. Dîsa çêkirin kilîdek nû çêdike û kevn radesîne.
Dema ku têketî yî, li vê rûpelê xercê token û lêgerînê bibîne.
Quota ya li ser bang ji bo Shannon Coder (shannon-coder-1). Her 4 saetan reset dibe.
Kilîta API‑ya xwe bistîne û îro bi Shannon AI re avakirinê dest pê bike.
Lêgerînên populer: