From e63c16ec8084fdf5adf2834e3ef30bab7e5f51d5 Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Wed, 13 Aug 2025 18:20:45 +0900 Subject: [PATCH] Add a simple gpt-oss example --- examples/basic/hello_world_gpt_oss.py | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 examples/basic/hello_world_gpt_oss.py diff --git a/examples/basic/hello_world_gpt_oss.py b/examples/basic/hello_world_gpt_oss.py new file mode 100644 index 000000000..66c617f5b --- /dev/null +++ b/examples/basic/hello_world_gpt_oss.py @@ -0,0 +1,38 @@ +import asyncio +import logging + +from openai import AsyncOpenAI + +from agents import Agent, OpenAIChatCompletionsModel, Runner, set_tracing_disabled + +set_tracing_disabled(True) +logging.basicConfig(level=logging.DEBUG) + +# This is an example of how to use gpt-oss with Ollama. +# Refer to https://cookbook.openai.com/articles/gpt-oss/run-locally-ollama for more details. +# If you prefer using LM Studio, refer to https://cookbook.openai.com/articles/gpt-oss/run-locally-lmstudio +gpt_oss_model = OpenAIChatCompletionsModel( + model="gpt-oss:20b", + openai_client=AsyncOpenAI( + base_url="http://localhost:11434/v1", + api_key="ollama", + ), +) + + +async def main(): + # Note that using a custom outputType for an agent may not work well with gpt-oss models. + # Consider going with the default "text" outputType. + # See also: https://github.com/openai/openai-agents-python/issues/1414 + agent = Agent( + name="Assistant", + instructions="You're a helpful assistant. You provide a concise answer to the user's question.", + model=gpt_oss_model, + ) + + result = await Runner.run(agent, "Tell me about recursion in programming.") + print(result.final_output) + + +if __name__ == "__main__": + asyncio.run(main())