Tổng quan
Agent-First API của LemonData làm phong phú các phản hồi lỗi bằng các gợi ý có cấu trúc mà AI agent có thể phân tích và xử lý 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 cần phỏng đoán. Mỗi phản hồi lỗi bao gồm các trường tùy chọn nhưdid_you_mean, suggestions, hint, retryable, và retry_after bên trong đối tượng error tiêu chuẩn. Các 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 sự khác biệt.
Các trường gợi ý lỗi
Tất cả các trường gợi ý là các phần mở rộng tùy chọn bên trong đối tượngerror:
| Trường | Kiểu | Mô tả |
|---|---|---|
did_you_mean | string | Tên model khớp nhất |
suggestions | array | Các model được đề xuất kèm theo metadata |
alternatives | array | Các model thay thế hiện có sẵn |
hint | string | Hướng dẫn bước tiếp theo dễ đọc cho người/agent |
retryable | boolean | Liệu việc thử lại cùng một yêu cầu có thể 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 tính bằng USD |
estimated_cost_usd | number | Chi phí ước tính của yêu cầu bị lỗi |
Các ví dụ về mã lỗi
model_not_found (400)
Khi tên model không khớp với bất kỳ model nào đang hoạt động:did_you_mean sử dụng:
- Ánh xạ alias tĩnh (từ dữ liệu lỗi thực tế)
- Khớp chuỗi chuẩn hóa (loại bỏ dấu gạch ngang, không phân biệt chữ hoa chữ thường)
- Khớp khoảng cách chỉnh sửa (ngưỡng ≤ 3)
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 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 không khả dụng:retryable là false khi lý do 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ư ngắt mạch (circuit breaker trips) hoặc hết hạn mức (quota exhaustion).rate_limit_exceeded (429)
retry_after được tính toán từ thời gian reset thực tế của cửa sổ rate limit.
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 các gợi ý):Các Header 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 hóa:
| Nhà cung cấp Model | Endpoint được đề xuất | Lợi ích |
|---|---|---|
| Anthropic (Claude) | /v1/messages | Không chuyển đổi định dạng, tư duy mở rộng (extended thinking), prompt caching |
| Google (Gemini) | /v1beta/gemini | Không chuyển đổi định dạng, grounding, các thiết lập an toàn |
| OpenAI | — | Chat completions đã là định dạng native |
Các cải tiến cho /v1/models
Ba trường mới trong phần mở rộnglemondata của mỗi đối tượng model:
| Trường | Giá trị | Mô tả |
|---|---|---|
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í model |
cache_pricing | đối tượng hoặc null | Giá prompt cache upstream + chiết khấu semantic cache của nền tảng |
Lọc theo Category
llms.txt
Bản tóm tắt API có thể đọc được bằng máy có sẵn tại:- Template cho lần gọi đầu tiên với ví dụ thực tế
- Các tên model phổ biến (được tạo động từ dữ liệu sử dụng)
- Tất cả 12 API endpoint
- Các tham số lọc để khám phá model
- Hướng dẫn xử lý lỗi
llms.txt trước khi thực hiện cuộc gọi API đầu tiên thường có thể thành công ngay trong lần thử đầu tiên.
Sử dụng trong mã nguồn Agent
Python (OpenAI SDK)
JavaScript (OpenAI SDK)
Nguyên tắc thiết kế
Thất bại sớm, thông báo chi tiết
Lỗi trả về ngay lập tức với tất cả dữ liệu mà agent cần để tự sửa lỗi.
Không tự động điều hướng
API không bao giờ âm thầm thay thế bằng một model khác. Agent sẽ quyết định.
Đề xuất dựa trên dữ liệu
Tất cả các đề xuất đều đến từ dữ liệu thực tế, không phải danh sách được mã hóa cứng.
Tương thích ngược
Tất cả các trường gợi ý đều là tùy chọn. Các client hiện tại sẽ không thấy sự khác biệt.