AI Sonar hỗ trợ ba định dạng API gốc với một khóa API duy nhất. Chọn định dạng phù hợp nhất với trường hợp sử dụng của bạn — không cần thay đổi cấu hình.
Định dạng OpenAI
/v1/chat/completions
Định dạng tiêu chuẩn, tương thích rộng nhất
Định dạng Anthropic
/v1/messages
Tư duy mở rộng, các tính năng Claude nguyên gốc
Định dạng Gemini
/v1beta/models/:model:generateContent
Tích hợp hệ sinh thái Google
Hãy dùng tuyến tương thích này cho các tích hợp OpenAI SDK hiện có và các luồng chat hoặc embedding di động. Với hành vi gốc của Claude hoặc Gemini, hãy dùng định dạng Anthropic hoặc Gemini bên dưới.
from openai import OpenAIclient = OpenAI( api_key="sk-your-api-key", base_url="https://api.aisonar.dev/v1")# Portable chat works across many modelsresponse = client.chat.completions.create( model="claude-sonnet-4-6", # Claude via OpenAI format messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ])
API Messages gốc của Anthropic. Cần thiết cho các tính năng riêng của Claude như tư duy mở rộng.
from anthropic import Anthropicclient = Anthropic( api_key="sk-your-api-key", base_url="https://api.aisonar.dev" # No /v1 suffix!)message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, system="You are a helpful assistant.", # Separate system field messages=[ {"role": "user", "content": "Hello!"} ])
Gemini Files và Cache: Tuyến Gemini gốc hỗ trợ /upload/v1beta/files, /v1beta/files, /v1beta/files:register và /v1beta/cachedContents. Files dùng các kênh upstream tương thích Gemini File API; tài nguyên Cache tường minh cũng có thể đi qua kênh Vertex AI. Tài nguyên tạo qua AI Sonar được gắn với cùng channel/key upstream cho các lần gọi generateContent sau đó.
Công cụ hàm có thể được chuyển đổi giữa các định dạng khi tuyến đích hỗ trợ. Công cụ gốc của nhà cung cấp phải ở lại tuyến gốc của nó:
Công cụ hosted và native của OpenAI Responses như tool_search, web_search, file_search, code_interpreter, MCP, shell/apply_patch và công cụ computer-use cần /v1/responses.
Công cụ server/native của Anthropic như web_search_*, web_fetch_*, code_execution_*, tool_search_*, bash, computer-use và text-editor cần /v1/messages.
Công cụ tích hợp của Gemini như googleSearch, codeExecution, urlContext, computerUse và các trường tools tương tự cần /v1beta.
Nếu AI Sonar không thể định tuyến yêu cầu có công cụ native tới một đường upstream hỗ trợ định dạng native, hệ thống sẽ trả lỗi unsupported-field rõ ràng thay vì âm thầm bỏ công cụ hoặc giả vờ đó là hàm Chat Completions. Công cụ hàm do người dùng định nghĩa vẫn là đường công cụ dễ di chuyển nhất.
# Before (OpenAI)client = OpenAI(api_key="sk-openai-key")# After (AI Sonar)client = OpenAI( api_key="sk-your-api-key", base_url="https://api.aisonar.dev/v1" # Add this line)# That's it! Same code works
# Before (Anthropic)client = Anthropic(api_key="sk-ant-key")# After (AI Sonar)client = Anthropic( api_key="sk-your-api-key", base_url="https://api.aisonar.dev" # Add this line (no /v1!))
Mặc dù chuyển đổi giữa các định dạng hoạt động với hầu hết các tính năng, các tính năng đặc thù theo định dạng (như tính năng tư duy mở rộng của Anthropic) yêu cầu sử dụng định dạng gốc.