Tổng quan
Agent-First API của LemonData làm giàu phản hồi lỗi với các gợi ý có cấu trúc mà các agent AI có thể phân tích và hành động ngay lập tức — không cần tìm kiếm web, không cần tra cứu tài liệu, không phải đoán mò. Mỗi phản hồi lỗi bao gồm các trường tuỳ chọn nhưdid_you_mean, suggestions, hint, retryable, và retry_after bên trong đối tượng tiêu chuẩn error. Những trường này tương thích ngược — các client không sử dụng chúng sẽ không thấy khác biệt.
Trường Gợi Ý Lỗi
Tất cả các trường gợi ý là phần mở rộng tuỳ chọn bên trong đối tượngerror:
| Field | Type | Description |
|---|---|---|
did_you_mean | string | Tên model khớp gần nhất |
suggestions | array | Các model được khuyến nghị kèm metadata |
alternatives | array | Các model thay thế hiện khả dụng |
hint | string | Hướng dẫn bước tiếp theo đọc được bởi con người/agent |
retryable | boolean | Có khả năng thử lại cùng yêu cầu sẽ thành công hay không |
retry_after | number | Số giây cần chờ trước khi thử lại |
balance_usd | number | Số dư tài khoản hiện tại bằng USD |
estimated_cost_usd | number | Chi phí ước tính của yêu cầu bị lỗi |
Ví dụ Mã Lỗi
model_not_found (400)
Khi tên model không khớp với bất kỳ model đang hoạt động nào:did_you_mean sử dụng:
- Bản đồ bí danh tĩnh (từ dữ liệu lỗi production)
- So khớp chuỗi đã chuẩn hóa (loại bỏ dấu gạch ngang, không phân biệt hoa/thường)
- So khớp theo khoảng chỉnh sửa (ngưỡng ≤ 3)
did_you_mean, suggestions, và hint, sau đó thử lại với một model công khai được hỗ trợ.
insufficient_balance (402)
Khi số dư tài khoản quá thấp so với chi phí ước tính:suggestions chứa các model rẻ hơn so với chi phí ước tính mà agent có thể chuyển sang.
all_channels_failed (503)
Khi tất cả các kênh upstream cho một model đều không khả dụng:retryable là false khi nguyên nhân là no_channels (không có kênh nào được cấu hình cho model này). Nó chỉ là true đối với các lỗi tạm thời như bộ ngắt mạch (circuit breaker) hoặc hết quota.rate_limit_exceeded (429)
retry_after được tính từ thời điểm thực tế cửa sổ giới hạn tần suất được đặt lại.
Các endpoint tương thích OpenAI sử dụng các loại lỗi công khai ổn định của LemonData như
rate_limit_exceeded, upstream_error, và all_channels_failed. Các endpoint tương thích Anthropic và Gemini sử dụng cấu trúc phản hồi gốc của chúng.context_length_exceeded (400)
Khi đầu vào vượt quá cửa sổ ngữ cảnh của model (lỗi upstream, được bổ sung gợi ý):Header của Native Endpoint
Khi bạn gọi/v1/chat/completions với một model có native endpoint (Anthropic hoặc Gemini), phản hồi THÀNH CÔNG sẽ bao gồm các header tối ưu hoá:
| Model Provider | Suggested Endpoint | Benefit |
|---|---|---|
| Anthropic (Claude) | /v1/messages | Không cần chuyển đổi định dạng, suy nghĩ mở rộng, cache prompt |
| Google (Gemini) | /v1beta/gemini | Không cần chuyển đổi định dạng, grounding, thiết lập an toàn |
| OpenAI | — | Chat completions đã là định dạng gốc |
Cải tiến cho /v1/models
/v1/models hiện mang metadata khuyến nghị phi-chat mà các agent có thể sử dụng trước khi gọi các endpoint hình ảnh, video, nhạc, 3D, TTS, STT, embedding, rerank, hoặc dịch thuật.
| Field | Values | Description |
|---|---|---|
category | chat, image, video, audio, tts, stt, 3d, embedding, rerank | Loại model |
pricing_unit | per_token, per_image, per_second, per_request | Cách tính phí cho model |
cache_pricing | object or null | Chỉ trả về khi model có giá prompt cache upstream riêng. Chỉ riêng giảm giá semantic cache của nền tảng sẽ không còn xuất hiện trên danh sách. |
agent_preferences.<scene> | object | Snapshot khuyến nghị phi-chat chỉ xuất hiện với GET /v1/models?recommended_for=<scene> |
recommended_for, agent_preferences được dẫn xuất từ một snapshot tỷ lệ thành công trong 24 giờ được cache:
- Cửa sổ: 24 giờ
- Snapshot cache: stale-while-revalidate
status = "ready"nghĩa là model có đủ mẫu gần đây để tham gia xếp hạngstatus = "insufficient_samples"nghĩa là model vẫn hiển thị nhưng không được xếp trước các model đã có điểm
Lọc theo Category
Khám phá Khuyến nghị
Đối với workflow phi-chat, agent nên lấy danh sách rút gọn được khuyến nghị hiện tại trước:recommended_for hợp lệ là:
imagevideomusic3dttssttembeddingreranktranslation
category và recommended_for đều có mặt, chúng phải khớp chính xác.
Luồng khuyến nghị cho agent:
GET /v1/models?recommended_for=<scene>- Chọn model đầu tiên có
agent_preferences.<scene>.status == "ready" - Gọi endpoint một cách rõ ràng với
model=<selected> - Chỉ khi xảy ra lỗi tạm thời, thử lại với model “ready” tiếp theo
llms.txt
Một tổng quan API đọc được bằng máy có sẵn tại:- Mẫu lần gọi đầu với một ví dụ hoạt động
- Tên model phổ biến (được sinh động từ dữ liệu sử dụng)
- Tất cả 12 endpoint API
- Các tham số lọc để khám phá model
- Hướng dẫn xử lý lỗi
llms.txt trước lần gọi API đầu tiên của chúng thường có thể thành công ngay ở lần thử đầu.
Sử dụng trong Code Agent
Python (OpenAI SDK)
JavaScript (OpenAI SDK)
Nguyên tắc Thiết kế
Thất bại nhanh, thông tin rõ ràng
Lỗi trả về ngay lập tức với tất cả dữ liệu mà một agent cần để tự sửa.
Không định tuyến tự động
API không bao giờ âm thầm thay thế một model khác. Agent là người quyết định.
Gợi ý dựa trên dữ liệu
Tất cả khuyến nghị đến từ dữ liệu production, không phải danh sách mã hóa cứng.
Tương thích ngược
Tất cả trường gợi ý đều là tuỳ chọn. Các client hiện có không thấy khác biệt.