| import os | |
| from abc import ABC, abstractmethod | |
| from typing import Any, Dict | |
| from groq import Groq | |
| client = Groq() | |
| class BaseAgent(ABC): | |
| def __init__(self, model_name: str = "llama3-8b-8192"): | |
| self.model_name = model_name | |
| async def get_completion(self, prompt: str) -> str: | |
| try: | |
| response = client.chat.completions.create(messages=[{'role': 'user', 'content': prompt}], model=self.model_name) | |
| return response.choices[0].message.content | |
| except Exception as e: | |
| raise Exception(f"Error getting completion: {str(e)}") | |
| class MainAgent(BaseAgent): | |
| async def process(self, input_data: Any) -> Dict[str, Any]: | |
| pass | |
| class ValidatorAgent(BaseAgent): | |
| async def validate(self, input_data: Any, output_data: Any) -> Dict[str, bool]: | |
| pass |