SuperAPI AI 工具集

python-sdk

编程与开发

查看项目

更新于 10-16 05:03

技能介绍

该技能面向 Opik 的 Python SDK 开发,适用于在 sdks/python 目录工作、开发 SDK API、编写集成或处理消息的场景。

架构分三层:第一层为公开 API(opik.Opik、@opik.track);第二层为消息处理(队列、批处理、重试);第三层为 REST 客户端(OpikApi、HTTP)。

关键注意点:异步操作退出前必须调用 client.flush()。异步(经消息队列、发后即忘)操作包括 trace()、span()、log_traces_feedback_scores()、experiment.insert();同步(阻塞并返回数据)操作包括 create_dataset()、get_dataset()、create_prompt()、get_prompt()、search_traces()、search_spans()。集成应使用惰性导入,避免在包级别导入未安装的依赖。

集成模式选择:有回调的库用纯回调(LangChain、LlamaIndex);无回调的用方法补丁(OpenAI、Anthropic);回调不可靠的用混合模式(ADK)。示例:track_anthropic(client) 包装方法;OpikTracer 通过 config 的 callbacks 传入;@opik.track 装饰器自动创建 span 并捕获输入输出。依赖策略为不新增依赖、集成使用条件导入、版本边界保持宽松(如 >=2.0.0,<3.0.0)。

批处理会合并消息以提升效率,触发条件为时间(1 秒)、大小(100)、内存(50MB)或手动 flush。API 命名遵循 CRUD 用 create/get/list/update/delete,复杂查询用 search_*,批量操作使用 batch_create_items 等。参考文件包括 testing.md、error-handling.md 与 good-code.md。具体参数与完整实现细节暂未提供。