Penggantian Drop-in
serasiBerfungsi dengan OpenAI dan SDK Anthropic. Hanya tukar URL asas.
Semua bahasa adalah sama. Pilih yang ingin anda semak imbas.
API AI serasi OpenAI & Anthropic dengan panggilan fungsi, carian web dan output berstruktur.
Semua yang anda perlukan untuk dihantar dengan OpenAI Shannon dan API serasi Anthropic.
https://api.shannon-ai.com/v1/chat/completions Gunakan API Penyiapan Sembang dengan panggilan fungsi dan penstriman.
https://api.shannon-ai.com/v1/messages Format Claude Messages dengan alat dan pengepala versi antropik.
Keizinan: Pembawa <kunci-anda> Atau X-API-Key dengan versi antropik untuk panggilan gaya Claude.
Dokumen awam - Kunci diperlukan untuk membuat panggilan Penstriman, panggilan fungsi, output berstruktur, carian web.
Penggantian drop-in untuk OpenAI dan API Anthropic dengan sokongan asli untuk alatan, output berstruktur dan carian web terbina dalam.
Berfungsi dengan OpenAI dan SDK Anthropic. Hanya tukar URL asas.
Tentukan alatan, biarkan Shannon memanggilnya. Menyokong mod auto, paksa dan tiada.
Carian web masa nyata dengan petikan sumber. Tersedia secara automatik.
JSON mod dan JSON Penguatkuasaan skema untuk pengekstrakan data yang boleh dipercayai.
Gelung perlaksanaan fungsi automatik. Sehingga 10 lelaran setiap permintaan.
Acara yang dihantar pelayan untuk penstriman token masa nyata.
Mulakan dalam tiga langkah. Shannon mencerminkan pelanggan OpenAI dan Anthropic.
Gunakan titik akhir yang serasi dengan OpenAI.
https://api.shannon-ai.com/v1/chat/completions Gunakan pengesahan Pembawa dalam pengepala Kebenaran.
Pilih bahasa dan tukar kunci anda.
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
}
} Uji API Shannon secara langsung dalam penyemak imbas anda. Bina permintaan anda, jalankan dan lihat respons dalam masa nyata.
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.
/ms/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.
Semua permintaan API memerlukan pengesahan menggunakan kunci API Shannon anda.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon menawarkan berbilang model yang dioptimumkan untuk kes penggunaan yang berbeza.
shannon-1.6-lite Shannon 1.6 Lite Respons yang pantas dan cekap untuk tugasan harian
shannon-1.6-pro Shannon 1.6 Pro Penaakulan lanjutan untuk masalah yang kompleks
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Dioptimumkan untuk Claude Code CLI dengan kuota berasaskan panggilan
Tentukan alat yang boleh dipanggil oleh Shannon untuk melakukan tindakan atau mendapatkan maklumat.
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 memutuskan sama ada untuk memanggil fungsi (lalai) "none" Lumpuhkan fungsi panggilan untuk permintaan ini {"type": "function", "function": {"name": "..."}} Paksa panggilan fungsi tertentu {
"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"
}
]
} Paksa Shannon untuk membalas dengan JSON yang sah yang sepadan dengan skema anda.
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"} Paksa keluaran JSON yang sah (tiada skema khusus) {"type": "json_schema", "json_schema": {...}} Paksa output sepadan dengan skema tepat anda Dayakan penstriman token masa nyata dengan Acara Dihantar Pelayan untuk UI responsif.
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 termasuk fungsi carian web terbina dalam yang tersedia secara automatik.
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 juga menyokong format API Mesej Anthropic.
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); Gunakan mana-mana OpenAI atau SDK Anthropic - cuma tukar URL asas.
SDK Python OpenAI rasmi - berfungsi dengan Shannon
pip install openai SDK OpenAI Node.js Rasmi - berfungsi dengan Shannon
npm install openai Pelanggan Community Go untuk API serasi OpenAI
go get github.com/sashabaranov/go-openai Pelanggan Ruby Komuniti untuk API serasi OpenAI
gem install ruby-openai Pelanggan PHP komuniti untuk API serasi OpenAI
composer require openai-php/client Pelanggan Async Rust untuk API serasi OpenAI
cargo add async-openai SDK Python Anthropic Rasmi - berfungsi dengan Shannon
pip install anthropic Official Anthropic TypeScript SDK - berfungsi dengan Shannon
npm install @anthropic-ai/sdk Shannon menggunakan kod status HTTP standard dan mengembalikan mesej ralat terperinci.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Kemas kini dan peningkatan terkini pada API Shannon.
YOUR_API_KEY Rahsiakan kunci API anda. Menjana semula mencipta kunci baharu dan membatalkan yang lama.
Lihat token dan penggunaan carian pada halaman ini apabila log masuk ke akaun anda.
Kuota berasaskan panggilan untuk Shannon Coder (shannon-coder-1). Diset semula setiap 4 jam.
Dapatkan kunci API anda dan mula membina dengan Shannon AI hari ini.
Carian popular: