Remiscus's picture
Upload folder using huggingface_hub
6bc4708 verified
from pydantic_ai import Agent, RunContext
import openai
from pydantic_ai.models.openai import OpenAIModelSettings, OpenAIModel
from pydantic_ai.providers.openai import OpenAIProvider
from pydantic import BaseModel, Field
from settings import Settings
import asyncio
from dataclasses import dataclass
settings = Settings()
groq_settings = OpenAIModelSettings(
temperature=0.7,
top_p=0.95,
frequency_penalty=0,
)
model_name = "llama-3.3-70b"
client = openai.AsyncOpenAI(api_key=settings.cerebras_api_key, base_url=settings.cerebras_base_url)
model = OpenAIModel(
model_name=model_name,
provider=OpenAIProvider(openai_client=client),
)
@dataclass
class Deps:
pass
class Form(BaseModel):
customername: str = Field(description="The name of the customer making the request if given, else 'unknown'")
requesttype: str = Field(description="The type of request being made. example: 'technical support', 'billing', etc.")
issue: str = Field(description="Detailed description of 50 lines of the issue being reported by the customer")
emotion: str = Field(description="The emotion of the customer to be given in one word. example: 'angry', 'happy', 'sad', etc.")
with open("form_prompt.txt", "r") as file:
form_prompt = file.read()
with open("response_prompt.txt", "r") as file:
response_prompt = file.read()
form_agent = Agent(
model=model,
model_settings=groq_settings,
system_prompt=form_prompt,
retries=3,
result_type=Form,
)
response_agent = Agent(
model=model,
model_settings=groq_settings,
system_prompt=response_prompt,
retries=3,
)
# Code below is only for debugging please ignore
async def chat():
while True:
user_message = input("You: ")
if user_message == "exit":
break
result = await form_agent.run(user_prompt=user_message)
response = result.data if result else "Sorry, I failed to process that."
print("Bot:", response)
# asyncio.run(chat())