Spaces:
Build error
Build error
File size: 2,002 Bytes
6bc4708 | 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | 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()) |