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}" |