Sostituzzjoni drop-in
KompatibbliJaħdem ma' SDKs OpenAI u Anthropic. Ibdel biss il-base URL.
Il-lingwi kollha huma ugwali. Agħżel dik li trid tuża.
API ta' AI kompatibbli ma' OpenAI u Anthropic b'sejħiet ta' funzjonijiet, tfittxija web, u outputs strutturati.
Dak kollu li għandek bżonn biex tibni b'API kompatibbli ma' OpenAI u Anthropic ta' Shannon.
https://api.shannon-ai.com/v1/chat/completions Uża l-API Chat Completions b'sejħiet ta' funzjonijiet u streaming.
https://api.shannon-ai.com/v1/messages Format Claude Messages b'għodod u header anthropic-version.
Authorization: Bearer <api-key> Jew X-API-Key b'anthropic-version għal sejħiet stil Claude.
Dokumenti pubbliċi - jeħtieġ ċavetta biex issejjaħ Streaming, sejħiet ta' funzjonijiet, outputs strutturati, tfittxija web.
Sostituzzjoni drop-in għall-APIs OpenAI u Anthropic b'appoġġ nattiv għal għodod, outputs strutturati, u tfittxija web built-in.
Jaħdem ma' SDKs OpenAI u Anthropic. Ibdel biss il-base URL.
Iddefinixxi għodod, ħalli Shannon isejħilhom. Jappoġġja modi auto, forced, u none.
Tfittxija web f'ħin reali b'ċitazzjonijiet tas-sorsi. Disponibbli awtomatikament.
Modalità JSON u infurzar tal-JSON Schema għal estrazzjoni affidabbli tad-dejta.
Loops awtomatiċi ta' eżekuzzjoni ta' funzjonijiet. Sa 10 iterazzjonijiet għal kull talba.
Server-sent events għal streaming ta' tokens f'ħin reali.
Ibda fi tliet passi. Shannon jirrifletti l-klijenti OpenAI u Anthropic.
Uża l-endpoint kompatibbli ma' OpenAI.
https://api.shannon-ai.com/v1/chat/completions Uża Bearer auth fl-header Authorization.
Agħżel lingwa u ibdel fiċ-ċavetta tiegħek.
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
}
} Ittesta l-API ta' Shannon direttament fil-browser tiegħek. Ibni t-talba tiegħek, ħaddimha, u ara r-risposta f'ħin reali.
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.
/mt/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.
It-talbiet kollha tal-API jeħtieġu awtentikazzjoni bl-użu taċ-ċavetta tal-API ta' Shannon.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon joffri diversi mudelli ottimizzati għal użi differenti.
shannon-1.6-lite Shannon 1.6 Lite Risposti rapidi u effiċjenti għall-kompiti ta' kuljum
shannon-1.6-pro Shannon 1.6 Pro Raġunament avvanzat għal problemi kumplessi
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Ottimizzat għal Claude Code CLI b'kwota bbażata fuq sejħiet
Iddefinixxi għodod li Shannon jista' jsejjaħ biex iwettaq azzjonijiet jew jiġbor informazzjoni.
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" Il-mudell jiddeċiedi jekk isejjaħx funzjoni (default) "none" Iddiżattiva s-sejħiet ta' funzjonijiet għal din it-talba {"type": "function", "function": {"name": "..."}} Sfurza sejħa ta' funzjoni speċifika {
"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"
}
]
} Sfurza lil Shannon biex iwieġeb b'JSON validu li jaqbel mal-iskema tiegħek.
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"} Sfurza output JSON validu (mingħajr skema speċifika) {"type": "json_schema", "json_schema": {...}} Sfurza output li jaqbel mal-iskema eżatta tiegħek Ippermetti streaming ta' tokens f'ħin reali b'Server-Sent Events għal interfaces reattivi.
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 jinkludi funzjoni web_search built-in li hija disponibbli awtomatikament.
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 jappoġġja wkoll il-format tal-API Messages ta' 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); Uża kwalunkwe SDK ta' OpenAI jew Anthropic — ibdel biss il-base URL.
SDK uffiċjali ta' OpenAI għal Python — jaħdem ma' Shannon
pip install openai SDK uffiċjali ta' OpenAI għal Node.js — jaħdem ma' Shannon
npm install openai Klijent Go tal-komunità għal APIs kompatibbli ma' OpenAI
go get github.com/sashabaranov/go-openai Klijent Ruby tal-komunità għal APIs kompatibbli ma' OpenAI
gem install ruby-openai Klijent PHP tal-komunità għal APIs kompatibbli ma' OpenAI
composer require openai-php/client Klijent Rust async għal APIs kompatibbli ma' OpenAI
cargo add async-openai SDK uffiċjali ta' Anthropic għal Python — jaħdem ma' Shannon
pip install anthropic SDK uffiċjali ta' Anthropic għal TypeScript — jaħdem ma' Shannon
npm install @anthropic-ai/sdk Shannon juża kodiċijiet standard HTTP u jirritorna messaġġi ta' żball dettaljati.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Aġġornamenti u titjib reċenti għall-API Shannon.
YOUR_API_KEY Żomm iċ-ċavetta tal-API tiegħek sigrieta. Il-ġenerazzjoni mill-ġdid toħloq ċavetta ġdida u tħassar il-qadima.
Ara l-konsum ta' tokens u t-tiftix f'din il-paġna meta tidħol fil-kont tiegħek.
Kwota bbażata fuq sejħiet għal Shannon Coder (shannon-coder-1). Tirrissettja kull 4 siegħa.
Ikseb iċ-ċavetta tal-API tiegħek u ibda tibni ma' Shannon AI illum.
Tfittxijiet popolari: