Chạy agent Letta trên một endpoint tương thích OpenAI.

Updated 2026-07-29

Letta tự host đọc OPENAI_API_BASE và OPENAI_API_KEY từ môi trường, nên hai biến trỏ agent có trạng thái của nó vào một gateway. Upstream gọi endpoint proxy là không chính thức, và trang này nhìn nhận điều đó nghiêm túc: cái gì hoạt động, yêu cầu là gì, và cạnh sắc nằm ở đâu.

Câu trả lời nhanh: hai biến môi trường trên server.

Con đường có tài liệu của Letta cho endpoint tương thích OpenAI là cấu hình môi trường trên server tự host: đặt OPENAI_API_BASE thành URL endpoint và OPENAI_API_KEY thành key của nó khi khởi động server, và Letta đăng ký các model endpoint đó phục vụ. Với APIsRouter, base là https://api.apisrouter.com/v1. Không có field base-URL theo từng agent trong giao diện; endpoint là một quyết định cấp server, đây là lý do môi trường là bề mặt quan trọng. Một yêu cầu không thể thương lượng và đáng đọc trước mọi thứ khác: tài liệu Letta nói rằng endpoint tương thích OpenAI phải hỗ trợ function calling, vì vòng lặp agent được xây trên gọi tool. Một endpoint chỉ làm chat completion thuần túy không thể chạy một agent Letta chút nào. Model catalog trên APIsRouter nói gọi tool chuẩn qua /v1/chat/completions, đúng hình dạng Letta mong đợi.

docker run \
  -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
  -p 8283:8283 \
  -e OPENAI_API_KEY="$APISROUTER_API_KEY" \
  -e OPENAI_API_BASE="https://api.apisrouter.com/v1" \
  letta/letta:latest

Vì sao Letta dựa vào model của nó nặng hơn một app chat.

Letta (letta-ai trên GitHub, khoảng 24K star) lớn lên từ dự án nghiên cứu MemGPT và xây agent có trạng thái: agent với bộ nhớ tự chỉnh sửa, bền vững tồn tại qua các phiên. Nơi một chat client gửi tin nhắn của bạn và in ra câu trả lời, một agent Letta chạy một vòng lặp bên trong ở mỗi tương tác, lý luận về những gì nó biết, gọi tool bộ nhớ để đọc và viết lại bộ nhớ lõi cùng lưu trữ archival của chính nó, và chỉ khi đó mới tạo ra một câu trả lời. Kiến trúc đó có hai hệ quả cho việc định tuyến endpoint. Thứ nhất, mọi bước của vòng lặp là một request gọi tool, đây là lý do function calling là một yêu cầu cứng thay vì một điểm cộng; một model vụng về với schema tool không xuống cấp nhẹ nhàng ở đây, nó phá vỡ khả năng ghi nhớ của agent. Thứ hai, khối lượng request mỗi tương tác cao hơn những gì bản ghi hội thoại gợi ý, vì việc quản lý bộ nhớ chạy song song với câu trả lời hiển thị. Model id phục vụ tất cả điều này là một chuỗi thuần với endpoint, nên với một gateway đa vendor đứng sau OPENAI_API_BASE, một id Claude có thể chạy vòng lặp agent trong khi một id nhanh phục vụ các agent nhẹ hơn trên cùng server, mỗi cái được gọi theo handle riêng.

Tình trạng hỗ trợ trung thực, thẳng từ upstream.

Tài liệu của chính Letta nói endpoint proxy OpenAI không được hỗ trợ chính thức và cảnh báo bạn có thể gặp lỗi, khuyên dùng kết nối provider trực tiếp thay vào đó. Cảnh báo đó xứng đáng được trích dẫn thay vì giấu đi, vì hầu hết các trang về chủ đề này giả vờ như nó không tồn tại. Điều đó nghĩa là gì trong thực tế hẹp hơn nghe qua: Letta kiểm thử với các API chính chủ, và một endpoint lệch khỏi ngữ nghĩa OpenAI, đặc biệt quanh gọi tool, tạo ra lỗi mà upstream sẽ không ưu tiên. Một endpoint thực sự triển khai đúng đặc tả, gồm cả gọi tool, chạy ổn, và đó chính xác là ngưỡng tương thích mà một gateway sống hay chết theo. Lịch sử hỗ trợ cũng có một lỗi thực sự đáng biết. Cho tới đầu 2026, các model đăng ký qua OPENAI_API_BASE bị tự động thêm tiền tố như một provider openai-proxy trong khi việc tạo agent lại xác thực theo một danh sách tiền tố chấp nhận ngắn hơn, nên các model proxy đăng ký được nhưng không thể dùng để tạo agent. Vấn đề đã được đóng với một bản sửa trong tháng 1 năm 2026; nếu bạn chạy một server cũ ghim phiên bản và việc tạo agent từ chối các model server rõ ràng liệt kê, đó là sự lệch pha bạn đang gặp, và nâng cấp là cách sửa. Một mục tiêu di động khác: bề mặt sản phẩm của Letta đã chuyển dịch, và tài liệu hiện tại đang hướng người dùng mới tới các chế độ deploy mới hơn trong khi lưu ý rằng image Docker cổ điển không còn là bề mặt được bảo trì tích cực. Các biến môi trường ở trên là cơ chế có tài liệu cho server tự host; hãy kiểm tra tài liệu hiện tại xem upstream khuyên dùng artifact server nào vào tuần bạn deploy.

# after the server is up, list models Letta knows about
curl -s http://localhost:8283/v1/models/ | head -50
# use the handle exactly as listed when creating agents

Chọn model cho agent có trạng thái.

Đánh giá quan trọng là độ trung thực của vòng lặp: tạo một agent thử nghiệm, có một hội thoại buộc phải cập nhật bộ nhớ, sau đó đọc bộ nhớ lõi của agent và xác minh nó thực sự thay đổi. Một model có thể viết câu trả lời hấp dẫn mà vẫn thất bại hợp đồng bộ nhớ, và chỉ bài kiểm tra vòng lặp mới bắt được điều đó.

  • Chỉnh sửa bộ nhớ là công việc tool có cấu trúc. claude-sonnet-4-6 và gpt-5.5 xử lý đáng tin cậy vòng lặp tự viết lại bộ nhớ, đây là năng lực cốt lõi một agent Letta cần.
  • Agent tồn tại lâu tích lũy context. Các model giữ mạch lạc sâu vào một cửa sổ context quan trọng hơn ở đây so với chat không trạng thái, đây là nơi claude-opus-4-7 xứng đáng có chỗ cho các trợ lý mức độ cao.
  • Đội hình agent nhẹ, mỗi cái một người dùng hoặc một tác vụ, là công việc khối lượng lớn. claude-haiku-4-5-20251001 giữ chi phí mỗi agent ổn định trong khi vẫn gọi tool đủ tốt.
  • deepseek-v4-pro đáng thử cho các agent trộn lý luận với lưu lượng song ngữ; yêu cầu gọi tool là cửa ải, nên hãy kiểm tra vòng lặp, không chỉ văn xuôi.
  • Dù bạn chọn gì, hãy chọn theo từng agent. Server đăng ký toàn bộ catalog, và mỗi agent gắn với một handle, nên một concierge nặng về bộ nhớ và một agent tác vụ dùng một lần có thể chạy id khác nhau cạnh nhau.

Trả theo mức sử dụng · thấp hơn giá chính thức

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

Mô hìnhGiá chính thứcGiá của chúng tôi
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Opus 4.7$5.00 / $25.00 per M$4.00 / $20.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M

Các kiểu lỗi đặc thù của Letta.

Việc tạo agent từ chối một model mà server liệt kê là lỗi tiền tố lịch sử. Các model đăng ký qua một proxy mang một tiền tố provider mà việc tạo agent từ chối chấp nhận trên các phiên bản bị ảnh hưởng. Bản sửa đã ra mắt tháng 1 năm 2026; trên các bản phát hành hiện tại, handle hiển thị trong danh sách model là handle hoạt động. Nếu bạn ghim một image cũ hơn, đây là lý do mạnh nhất để nâng cấp trước khi debug bất cứ thứ gì khác. Một agent trả lời nhưng không bao giờ ghi nhớ là một lỗi gọi tool. Hoặc endpoint không triển khai function calling, hoặc model đứng sau id xử lý schema tool kém. Triệu chứng là hội thoại hoạt động trong khi bộ nhớ lõi không bao giờ cập nhật. Kiểm tra cùng agent trên claude-sonnet-4-6 để tách vấn đề endpoint khỏi vấn đề model. Biến môi trường đặt sai chỗ là kinh điển của Docker: OPENAI_API_BASE export trong shell của bạn không làm gì cho một container khởi động mà không có cờ -e. Các biến phải tới được chính tiến trình server. Và vì endpoint là cấp server, hãy nhớ bán kính ảnh hưởng: đổi OPENAI_API_BASE di chuyển mọi agent trên server đó. Không có ghi đè endpoint theo từng agent, nên một server cho mỗi gateway là cấu trúc gọn gàng, với lựa chọn model theo từng agent làm việc phân hóa.

