OpenAI Agents: 配置,运行
配置: 在 Agent 初始化是, openai agent 允许用户配置一些选项:
返回类型, 用户可以定义一个 pydantic 类型, 然后让 agent 的 final_output 为该指定类型为最终的输出。 不过, 经过测试, 这对 deepseek 的接口并不能运行成功, 或许 deepseek 的兼容性不能很好的支持
上下文: 在向大模型提问时, 当涉及到私有内容时, 通常需要提供很多上下文, 这是通过运行时提供 context 参数在告诉 agent, 上下文也可以是自定义的类型, 不过在这种情况下, 声明 Agent 时需要提供类型, 如: agent1 = Agent[UserInfo](name=...)
系统指令: 一般系统指令时固定的, 在 Agent 初始化的时候就确定, 但是, 这个框架也允许提供动态的指令绑定, 由运行是的 input 或者 context 来决定
Hooks: 框架提供了不同的 hooks, 可以处理运行期的不同状态变化, 这可以在声明 Agent 时指定, 也可以在 Run 时指定, 当然这两种情况需要指定不同的基类。 支持的消息类型包括:
agent start
agent end
tool start
tool end
agent handoff
input: Agent 运行时提供, 可以是简单的 stream, 或者是个字典格式。 也提供了把上一步的 result 转化成输入格式的方法, 使得可以实现连续的对话
运行: 框架提供了同步, 异步, 以及流式 3 中不同的运行模式。 这都是通过 Runner 类来实现
run: 异步调用
run_sync: 同步调用
run_stream: 流式
评论