Drop-in replacement
МувофиқБо OpenAI ва Anthropic SDK кор мекунад. Танҳо base URL-ро иваз кунед.
Ҳама забонҳо баробаранд. Забонеро интихоб кунед, ки мехоҳед истифода баред.
API-и AI-и мувофиқи OpenAI ва Anthropic бо function calling, web search ва structured outputs.
Ҳама чиз барои оғоз бо API-и мувофиқи OpenAI ва Anthropic-и Shannon.
https://api.shannon-ai.com/v1/chat/completions Chat Completions API-ро бо function calling ва streaming истифода баред.
https://api.shannon-ai.com/v1/messages Формати Claude Messages бо tools ва header-и anthropic-version.
Authorization: Bearer <api-key> Ё X-API-Key бо anthropic-version барои даъватҳои Claude style.
Ҳуҷҷатҳои умумӣ - барои call кардан калид лозим Streaming, function calling, structured outputs, web search.
Drop-in replacement барои OpenAI ва Anthropic API; tools, structured outputs ва built-in web search дастгирӣ мешавад.
Бо OpenAI ва Anthropic SDK кор мекунад. Танҳо base URL-ро иваз кунед.
Tools-ро муайян кунед, ба Shannon иҷозат диҳед, ки онҳоро даъват кунад. auto, forced, none режимҳо дастгирӣ мешаванд.
Веб ҷустуҷӯи вақти воқеӣ бо cited sources. Автоматӣ дастрас аст.
JSON mode ва JSON Schema enforce барои extraction-и боэътимод.
Function execution loops-и автоматӣ. То 10 iteration барои ҳар request.
Server-sent events барои real-time token streaming.
Дар се қадам оғоз кунед. Shannon OpenAI ва Anthropic clients-ро инъикос мекунад.
Endpoint-и OpenAI-compatible-ро истифода баред.
https://api.shannon-ai.com/v1/chat/completions Дар Authorization header Bearer auth истифода баред.
Забон интихоб кунед ва калиди худро иваз кунед.
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-ро бевосита дар браузер санҷед. Дархост созед, иҷро кунед ва ҷавобро дар вақти воқеӣ бинед.
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.
/tg/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.
Ҳамаи API request-ҳо бо калиди Shannon API аутентификатсия мешаванд.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon якчанд моделро барои истифодаҳои гуногун пешниҳод мекунад.
shannon-1.6-lite Shannon 1.6 Lite Ҷавобҳои зуд ва самаранок барои корҳои ҳаррӯза
shannon-1.6-pro Shannon 1.6 Pro Разумгардонии пешрафта барои масъалаҳои мураккаб
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Барои Claude Code CLI бо call-based quota оптимизатсия шудааст
Tools-ро муайян кунед, ки Shannon онҳоро барои иҷрои амал ё гирифтани маълумот даъват кунад.
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" Модел худаш қарор медиҳад, function-ро даъват кунад ё не (default) "none" Function calling-ро барои ин request хомӯш кунед {"type": "function", "function": {"name": "..."}} Function-ро маҷбурӣ даъват кунед {
"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-ро маҷбур кунед, JSON-и дуруст мувофиқи schema-и шумо баргардонад.
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"} Valid JSON output-ро маҷбур кунед (бе schema-и мушаххас) {"type": "json_schema", "json_schema": {...}} Output-и мувофиқи schema-и дақиқи шумо Барои UI-и вокунишгар Server-Sent Events бо real-time token streaming фаъол кунед.
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 дорои function-и web_search мебошад, ки автоматӣ дастрас аст.
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 формати Anthropic Messages API-ро низ дастгирӣ мекунад.
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); Ҳар гуна OpenAI ё Anthropic SDK-ро истифода баред — танҳо base URL-ро иваз кунед.
Official OpenAI Python SDK — бо Shannon кор мекунад
pip install openai Official OpenAI Node.js SDK — бо Shannon кор мекунад
npm install openai Community Go client барои OpenAI-compatible API
go get github.com/sashabaranov/go-openai Community Ruby client барои OpenAI-compatible API
gem install ruby-openai Community PHP client барои OpenAI-compatible API
composer require openai-php/client Async Rust client барои OpenAI-compatible API
cargo add async-openai Official Anthropic Python SDK — бо Shannon кор мекунад
pip install anthropic Official Anthropic TypeScript SDK — бо Shannon кор мекунад
npm install @anthropic-ai/sdk Shannon стандартҳои HTTP status code-ро истифода мебарад ва хатогиҳои муфассал бармегардонад.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Навсозиҳо ва беҳбудҳои охирини Shannon API.
YOUR_API_KEY Калиди API-и худро махфӣ нигоҳ доред. Regenerate калиди нав эҷод карда, кӯҳнаро беэътибор мекунад.
Ҳангоми воридшавӣ дар ин саҳифа истифодаи token ва search-ро бинед.
Call-based quota барои Shannon Coder (shannon-coder-1). Ҳар 4 соат reset мешавад.
Калиди API-и худро гиред ва имрӯз бо Shannon AI оғоз кунед.
Ҷустуҷӯҳои маъмул: