Drop-in Replacement
CompatibleOpenAI እና Anthropic SDKs ምስ ይሰርሕ። base URL ብቻ ቀይር።
ኩሎም ቋንቋታት እኩላት እዮም። እቲ ትደሊ ቋንቋ ምረጽ።
OpenAI እና Anthropic ዝተማሓዘ የAI API ምስ function calling, web search, structured outputs.
Shannon ናይ OpenAI/Anthropic ተማሓዘ API ንምጀመር ዘድሊ ኩሉ።
https://api.shannon-ai.com/v1/chat/completions Chat Completions API ምስ function calling እና streaming ተጠቀም።
https://api.shannon-ai.com/v1/messages Claude Messages format ምስ tools እና anthropic-version header።
Authorization: Bearer <api-key> ወይ X-API-Key ምስ anthropic-version ንClaude style calls።
ህዝባዊ ሰነድ - ንcall ቁልፍ ይፈልግ Streaming, function calling, structured outputs, web search.
OpenAI እና Anthropic APIs ን drop-in replacement; tools, structured outputs እና built-in web search ይደግፍ።
OpenAI እና Anthropic SDKs ምስ ይሰርሕ። base URL ብቻ ቀይር።
Tools መግለጺ እቲ Shannon ንዘን ይጠርዕ። auto, forced, none መዋቅር ይደግፍ።
Real-time web search ከ citations ጋር። ብራሱ ይገኛል።
JSON mode እና JSON Schema enforcement ን ተመኪእ ውሂብ ምውጻእ።
Automatic function execution loops. ክሳብ 10 iterations ን እያንዳንዱ request።
Server-sent events ን real-time token streaming።
ብሶስተ መደብ ጀምር። Shannon ናይ OpenAI እና Anthropic clients ይታወን።
OpenAI-compatible endpoint ተጠቀም።
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.
/ti/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 requests ሁሉ ብ Shannon API key ይሕተቱ።
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 ለምስሕት ችግኝ ዝሓሸ reasoning
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Claude Code CLI ን call-based quota ተጠናክሮ
Shannon ን ስራ እና መረጋጋጽ ዝተመደቡ tools ኣቕምጥ።
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" ሞዴል ይውስን እንትጠርዕ ወይ እንተዘይጠርዕ (default) "none" ንዚ request function calling ኣጥፍ {"type": "function", "function": {"name": "..."}} ነቲ ስውር function call ኣስገድድ {
"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 ን schema ዘይትርክብ ትክክለኛ JSON ክመልስ ኣስገድድ።
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 ኣስገድድ (ብዘይ ስኬማ) {"type": "json_schema", "json_schema": {...}} ስኬማኻ ዝሰማማ output ኣስገድድ Server-Sent Events ብ real-time token streaming ን responsive UI ኣብር።
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 ብራሱ ዝግና የ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 format ውን ይደግፍ።
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 OpenAI-compatible API ን community Go client
go get github.com/sashabaranov/go-openai OpenAI-compatible API ን community Ruby client
gem install ruby-openai OpenAI-compatible API ን community PHP client
composer require openai-php/client OpenAI-compatible API ን Async Rust client
cargo add async-openai Shannon መደበኛ HTTP status codes ይጠቀም እና ዝርዝር ሓጋይ መልእኽቲ ይህብ።
{
"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 ሰዓት ይረስት።
API ቁልፍካ ርከብ እና ሎሚ Shannon AI ምስ ጀምር።
ብዙሕ ዝድለዩ: