Caricamento interfaccia
API di IA compatibile con OpenAI e Anthropic con chiamate di funzione, ricerca web e output strutturati.
Tutto ciò che serve per rilasciare con l'API compatibile OpenAI e Anthropic di Shannon.
https://us-central1-shannonai.cloudfunctions.net/v1/chat/completionsUsa la Chat Completions API con function calling e streaming.
https://us-central1-shannonai.cloudfunctions.net/v1/messagesFormato Claude Messages con tools e header anthropic-version.
Autorizzazione: Bearer <la-tua-chiave>Oppure usa X-API-Key con anthropic-version per chiamate in stile Claude.
Public docs - Key required to callStreaming, function calling, output strutturati e ricerca web.
Sostituzione diretta delle API OpenAI e Anthropic con supporto nativo per tools, output strutturati e ricerca web.
Funziona con gli SDK OpenAI e Anthropic. Basta cambiare la base URL.
Definisci strumenti e lascia che Shannon li chiami. Supporta modalità auto, forzata e nessuna.
Ricerca web in tempo reale con citazioni delle fonti. Disponibile automaticamente.
Modalità JSON e applicazione di JSON Schema per estrazione dati affidabile.
Loop automatici di esecuzione funzioni. Fino a 10 iterazioni per richiesta.
Server‑Sent Events per lo streaming di token in tempo reale.
Inizia in tre passaggi. Shannon rispecchia i client OpenAI e Anthropic.
Usa l’endpoint compatibile con OpenAI.
https://us-central1-shannonai.cloudfunctions.net/v1/chat/completionsUsa l’autenticazione Bearer nell’header Authorization.
Scegli una lingua e sostituisci con la tua chiave.
from openai import OpenAIclient = OpenAI(api_key="YOUR_API_KEY",base_url="https://us-central1-shannonai.cloudfunctions.net/v1")response = client.chat.completions.create(model="shannon-balanced-grpo",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Hello, Shannon!"}],max_tokens=1024)print(response.choices[0].message.content)
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1234567890,
"model": "shannon-balanced-grpo",
"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
}
}Prova l’API Shannon direttamente nel browser. Costruisci la richiesta, eseguila e vedi la risposta in tempo reale.
Switch between Chat Completions, Responses, and Messages without changing pages. The request body, auth header, stream parser, and SDK snippets all follow the selected protocol.
Pick an endpoint, shape the payload, and run the request to inspect the live output.
{"model": "shannon-balanced-grpo","messages": [{"role": "system","content": "You are Shannon. Answer crisply, commercially, and with strong structure."},{"role": "user","content": "Outline a clean launch plan for a new AI API aimed at startup founders."}],"max_tokens": 1024,"temperature": 0.7,"stream": true}
Tutte le richieste API richiedono autenticazione con la tua chiave API Shannon.
Authorization: Bearer YOUR_API_KEY
X-API-Key: YOUR_API_KEYanthropic-version: 2023-06-01
Shannon offre più modelli ottimizzati per diversi casi d'uso.
shannon-balanced-grpoBalancedFast, efficient responses for everyday tasks
shannon-deep-dapoDeepAdvanced reasoning for complex problems
shannon-coder-1CoderOptimized for Claude Code CLI with call-based quota
Define tools that Shannon can call to perform actions or retrieve information.
from openai import OpenAIimport jsonclient = OpenAI(api_key="YOUR_API_KEY",base_url="https://us-central1-shannonai.cloudfunctions.net/v1")# Define available tools/functionstools = [{"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-balanced-grpo",messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],tools=tools,tool_choice="auto")# Check if model wants to call a functionif 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}")
{
"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"
}
]
}Force Shannon to respond with valid JSON that matches your schema.
from openai import OpenAIclient = OpenAI(api_key="YOUR_API_KEY",base_url="https://us-central1-shannonai.cloudfunctions.net/v1")# Force JSON output with schemaresponse = client.chat.completions.create(model="shannon-balanced-grpo",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 jsondata = json.loads(response.choices[0].message.content)print(data) # {"name": "John Doe", "age": 30, "occupation": "engineer"}
Enable real-time token streaming with Server-Sent Events for responsive UIs.
from openai import OpenAIclient = OpenAI(api_key="YOUR_API_KEY",base_url="https://us-central1-shannonai.cloudfunctions.net/v1")# Enable streaming for real-time responsesstream = client.chat.completions.create(model="shannon-balanced-grpo",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)
Shannon includes a built-in web_search function that's automatically available.
from openai import OpenAIclient = OpenAI(api_key="YOUR_API_KEY",base_url="https://us-central1-shannonai.cloudfunctions.net/v1")# Web search is automatically available!# Shannon will use it when needed for current informationresponse = client.chat.completions.create(model="shannon-balanced-grpo",messages=[{"role": "user", "content": "What are the latest AI news today?"}],# Optionally, explicitly define web_search tooltools=[{"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
Shannon supporta anche il formato Messages API di Anthropic.
https://us-central1-shannonai.cloudfunctions.net/v1/messagesimport anthropicclient = anthropic.Anthropic(api_key="YOUR_API_KEY",base_url="https://us-central1-shannonai.cloudfunctions.net/messages")response = client.messages.create(model="shannon-balanced-grpo",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)
Use any OpenAI or Anthropic SDK - just change the base URL.
Shannon usa codici di stato HTTP standard e restituisce messaggi di errore dettagliati.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
}Recent updates and improvements to the Shannon API.
Get your API key and start building with Shannon AI today.