Skip to main content
Evaluator SDK chạy các đánh giá trên cơ sở hạ tầng của riêng bạn. Worker của bạn đăng ký các đánh giá của nó với Failproof AI, nhận các phiên khi chúng hoàn thành, chấm điểm chúng, và gửi kết quả, tất cả qua HTTPS đi ra: không có gì kết nối vào nó. Sử dụng nó cho những điều mà hosted Python không thể làm — LLM judges, lệnh gọi mô hình, các gói, secrets, và truy cập mạng. Các kết quả của nó xuất hiện bên cạnh các kết quả hosted trên trang evaluations, được gắn thẻ customer. Nó được cung cấp trong failproofai-sdk, dưới failproofai_sdk.evaluator; nhập SDK tracing không tải nó.

Viết các evaluations

  • @app.eval(key, version=...) đăng ký một evaluation. Key là thứ mà các kết quả của nó được biểu diễn; thay đổi phiên bản bất cứ khi nào logic thay đổi, và mỗi kết quả giữ phiên bản đã tạo ra nó. Một worker chứa tối đa 100 evaluations.
  • result_kind là "score" trừ khi bạn nói cách khác. Đối với một evaluation "metric" hoặc "assertion", đặt tên một mục metrics hoặc assertions theo key: mục đó là kết quả của nó.
  • when quyết định xem một phiên có áp dụng hay không. Trả về ConditionResult(False, "<reason>") để bỏ qua một phiên, và lý do được ghi lại.
  • Một evaluation có thể là một hàm thông thường hoặc async, và timeout_seconds giới hạn nó.
  • Các khóa payload — tool_name, response, và content ở trên — là bất cứ thứ gì agents của bạn gửi, vì vậy hãy đọc chúng từ một phiên thực.

Chạy worker

Đặt một khóa với quyền evaluations:run, được tạo dưới Administration → Keys, trong FAILPROOFAI_EVALUATOR_TOKEN — đặt nó từ secret store của bạn thay vì gõ nó vào một lệnh — và khởi động worker:
Không có khối __main__, python -m failproofai_sdk.evaluator evaluator:app làm điều tương tự.
FAILPROOFAI_EVALUATOR_ALLOW_INSECURE_HTTP gửi mọi thứ ở dạng plaintext. Worker mang FAILPROOFAI_EVALUATOR_TOKEN như một header Authorization: Bearer trên mỗi yêu cầu, và các bản ghi mà nó tìm nạp là các phiên themselves — vì vậy bất cứ ai trên đường đi đều đọc được cả hai, và token mà họ đọc được sẽ chạy các evaluations cho đến khi bạn xoay nó. Chỉ sử dụng nó trên một mạng phát triển bị cô lập. Ở bất kỳ nơi nào khác URL phải là HTTPS; loopback không cần cờ.

Các loại kết quả

Một EvalResult mang ít nhất một score, metric, hoặc assertion, và tối đa 25, mỗi cái dưới một khóa duy nhất.

Phiên

Mỗi sự kiện mang id, ts, event_type, và payload.

Evaluator cũ

Evaluator SDK trước đó — một dịch vụ HTTP mà Failproof AI gọi tại EVALUATOR_ENDPOINT, trả lời /evaluate và được thăm dò qua JobPending — đã bị loại bỏ. Xây dựng các evaluator mới trên worker này; các nhà khai thác một instance tự lưu trữ chạy một dịch vụ cũ có thể giữ nó qua quá trình chuyển đổi.