openai-agents 中custom example agent

news/2025/3/18 12:03:42/

代码

pip show openai-agents
Name: openai-agents
Version: 0.0.4
Summary: OpenAI Agents SDK
Home-page: https://github.com/openai/openai-agents-python
Author: 
Author-email: OpenAI <support@openai.com>
License-Expression: MIT
Location: d:\soft\anaconda\envs\oi_agents\Lib\site-packages
Requires: griffe, openai, pydantic, requests, types-requests, typing-extensions
Required-by: 
Note: you may need to restart the kernel to use updated packages.
import asyncio
import osfrom openai import AsyncOpenAIfrom agents import Agent, OpenAIChatCompletionsModel, Runner, function_tool, set_tracing_disabledBASE_URL = "https://open.bigmodel.cn/api/paas/v4/"
API_KEY = "your api key"
MODEL_NAME = "glm-4-flash"if not BASE_URL or not API_KEY or not MODEL_NAME:raise ValueError("Please set EXAMPLE_BASE_URL, EXAMPLE_API_KEY, EXAMPLE_MODEL_NAME via env var or code.")client = AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY)
set_tracing_disabled(disabled=True)@function_tool
def get_weather(city: str):print(f"[debug] getting weather for {city}")return f"The weather in {city} is sunny."async def main():# This agent will use the custom LLM provideragent = Agent(name="Assistant",instructions="You only respond in haikus.",model=OpenAIChatCompletionsModel(model=MODEL_NAME, openai_client=client),tools=[get_weather],)result = await Runner.run(agent, "What's the weather in Tokyo?")print(result.final_output)await main()
[debug] getting weather for Tokyo
Sunny skies in Tokyo.

代码解释

  1. 环境信息展示
pip show openai-agents

这个命令显示了当前安装的 openai-agents 包的信息,包括版本号(0.0.4)、依赖项等。
版本号(0.0.3)不可用

  1. 主要代码结构
  • 导入必要模块

    • asyncio: 用于异步编程
    • AsyncOpenAI: OpenAI 的异步客户端
    • agents 模块中导入了必要的组件
  • 配置设置

    BASE_URL = "https://open.bigmodel.cn/api/paas/v4/"
    API_KEY = "..."
    MODEL_NAME = "glm-4-flash"
    

    这里配置了智谱 AI 的接口地址和认证信息。

  • 工具函数定义

    @function_tool
    def get_weather(city: str):
    

    定义了一个获取天气的工具函数,这是一个模拟函数,总是返回晴天。

  • 主要逻辑

    async def main():agent = Agent(...)result = await Runner.run(agent, "What's the weather in Tokyo?")
    

    创建了一个智能助手,它:

    • 被设置为只用俳句形式回答
    • 使用智谱 AI 的 GLM-4-flash 模型
    • 具备查询天气的能力
    • 被要求查询东京的天气
  1. 运行结果
[debug] getting weather for Tokyo
Sunny skies in Tokyo.

显示了调用天气工具的调试信息和最终的响应结果。

这是一个展示如何使用自定义 LLM 提供商(这里是智谱 AI)来创建智能助手的示例,通过异步方式执行,并且集成了自定义工具函数。助手被特别设置为用俳句形式回答,这是一个有趣的约束条件。

参考链接:https://github.com/openai/openai-agents-python/tree/main/examples/model_providers


http://www.ppmy.cn/news/1580065.html

相关文章

大模型GGUF和LLaMA的区别

GGUF&#xff08;Gigabyte-Graded Unified Format&#xff09;和LLaMA&#xff08;Large Language Model Meta AI&#xff09;是两个不同层面的概念&#xff0c;分别属于大模型技术栈中的不同环节。它们的核心区别在于定位和功能&#xff1a; 1. LLaMA&#xff08;Meta的大语言…

深度学习正则化技术之权重衰减法、暂退法(通俗易懂版)

一、影响模型泛性的因素有&#xff1f;什么是正则化技术&#xff1f;有什么用&#xff1f; 通常&#xff0c;影响模型泛化能力的因素有&#xff1a; 可调节参数的个数&#xff1a;可调节的参数过少&#xff0c;会造成模型过于简单&#xff0c;欠拟合&#xff1b;过多&#xf…

Github 2025-03-14 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2025-03-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10Apache Pulsar - 灵活的分布式消息平台 创建周期:2838 天开发语言:Java协议类型:Apache License 2.0Star数量:13693 个Fork数量:…

NET进行CAD二次开发之二

本文主要针对CAD 二次开发入门与实践:以 C# 为例_c# cad-CSDN博客的一些实践问题做一些补充。 一、DLL介绍 在 AutoCAD 中,accoremgd.dll、acdbmgd.dll 和 acmgd.dll 都是与.NET API 相关的动态链接库,它们在使用.NET 语言(如 C#、VB.NET)进行 AutoCAD 二次开发时起着关…

低压电工证考试常见题型有哪些?有哪些答题技巧

低压电工证考试分为理论考试和实操考试两部分。理论考试题型有选择题、判断题&#xff1b;实操考试则是考核实际操作能力。以下是常见题型及答题技巧&#xff1a; 理论考试 选择题&#xff1a;包括单选题和多选题。单选题要求从多个选项中选择一个正确答案&#xff0c;多选题…

C++设计模式-外观模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析

一、基本介绍&#xff1a;复杂系统的"服务总台" 1.1 模式定义 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过为多个复杂的子系统提供一个统一的高层接口&#xff0c;使这些子系统更易于使用。比如银行大堂的引导台&#…

C3P0数据库连接池技术详解及实战

1. 引言 在现代Java开发中&#xff0c;数据库访问是至关重要的一环。传统的JDBC连接方式由于频繁创建和销毁数据库连接&#xff0c;导致性能低下&#xff0c;资源占用过多。为了解决这一问题&#xff0c;数据库连接池&#xff08;Connection Pool&#xff09;技术应运而生。 C…

深度学习-yolo实战项目【分类、目标检测、实例分割】?如何创建自己的数据集?如何对数据进行标注?没有GPU怎么办呢?

一、本地环境配置 &#xff08;1&#xff09;本地创建虚拟环境 &#xff08;2&#xff09;下载项目到本地 &#xff08;3&#xff09;安装依赖 &#xff08;4&#xff09;测试一下 二、电脑没有GPU训练不了怎么办&#xff1f;【不用本地环境】 &#xff08;1&#xff0…