
ChatAnthropic trong LangChain: nhập, base_url, truyền dữ liệu dạng luồng, công cụ và lỗi
ChatAnthropic từ gói langchain-anthropic là mô hình trò chuyện Claude của LangChain. Nó bao bọc SDK Python chính thức của Anthropic, nên để trỏ nó đến một cổng chỉ cần một đối số, base_url, được đặt thành địa chỉ máy chủ gốc. Mọi thứ khác trong các chuỗi, tác tử và công cụ của bạn vẫn giữ nguyên.
Cài đặt và nhập
pip install -U langchain-anthropicfrom langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(
model="claude-sonnet-5",
base_url="https://aiprimetech.io", # host root: the SDK adds /v1/messages
api_key="your_gateway_key", # or set ANTHROPIC_API_KEY
)
print(llm.invoke("Say hello in one word.").text)/v1 trong base_url ở đây. SDK Anthropic bên dưới tự nối thêm /v1/messages ; việc thêm /v1 sẽ tạo ra /v1/v1/messages và một 404 page not found.Cấu hình từ môi trường
base_url là bí danh của anthropic_api_url, và api_key là bí danh của anthropic_api_key. Khi bạn không truyền chúng, ChatAnthropic đọc ANTHROPIC_API_URL trước, rồi đến ANTHROPIC_BASE_URL, và lấy khóa từ ANTHROPIC_API_KEY. Các đối số được truyền tường minh luôn được ưu tiên.
export ANTHROPIC_API_KEY=your_gateway_key
export ANTHROPIC_API_URL=https://aiprimetech.iofrom langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(model="claude-sonnet-5") # picks up the gateway from the environmentTruyền dữ liệu theo luồng
for chunk in llm.stream("Explain backpressure in two sentences."):
print(chunk.text, end="", flush=True).text chỉ thu thập các khối văn bản của từng đoạn dữ liệu, nên nội dung vẫn gọn sạch khi mô hình cũng xuất ra các khối suy nghĩ hoặc sử dụng công cụ. Dùng truyền dữ liệu dạng luồng cho câu trả lời dài: yêu cầu dài không dùng truyền dữ liệu dạng luồng là nguyên nhân thường gặp gây hết thời gian chờ.
Công cụ và đầu ra có cấu trúc
from langchain_core.tools import tool
@tool
def get_time(city: str) -> str:
"""Return the current local time in a city."""
return "12:00"
msg = llm.bind_tools([get_time]).invoke("What time is it in Tokyo?")
print(msg.tool_calls)from pydantic import BaseModel
class Weather(BaseModel):
city: str
temperature_c: float
print(llm.with_structured_output(Weather).invoke("It is 21 degrees in Lisbon today."))Thử lại, thời gian chờ và max_tokens
max_retries mặc định là 2, giống như SDK của Anthropic, vốn thử lại khi gặp lỗi kết nối, 429 và phản hồi 5xx. timeout (bí danh của default_request_timeout) được tính bằng giây. Nếu bạn để max_tokens chưa được thiết lập, giá trị sẽ được lấy từ hồ sơ của mô hình.
llm = ChatAnthropic(
model="claude-sonnet-5",
base_url="https://aiprimetech.io",
max_retries=4,
timeout=120,
max_tokens=8000,
)Với các lô yêu cầu, hãy giới hạn mức xử lý song song để không vượt quá giới hạn đồng thời của khóa: llm.batch(inputs, config={"max_concurrency": 3}).
Phương án thay thế với ChatOpenAI
Nếu mã của bạn được chuẩn hóa theo ChatOpenAI, endpoint tương thích OpenAI của gateway cũng phục vụ Claude. Cách này yêu cầu /v1 ở cuối, ngược với ChatAnthropic.
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="claude-sonnet-5", base_url="https://aiprimetech.io/v1", api_key="your_gateway_key")Ưu tiên ChatAnthropic cho Claude: công cụ này giữ các tính năng gốc như bộ nhớ đệm prompt và các khối suy nghĩ.
Khắc phục sự cố
| Những gì bạn thấy | Nguyên nhân | Cách khắc phục |
|---|---|---|
404 page not found | /v1 trong phần sau của ChatAnthropic: base_url | Dùng URL gốc của máy chủ, https://aiprimetech.io |
Model "..." is not supported | ID không được nhóm của khóa hỗ trợ, hoặc tên cũ có kèm ngày tháng | Dùng ID hiện hành từ bảng bên dưới |
AuthenticationError | ANTHROPIC_API_KEY trống trong tiến trình đang chạy, hoặc khóa dành cho endpoint khác | Truyền api_key= một cách tường minh để kiểm tra |
RateLimitError: Concurrency limit exceeded | Quá nhiều lệnh gọi song song (batch, gather bất đồng bộ) | max_concurrency trong cấu hình lô |
APITimeoutError | Các tác vụ tạo nội dung dài không dùng streaming | Dùng truyền luồng hoặc tăng timeout |
| ID mô hình | Dùng cho |
|---|---|
claude-sonnet-5 | Lựa chọn mặc định cho lập trình và tác vụ của tác nhân: nhanh, mạnh, giá tầm trung. |
claude-opus-5-5 | Suy luận khó hơn, tái cấu trúc mã quy mô lớn, tác nhân chạy trong thời gian dài. |
claude-fable-5-1 | Năng lực cao nhất và đắt nhất; dành cho các tác vụ khó nhất. |
claude-haiku-4-5 | Rẻ và nhanh: tiêu đề, tóm tắt, phân loại, các bước nhỏ. |
Câu hỏi thường gặp
Làm cách nào để import ChatAnthropic?
base_url của ChatAnthropic có cần /v1 không?
ChatAnthropic đọc những biến môi trường nào?
base_url có giống anthropic_api_url không?
Lấy khóa API — không cần tài khoản Anthropic hay đăng ký danh sách chờ.
Lấy khóa API của bạnAI Prime Tech là một cổng API độc lập. AI Prime Tech không liên kết với, không được Anthropic chứng thực và không phải là đại lý bán lại của Anthropic. Claude và các tên mô hình liên quan là nhãn hiệu của chủ sở hữu tương ứng.