openai agent sdk实战-基于ollama+qwen2.5实现openai agent sdk调用

目录

0 环境准备

1 开发环境准备

1.1 创建项目python环境

1.2 在pycharm创建项目

1.3 安装项目依赖

2 程序逻辑实现

2.1 新建agents_sdk_test1.python文件

2.2 导入相关依赖包

2.3 加载配置文件

2.4 定义openai client

2.5 定义chat模型

2.6 定义agent

2.7 agent调用主流程

2.8 定义main入口

3 完整代码

4 运行结果


0 环境准备

  • ollama已部署推理模型qwen:7b(deepseek目前不支持function calling)
  • 已安装miniconda环境
  • 具备科学上网条件

1 开发环境准备

1.1 创建项目python环境

通过conda命令创建项目的python开发环境

 conda create -n mcp_demo python=3.10

1.2 在pycharm创建项目

  • 解释器类型:选择自定义环境
  • 环境:选择现有
  • 类型:选择conda
  • 环境:选择上一步创建的环境

1.3 安装项目依赖

安装openai、openai-agents openai相关依赖

安装python-dotenv python读取环境配置文件依赖

 pip install openai python-dotenv openai-agents

2 程序逻辑实现

2.1 新建agents_sdk_test1.python文件

2.2 导入相关依赖包

import os

from agents import set_default_openai_client, OpenAIChatCompletionsModel, Agent, Runner
from dotenv import load_dotenv
from openai import AsyncOpenAI

2.3 加载配置文件

load_dotenv()

2.4 定义openai client

def get_openai_client():
    api_key = os.getenv('OPENAI_API_KEY')
    base_url = os.getenv('BASE_URL')
    return AsyncOpenAI(
        api_key=api_key,
        base_url=base_url
    )

2.5 定义chat模型

def get_chat_model(external_client):
    model_name = os.getenv('MODEL')
    return OpenAIChatCompletionsModel(
        model=model_name,
        openai_client=external_client
    )

2.6 定义agent

def get_agent(model):
    return Agent(
        name = "助手",
        instructions = "你是一个助手,帮助用户回答问题。",
        model = model
    )

2.7 agent调用主流程

async def run_request():
    external_client = get_openai_client()
    set_default_openai_client(external_client)

    agent = get_agent(get_chat_model(external_client))

    result = await Runner.run(
        agent,
        "请写一首关于春天的诗"
    )

    return result.final_output

2.8 定义main入口

if __name__ == "__main__":
    import asyncio
    print(asyncio.run(run_request()))

3 完整代码

import os

from agents import set_default_openai_client, OpenAIChatCompletionsModel, Agent, Runner
from dotenv import load_dotenv
from openai import AsyncOpenAI

load_dotenv()

def get_openai_client():
    api_key = os.getenv('OPENAI_API_KEY')
    base_url = os.getenv('BASE_URL')
    return AsyncOpenAI(
        api_key=api_key,
        base_url=base_url
    )

def get_chat_model(external_client):
    model_name = os.getenv('MODEL')
    return OpenAIChatCompletionsModel(
        model=model_name,
        openai_client=external_client
    )

def get_agent(model):
    return Agent(
        name = "助手",
        instructions = "你是一个助手,帮助用户回答问题。",
        model = model
    )

async def run_request():
    external_client = get_openai_client()
    set_default_openai_client(external_client)

    agent = get_agent(get_chat_model(external_client))

    result = await Runner.run(
        agent,
        "请写一首关于春天的诗"
    )

    return result.final_output

if __name__ == "__main__":
    import asyncio
    print(asyncio.run(run_request()))

4 运行结果

附录

.env配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值