跳转至

代码示例

请查看仓库的 examples 部分中 SDK 的多种示例实现。这些代码示例按多个目录组织,展示不同的模式和能力。

目录

  • agent_patterns: 此目录中的代码示例展示常见的智能体设计模式,例如

    • 确定性工作流
    • Agents as tools
    • 带流式传输事件的 Agents as tools(examples/agent_patterns/agents_as_tools_streaming.py
    • 带结构化输入参数的 Agents as tools(examples/agent_patterns/agents_as_tools_structured.py
    • 并行智能体执行
    • 条件式工具使用
    • 以不同行为强制使用工具(examples/agent_patterns/forcing_tool_use.py
    • 输入/输出安全防护措施
    • 作为评判器的 LLM
    • 路由
    • 流式传输安全防护措施
    • 包含工具审批和状态序列化的人工介入(examples/agent_patterns/human_in_the_loop.py
    • 带流式传输的人工介入(examples/agent_patterns/human_in_the_loop_stream.py
    • 审批流程的自定义拒绝消息(examples/agent_patterns/human_in_the_loop_custom_rejection.py
  • basic: 这些代码示例展示 SDK 的基础能力,例如

    • Hello world 代码示例(默认模型、GPT-5、开放权重模型)
    • 智能体生命周期管理
    • Run 钩子和智能体钩子的生命周期代码示例(examples/basic/lifecycle_example.py
    • 动态系统提示词
    • 基础工具用法(examples/basic/tools.py
    • 工具输入/输出安全防护措施(examples/basic/tool_guardrails.py
    • 图像工具输出(examples/basic/image_tool_output.py
    • 流式传输输出(文本、项、函数调用参数)
    • 使用跨轮次共享会话辅助工具的 Responses WebSocket 传输(examples/basic/stream_ws.py
    • 提示词模板
    • 文件处理(本地和远程、图像和 PDF)
    • 用量跟踪
    • Runner 管理的重试设置(examples/basic/retry.py
    • 通过第三方适配器进行的 Runner 管理重试(examples/basic/retry_litellm.py
    • 非严格输出类型
    • 前一个响应 ID 的用法
  • customer_service: 航空公司的示例客户服务系统。

  • financial_research_agent: 一个金融研究智能体,展示用于金融数据分析的智能体和工具的结构化研究工作流。

  • handoffs: 带消息过滤的智能体任务转移实践代码示例,包括:

    • 消息过滤器代码示例(examples/handoffs/message_filter.py
    • 带流式传输的消息过滤器(examples/handoffs/message_filter_streaming.py
  • hosted_mcp: 演示如何通过 OpenAI Responses API 使用托管式 MCP(Model Context Protocol)的代码示例,包括:

    • 无需审批的简单托管式 MCP(examples/hosted_mcp/simple.py
    • Google Calendar 等 MCP 连接器(examples/hosted_mcp/connectors.py
    • 基于中断审批的人工介入(examples/hosted_mcp/human_in_the_loop.py
    • MCP 工具调用的审批通过回调(examples/hosted_mcp/on_approval.py
  • mcp: 了解如何使用 MCP(Model Context Protocol)构建智能体,包括:

    • 文件系统代码示例
    • Git 代码示例
    • MCP 提示词服务代码示例
    • SSE(Server-Sent Events)代码示例
    • SSE 远程服务连接(examples/mcp/sse_remote_example
    • Streamable HTTP 代码示例
    • Streamable HTTP 远程连接(examples/mcp/streamable_http_remote_example
    • 用于 Streamable HTTP 的自定义 HTTP 客户端工厂(examples/mcp/streamablehttp_custom_client_example
    • 使用 MCPUtil.get_all_function_tools 预取所有 MCP 工具(examples/mcp/get_all_mcp_tools_example
    • 使用 FastAPI 的 MCPServerManager(examples/mcp/manager_example
    • MCP 工具过滤(examples/mcp/tool_filter_example
  • memory: 面向智能体的不同记忆实现的代码示例,包括:

    • SQLite 会话存储
    • 高级 SQLite 会话存储
    • Redis 会话存储
    • SQLAlchemy 会话存储
    • Dapr 状态存储会话存储
    • 加密会话存储
    • OpenAI Conversations 会话存储
    • Responses 压缩会话存储
    • 使用 ModelSettings(store=False) 的无状态 Responses 压缩(examples/memory/compaction_session_stateless_example.py
    • 基于文件的会话存储(examples/memory/file_session.py
    • 带人工介入的基于文件的会话(examples/memory/file_hitl_example.py
    • 带人工介入的 SQLite 内存会话(examples/memory/memory_session_hitl_example.py
    • 带人工介入的 OpenAI Conversations 会话(examples/memory/openai_session_hitl_example.py
    • 跨会话的 HITL 审批/拒绝场景(examples/memory/hitl_session_scenario.py
  • model_providers: 了解如何在 SDK 中使用非 OpenAI 模型,包括自定义提供方和第三方适配器。

  • realtime: 展示如何使用 SDK 构建实时体验的代码示例,包括:

    • 包含结构化文本和图像消息的 Web 应用模式
    • 命令行音频循环和播放处理
    • 基于 WebSocket 的 Twilio Media Streams 集成
    • 使用 Realtime Calls API attach 流程的 Twilio SIP 集成
  • reasoning_content: 演示如何处理推理内容的代码示例,包括:

    • 使用 Runner API 处理推理内容,包含流式传输和非流式传输(examples/reasoning_content/runner_example.py
    • 通过 OpenRouter 使用 OSS 模型处理推理内容(examples/reasoning_content/gpt_oss_stream.py
    • 基础推理内容代码示例(examples/reasoning_content/main.py
  • research_bot: 简单的深度研究克隆,演示复杂的多智能体研究工作流。

  • tools: 了解如何实现由OpenAI托管的工具和实验性 Codex 工具,例如:

    • 网络检索以及带过滤器的网络检索
    • 文件检索
    • Code interpreter
    • 带文件编辑和审批的 Apply patch 工具(examples/tools/apply_patch.py
    • Shell 工具执行与审批回调(examples/tools/shell.py
    • 带基于中断的人工介入审批的 Shell 工具(examples/tools/shell_human_in_the_loop.py
    • 带内联技能的托管容器 shell(examples/tools/container_shell_inline_skill.py
    • 带技能引用的托管容器 shell(examples/tools/container_shell_skill_reference.py
    • 带本地技能的本地 shell(examples/tools/local_shell_skill.py
    • 带命名空间和延迟工具的工具搜索(examples/tools/tool_search.py
    • 计算机操作
    • 图像生成
    • 实验性 Codex 工具工作流(examples/tools/codex.py
    • 实验性 Codex 同线程工作流(examples/tools/codex_same_thread.py
  • voice: 查看语音智能体代码示例,这些示例使用我们的 TTS 和 STT 模型,并包含流式传输语音示例。