OpenAI Agents SDK 使用自定义的 OpenAI-Compatible API

OpenAI Agents SDK 使用自定义的 OpenAI-Compatible API

设置环境变量,

os.environ["OPENAI_API_KEY"] = "sk-******"
os.environ["OPENAI_API_BASE_URL"] = "http://192.168.31.15:8000/v1"

创建 openai_client,

openai_client = AsyncOpenAI(
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_API_BASE_URL")
)

创建 Agent时,指定使用 openai_client,

    agent = Agent(
        name="Assistant",
        instructions="You are a helpful assistant",
        model=OpenAIChatCompletionsModel(
            model="gpt-4o",
            openai_client=openai_client
        ),
        model_settings=ModelSettings(temperature=0.7),
    )

示例代码,

import base64
import os
from agents import Agent, Runner, AsyncOpenAI, OpenAIChatCompletionsModel, ModelSettings, set_default_openai_client, \
    set_default_openai_api, enable_verbose_stdout_logging, RunConfig, set_trace_processors

import logging
import nest_asyncio
import logfire
import asyncio

from langsmith.wrappers import OpenAIAgentsTracingProcessor

os.environ["DEFAULT_MODEL_PLATFORM_TYPE"] = "openai"
os.environ["DEFAULT_MODEL_TYPE"] = "gpt-4o"
os.environ["OPENAI_API_KEY"] = "sk-******"
os.environ["OPENAI_API_BASE_URL"] = "http://192.168.31.15:8000/v1"
os.environ["OPENAI_AGENTS_DISABLE_TRACING"] = "1"

os.environ["LANGSMITH_API_KEY"] = "lsv2_pt_******"
os.environ["LANGSMITH_ENDPOINT"] = "https://api.smith.langchain.com"

os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-lf-******"
os.environ["LANGFUSE_SECRET_KEY"] = "sk-lf-******"
os.environ["LANGFUSE_HOST"] = "http://192.168.31.20:9009"

LANGFUSE_AUTH = base64.b64encode(
    f"{os.environ.get('LANGFUSE_PUBLIC_KEY')}:{os.environ.get('LANGFUSE_SECRET_KEY')}".encode()
).decode()

os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = os.environ.get("LANGFUSE_HOST") + "/api/public/otel"
os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"Authorization=Basic {LANGFUSE_AUTH}"

nest_asyncio.apply()

# Configure logfire instrumentation.
logfire.configure(
    service_name='my_agent_service',
    send_to_logfire=False,
)
# This method automatically patches the OpenAI Agents SDK to send logs via OTLP to Langfuse.
logfire.instrument_openai_agents()

# logging.basicConfig(
#     format='%(asctime)s %(levelname)s [%(pathname)s:%(lineno)d] %(message)s',
#     datefmt='%Y-%m-%d %H:%M:%S',
#     level=logging.DEBUG
# )


openai_client = AsyncOpenAI(
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_API_BASE_URL")
)

set_default_openai_client(openai_client)
set_default_openai_api("chat_completions")
enable_verbose_stdout_logging()


async def main():
    agent = Agent(
        name="Assistant",
        instructions="You are a helpful assistant",
        model=OpenAIChatCompletionsModel(
            model="gpt-4o",
            openai_client=openai_client
        ),
        model_settings=ModelSettings(temperature=0.7),
    )

    result = Runner.run_sync(
        agent,
        "写一首关于编程中递归的俳句。",
        run_config=RunConfig(tracing_disabled=False),
    )
    print(result.final_output)


if __name__ == "__main__":
    set_trace_processors([OpenAIAgentsTracingProcessor()])
    asyncio.run(main())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值