Amnewid drop‑in
CydnawsYn gweithio gyda SDK OpenAI ac Anthropic. Newidiwch yr URL sylfaen yn unig.
Mae pob iaith yn gyfartal. Dewiswch yr un rydych am bori ynddi.
API AI cydnaws â OpenAI ac Anthropic gyda galwadau swyddogaeth, chwilio gwe a allbynnau strwythuredig.
Popeth sydd ei angen i lansio gyda API cydnaws OpenAI ac Anthropic Shannon.
https://api.shannon-ai.com/v1/chat/completions Use the Chat Completions API with function calling and streaming.
https://api.shannon-ai.com/v1/messages Claude Messages format with tools and anthropic-version header.
Authorization: Bearer <api-key> Or X-API-Key with anthropic-version for Claude-style calls.
Public docs - Key required to call Streaming, function calling, structured outputs, web search.
Disodli uniongyrchol i OpenAI ac Anthropic gyda chefnogaeth frodorol i offer, allbynnau strwythuredig a chwilio gwe adeiledig.
Yn gweithio gyda SDK OpenAI ac Anthropic. Newidiwch yr URL sylfaen yn unig.
Diffiniwch offer, gadewch i Shannon eu galw. Yn cefnogi moddau auto, forced a none.
Chwiliad gwe amser real gyda dyfyniadau ffynonellau. Ar gael yn awtomatig.
Modd JSON a gorfodi JSON Schema ar gyfer tynnu data dibynadwy.
Dolennu gweithrediad swyddogaeth awtomatig. Hyd at 10 iteriad fesul cais.
Server‑sent events ar gyfer ffrydio token amser real.
Dechreuwch mewn tri cham. Mae Shannon yn efelychu cleientiaid OpenAI ac Anthropic.
Defnyddiwch endpoint sy’n gydnaws ag OpenAI.
https://api.shannon-ai.com/v1/chat/completions Defnyddiwch Bearer auth yn y pennawd Authorization.
Dewiswch iaith a rhowch eich allwedd.
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
}
} Profi API Shannon yn uniongyrchol yn eich porwr. Adeiladwch y cais, rhedwch ef, a gweld yr ymateb mewn amser real.
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.
/cy/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.
Mae pob cais API yn gofyn am ddilysu gan ddefnyddio eich allwedd API Shannon.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Mae Shannon yn cynnig sawl model wedi'u optimeiddio ar gyfer gwahanol achosion defnydd.
shannon-1.6-lite Shannon 1.6 Lite Fast, efficient responses for everyday tasks
shannon-1.6-pro Shannon 1.6 Pro Advanced reasoning for complex problems
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Optimized for Claude Code CLI with call-based quota
Diffiniwch offer y gall Shannon eu galw i gyflawni gweithredoedd neu adfer gwybodaeth.
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 decides whether to call a function (default) "none" Disable function calling for this request {"type": "function", "function": {"name": "..."}} Force a specific 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"
}
]
} Gorfodwch Shannon i ymateb gyda JSON dilys sy'n cyfateb i'ch sgema.
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"} Force valid JSON output (no specific schema) {"type": "json_schema", "json_schema": {...}} Force output matching your exact schema Galluogi ffrydio tocynnau amser real gyda Server‑Sent Events ar gyfer UI ymatebol.
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);
} Mae Shannon yn cynnwys swyddogaeth web_search adeiledig sydd ar gael yn awtomatig.
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 Mae Shannon hefyd yn cefnogi fformat Messages API 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); Defnyddiwch unrhyw SDK OpenAI neu Anthropic — dim ond newid yr URL sylfaenol.
Official OpenAI Python SDK - works with Shannon
pip install openai Official OpenAI Node.js SDK - works with Shannon
npm install openai Community Go client for OpenAI-compatible APIs
go get github.com/sashabaranov/go-openai Community Ruby client for OpenAI-compatible APIs
gem install ruby-openai Community PHP client for OpenAI-compatible APIs
composer require openai-php/client Async Rust client for OpenAI-compatible APIs
cargo add async-openai Official Anthropic Python SDK - works with Shannon
pip install anthropic Official Anthropic TypeScript SDK - works with Shannon
npm install @anthropic-ai/sdk Mae Shannon yn defnyddio codau statws HTTP safonol ac yn dychwelyd negeseuon gwall manwl.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Diweddariadau a gwelliannau diweddar i API Shannon.
YOUR_API_KEY Cadwch eich API key yn gyfrinachol. Mae ad‑genhedlu’n creu allwedd newydd ac yn annilysu’r hen un.
View token and search consumption on this page when signed in to your account.
Cwota seiliedig ar alwadau ar gyfer Shannon Coder (shannon-coder-1). Yn ailosod bob 4 awr.
Cael eich allwedd API a dechrau adeiladu gyda Shannon AI heddiw.
Chwiliadau poblogaidd: