第八部分,协议与框架开发

pi-ai 统一模型 API

使用 @earendil-works/pi-ai 连接多 Provider、定义工具、流式推理、跟踪成本和跨模型交接。

模型与 Context

pi-ai 是 Pi 的统一 LLM API,只包含支持工具调用的模型。Models collection 注册 Provider,Context 保存 systemPrompt、messages 和 tools,可序列化并在模型之间传递。

库支持 OpenAI、OpenAI Codex、Anthropic、Google、Azure、Bedrock、OpenRouter 和多种 OpenAI 兼容服务。

bash
npm install @earendil-works/pi-ai
typescript
import { builtinModels } from "@earendil-works/pi-ai/providers/all";

const models = builtinModels();
const model = models.getModel("openai", "gpt-5.6");
if (!model) throw new Error("Model not found");

生产关注点

  • 处理流式 text、thinking 和 tool call 事件。
  • 验证工具参数并回传 ToolResult。
  • 记录 usage、cost 与 stop reason。
  • 实现 AbortSignal 和错误分类。
  • 用 faux Provider 做确定性测试。

官方资料

本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。

Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License