Drop‑in‑vervanging
VersoenbaarWerk met OpenAI en Anthropic SDK's. Verander net die basis‑URL.
Alle tale is gelyk. Kies die een waarin jy wil blaai.
OpenAI- en Anthropic-compatibele AI-API met funksie-oproepe, websoektog en gestruktureerde uitvoer.
Alles wat jy nodig het om te stuur met Shannon se OpenAI- en Anthropic-compatibele API.
https://api.shannon-ai.com/v1/chat/completions Gebruik die Chat Completions API met funksie-aanroepe en streaming.
https://api.shannon-ai.com/v1/messages Claude Messages-formaat met gereedskap en anthropic-version-opskrif.
Authorization: Bearer <api-key> Of X-API-Key met anthropic-version vir Claude-styl oproepe.
Publieke dokumentasie - Sleutel benodig vir oproepe Streaming, funksie-aanroepe, gestruktureerde uitsette, websoek.
Inruilvervanger vir OpenAI- en Anthropic-API's met ingeboude ondersteuning vir gereedskap, gestruktureerde uitvoer en ingeboude websoektog.
Werk met OpenAI en Anthropic SDK's. Verander net die basis‑URL.
Definieer gereedskap; laat Shannon dit aanroep. Ondersteun auto-, forced- en none‑modusse.
Regstreekse websoek met bronverwysings. Outomaties beskikbaar.
JSON‑modus en afdwinging van JSON‑skema vir betroubare data‑onttrekking.
Outomatiese funksie‑uitvoerlusse. Tot 10 iterasies per versoek.
Server‑sent events vir regstreekse token‑stroming.
Begin in drie stappe. Shannon weerspieël OpenAI- en Anthropic‑kliënte.
Gebruik die OpenAI‑versoenbare eindpunt.
https://api.shannon-ai.com/v1/chat/completions Gebruik Bearer‑outentisering in die Authorization‑kop.
Kies ’n taal en plaas jou sleutel.
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
}
} Toets die Shannon API direk in jou blaaier. Bou jou versoek, voer dit uit en sien die antwoord in regstreekse tyd.
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.
/af/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.
Alle API-versoeke vereis verifikasie met jou Shannon API-sleutel.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon bied verskeie modelle geoptimaliseer vir verskillende gebruiksgevalle.
shannon-1.6-lite Shannon 1.6 Lite Vinnige, doeltreffende antwoorde vir alledaagse take
shannon-1.6-pro Shannon 1.6 Pro Gevorderde redenasie vir komplekse probleme
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Geoptimaliseer vir Claude Code CLI met oproep-gebaseerde kwota
Definieer gereedskap wat Shannon kan aanroep om aksies uit te voer of inligting te verkry.
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 besluit of n funksie geroep moet word (verstek) "none" Skakel funksie-aanroepe vir hierdie versoek af {"type": "function", "function": {"name": "..."}} Forseer n spesifieke funksie-oproep {
"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"
}
]
} Dwing Shannon om met geldige JSON te antwoord wat by jou skema pas.
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"} Forseer geldige JSON-uitset (geen spesifieke skema) {"type": "json_schema", "json_schema": {...}} Forseer uitset wat by jou presiese skema pas Aktiveer regstreekse token-stroming met Server-Sent Events vir responsiewe UI's.
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 sluit 'n ingeboude web_search-funksie in wat outomaties beskikbaar is.
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 ondersteun ook Anthropic se Messages API-formaat.
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); Gebruik enige OpenAI- of Anthropic-SDK — verander net die basis-URL.
Amptelike OpenAI Python SDK - werk met Shannon
pip install openai Amptelike OpenAI Node.js SDK - werk met Shannon
npm install openai Gemeenskaps-Go-kliënt vir OpenAI-versoenbare APIs
go get github.com/sashabaranov/go-openai Gemeenskaps-Ruby-kliënt vir OpenAI-versoenbare APIs
gem install ruby-openai Gemeenskaps-PHP-kliënt vir OpenAI-versoenbare APIs
composer require openai-php/client Asinchroniese Rust-kliënt vir OpenAI-versoenbare APIs
cargo add async-openai Amptelike Anthropic Python SDK - werk met Shannon
pip install anthropic Amptelike Anthropic TypeScript SDK - werk met Shannon
npm install @anthropic-ai/sdk Shannon gebruik standaard HTTP‑statuskodes en gee gedetailleerde foutboodskappe terug.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Onlangse opdaterings en verbeterings aan die Shannon API.
YOUR_API_KEY Hou jou API‑sleutel geheim. Hergenereer skep ’n nuwe sleutel en maak die oue ongeldig.
Sien token- en soekverbruik op hierdie bladsy wanneer jy by jou rekening aangemeld is.
Oproep‑gebaseerde kwota vir Shannon Coder (shannon-coder-1). Stel terug elke 4 uur.
Kry jou API-sleutel en begin vandag met Shannon AI bou.
Gewilde soektogte: