|
2 | 2 |
|
3 | 3 | import azure.identity |
4 | 4 | from dotenv import load_dotenv |
5 | | -from openai import AsyncAzureOpenAI |
| 5 | +from openai import AsyncAzureOpenAI, AsyncOpenAI |
6 | 6 | from pydantic_ai import Agent |
7 | 7 | from pydantic_ai.models.openai import OpenAIModel |
| 8 | +from pydantic_ai.providers.openai import OpenAIProvider |
8 | 9 |
|
9 | 10 | # Setup the OpenAI client to use either Azure, OpenAI.com, or Ollama API |
10 | 11 | load_dotenv(override=True) |
|
21 | 22 | ) |
22 | 23 | model = OpenAIModel(os.environ["AZURE_OPENAI_DEPLOYMENT"], openai_client=client) |
23 | 24 | elif API_HOST == "ollama": |
24 | | - model = OpenAIModel(os.environ["OLLAMA_MODEL"], api_key="fake", base_url=os.environ["OLLAMA_ENDPOINT"]) |
| 25 | + client = AsyncOpenAI(base_url=os.environ["OLLAMA_ENDPOINT"], api_key="fake") |
| 26 | + model = OpenAIModel(os.environ["OLLAMA_MODEL"], provider=OpenAIProvider(openai_client=client)) |
25 | 27 | elif API_HOST == "github": |
26 | | - model = OpenAIModel( |
27 | | - os.getenv("GITHUB_MODEL", "openai/gpt-4o"), |
28 | | - api_key=os.environ["GITHUB_TOKEN"], |
29 | | - base_url="https://models.github.ai/inference", |
30 | | - ) |
31 | | - |
| 28 | + client = AsyncOpenAI(api_key=os.environ["GITHUB_TOKEN"], base_url="https://models.github.ai/inference") |
| 29 | + model = OpenAIModel(os.getenv("GITHUB_MODEL", "openai/gpt-4o"), provider=OpenAIProvider(openai_client=client)) |
32 | 30 | else: |
33 | | - model = OpenAIModel(os.environ["OPENAI_MODEL"], api_key=os.environ["OPENAI_KEY"]) |
| 31 | + client = AsyncOpenAI(api_key=os.environ["OPENAI_KEY"]) |
| 32 | + model = OpenAIModel(os.environ["OPENAI_MODEL"], provider=OpenAIProvider(openai_client=client)) |
34 | 33 |
|
35 | 34 |
|
36 | 35 | agent = Agent(model, system_prompt="You are a helpful assistant that makes lots of cat references and uses emojis.") |
|
0 commit comments