File size: 795 Bytes
c03605c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from typing import Any
import chainlit as cl

from agents import (
    Agent,
    AsyncOpenAI,
    OpenAIChatCompletionsModel,
    set_tracing_disabled,
)

from config import Config
from study_chatbot.instructions import STUDY_AGENT_INSTRUCTIONS


def create_study_agent() -> Agent[Any]:
    """
    Create and return a configured study Agent.
    """
    config = Config()

    external_client = AsyncOpenAI(
        api_key=config.gemini_api_key,
        base_url=config.gemini_api_url,
    )

    set_tracing_disabled(True)

    model = OpenAIChatCompletionsModel(
        model=config.gemini_api_model, openai_client=external_client
    )

    study_agent = Agent(
        name="Study Agent",
        instructions=STUDY_AGENT_INSTRUCTIONS,
        model=model,
    )

    return study_agent