Spaces:
Sleeping
Sleeping
| import os | |
| import openai | |
| class BaseAgent: | |
| """Base class for all agents. Override __call__ to implement agent logic.""" | |
| def __call__(self, question: str) -> str: | |
| raise NotImplementedError("Agent must implement __call__ method.") | |
| class LLMOpenAIAgent(BaseAgent): | |
| """Agent that uses OpenAI's GPT-3.5-turbo to answer questions.""" | |
| def __init__(self, api_key=None): | |
| self.api_key = api_key or os.getenv("OPENAI_API_KEY") | |
| openai.api_key = self.api_key | |
| def __call__(self, question: str) -> str: | |
| try: | |
| response = openai.ChatCompletion.create( | |
| model="gpt-3.5-turbo", | |
| messages=[{"role": "user", "content": question}], | |
| max_tokens=256, | |
| temperature=0.2, | |
| ) | |
| return response.choices[0].message["content"].strip() | |
| except Exception as e: | |
| return f"Error: {e}" |