Cài đặt
pydantic-ai-slim phiên bản 2.0 đến 3.0. Phiên bản 2.0 đã loại bỏ Agent(instrument=...) và giới thiệu giao thức khả năng mà adapter này được xây dựng dựa trên, vì vậy phiên bản 1.x không thể được trang bị theo cách này.
Trang bị
root_capability duy nhất, vì vậy không có thuộc tính agent.capabilities để đọc.
Các agent được xây dựng trong khi được trang bị sẽ giữ lại khả năng này, vì vậy bạn có thể uninstrument() và trang bị lại mà không cần xây dựng lại chúng.
Những gì được ghi lại
Không có cặp hook và không có cặp human-in-the-loop ở đây. Pydantic AI không có ranh giới node hoặc step để đặt trong dấu ngoặc và không có pause cho người dùng tích hợp, vì vậy không có gì để ánh xạ. Nếu bạn xây dựng một trong hai cái, hãy phát ra các sự kiện tự mình — xem Custom agents.
output_type không tạo ra sự khác biệt đối với trace. Một lần chạy được gõ kiểu dữ liệu và một lần chạy chuỗi ký tự tạo ra các sự kiện tương tự.
Ví dụ
restock_eta xuất hiện như một tool_result mang theo lỗi, tiếp theo là một lệnh gọi mô hình khác nơi agent giải quyết vấn đề đó, và lần chạy vẫn kết thúc với success. Cả hai sự kiện đều được ghi lại.
Lỗi, thử lại và luồng điều khiển
Pydantic AI nâng cao ngoại lệ cho ba điều khác nhau, và adapter tách chúng:ModelRetry nằm trong nhóm đầu tiên một cách cố ý. Điều này có nghĩa là một nỗ lực thực sự đã thất bại và mô hình được yêu cầu thử lại, đó là những gì trường lỗi của span công cụ dành cho. Phân loại nó như luồng điều khiển sẽ che giấu các thất bại công cụ thực sự đằng sau một lần chạy thành công.
Đặt tên cho span của bạn
Span chạy của Pydantic AI được đặt tên làagent. Bao quanh lệnh gọi để đặt cho nó một tên bạn chọn:
inventory, và đó là nơi các sự kiện mô hình và công cụ được ghi lại.
Giữ agent_id có thẻ lực thấp. Nó là khía cạnh chính trên mọi bề mặt bảng điều khiển, vì vậy hãy sử dụng tên vai trò, không bao giờ sử dụng UUID hoặc chuỗi mỗi lần chạy.
Kiểm soát phiên
Được giải quyết theo thứ tự này, kết quả phù hợp đầu tiên thắng:instrument("pydantic_ai", session_id=...)- Phạm vi
failproofai_sdk.session()bao quanh conversation_idcủa lần chạy, sau đó làrun_idcủa nó- Một
uuid4().hexđược tạo
Các tùy chọn
Các vấn đề phổ biến
Lần chạy hoạt động nhưng không có sự kiện nào xuất hiện
Lần chạy hoạt động nhưng không có sự kiện nào xuất hiện
Agent được xây dựng trước khi instrument() chạy. Xem cảnh báo ở trên và kiểm tra agent.root_capability.capabilities.Một ngoại lệ thuần túy trong công cụ làm hỏng lần chạy
Một ngoại lệ thuần túy trong công cụ làm hỏng lần chạy
Một
raise trần trụi sẽ lan truyền; đó là thiết kế của Pydantic AI. Để cho phép mô hình giải quyết vấn đề đó, hãy nâng cao ModelRetry với một thông báo mà nó có thể hành động. Thất bại được ghi lại dù bằng cách nào.Có một span agent lồng nhau mà tôi không tạo ra
Có một span agent lồng nhau mà tôi không tạo ra
Đó là span chạy của Pydantic AI, và đó là nơi các sự kiện mô hình và công cụ được ghi lại. Thả phạm vi của riêng bạn nếu bạn muốn một span duy nhất, với chi phí là tên tùy chỉnh.
Traceback bắt đầu với dấu cắt ngắn
Traceback bắt đầu với dấu cắt ngắn
Ngăn xếp đồ thị không đồng bộ của Pydantic AI dài hơn giới hạn trường payload, và dòng cuối cùng của traceback là ngoại lệ tự nó. Trường này được cắt ngắn từ phía trước chứ không phải từ phía sau, vì vậy dòng bạn cần sẽ được giữ lại.
Tiếp theo
Cách hoạt động
Các cặp, ID, vòng đời phiên và giao hàng.
Đọc trace
Theo dõi nhân quả thông qua phiên bạn vừa chụp.
Các framework khác
LangGraph, CrewAI, LlamaIndex và các agent tùy chỉnh.