Ai định tuyến Letta qua một gateway.

  • Người xây dựng trợ lý bền vững muốn khả năng chỉnh sửa bộ nhớ chất lượng Claude mà không cần một tài khoản vendor, key, và bề mặt billing riêng cho mỗi model họ thử.
  • Các đội chạy đội hình agent nơi mỗi người dùng có một agent, và theo dõi sử dụng theo từng key biến chi phí thực của lớp bộ nhớ thành một báo cáo đọc được.
  • Nhà nghiên cứu so sánh cách model xử lý bộ nhớ tự chỉnh sửa, nơi mỗi ứng viên là một lần đổi handle trên một agent thử nghiệm thay vì một cuộc di dời provider.
  • Người tự host trong các môi trường nơi truy cập API vendor trực tiếp bị chặn và một endpoint gateway duy nhất là thứ chính sách mạng cho phép.
  • Lập trình viên không có quyền truy cập billing của một vendor cụ thể. Truy cập dựa trên nạp tiền không yêu cầu thẻ loại bỏ phụ thuộc đăng ký theo từng provider.

Xác minh endpoint và debug agent đầu tiên.

Xác minh gateway trước server: liệt kê model với key, và chạy một chat completion có gắn định nghĩa tool, vì gọi tool là năng lực Letta thực sự phụ thuộc vào. Nếu vòng lặp gọi tool hoạt động trong curl, nửa endpoint đã được chứng minh. Sau đó khởi động server với hai biến và đọc danh sách model của nó. Model xuất hiện ở đó chứng minh việc đăng ký; một agent tạo thành công từ một handle đã liệt kê chứng minh con đường tiền tố; một hội thoại cập nhật bộ nhớ lõi chứng minh vòng lặp từ đầu tới cuối. Debug theo thứ tự đó, vì mỗi giai đoạn có một tập lỗi riêng biệt: biến env, phiên bản server, và năng lực gọi tool của model tương ứng. Khi agent đã chạy, console APIsRouter hiển thị model theo từng request, số lượng token, và chi tiêu. Agent có trạng thái thanh toán nhiều hơn mỗi tương tác so với bản ghi gợi ý, vì việc quản lý bộ nhớ chạy đằng sau mỗi câu trả lời, và log sử dụng là nơi bội số ẩn giấu đó trở thành một con số bạn có thể lập ngân sách.

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6",
       "messages":[{"role":"user","content":"What is 2+3?"}],
       "tools":[{"type":"function","function":{
         "name":"calc","description":"add numbers",
         "parameters":{"type":"object","properties":{
           "a":{"type":"number"},"b":{"type":"number"}}}}}]}'

Câu hỏi thường gặp

Làm sao để trỏ Letta vào một endpoint tương thích OpenAI tùy chỉnh?

Đặt OPENAI_API_BASE và OPENAI_API_KEY trong môi trường của server Letta tự host, ví dụ dưới dạng cờ -e trên docker run. Không có field base-URL theo từng agent; endpoint được cấu hình ở cấp server và mọi agent trên server đó dùng nó.

Letta có chính thức hỗ trợ endpoint proxy không?

Upstream gọi chúng là không được hỗ trợ chính thức và cảnh báo bạn có thể gặp lỗi, khuyên dùng provider trực tiếp. Trong thực tế yêu cầu là tương thích OpenAI nghiêm ngặt gồm cả function calling; một endpoint triển khai đúng đặc tả đầy đủ chạy được vòng lặp agent, đó là ngưỡng APIsRouter được xây dựng theo.

Vì sao function calling là bắt buộc?

Agent Letta quản lý bộ nhớ của chính chúng qua gọi tool: đọc, viết lại, và lưu trữ bộ nhớ là các hàm model gọi ở mỗi tương tác. Một endpoint hoặc model không gọi tool tốt không thể chạy vòng lặp, và triệu chứng là một agent trò chuyện nhưng không bao giờ ghi nhớ.

Vì sao việc tạo agent từ chối các model server tôi liệt kê?

Các phiên bản server cũ hơn đăng ký model proxy dưới một tiền tố provider mà việc tạo agent từ chối xác thực, một lỗi đã đóng với bản sửa trong tháng 1 năm 2026. Nâng cấp server, sau đó dùng handle đúng như nó xuất hiện trong danh sách model.

Các agent Letta khác nhau có thể dùng model khác nhau qua một endpoint không?

Có. Server đăng ký mọi id endpoint phục vụ, và mỗi agent gắn với một handle model lúc tạo. Một agent concierge trên claude-opus-4-7 và một đội hình agent tác vụ trên claude-haiku-4-5-20251001 có thể chia sẻ một server và một key.

Điều này áp dụng cho Letta Cloud hay server tự host?

Server tự host, nơi bạn kiểm soát môi trường. Letta Cloud quản lý các lệnh gọi model của chính nó ở phía server. Cũng lưu ý rằng các artifact tự host được khuyên dùng của Letta đã thay đổi, nên hãy kiểm tra tài liệu hiện tại xem chế độ deploy nào họ bảo trì hôm nay.