Denys Kanunnikov
update agent logic
acef13a
raw
history blame contribute delete
913 Bytes
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}"