cs-ai-sakura-dev / src /internal /agents /base_agents.py
lifedebugger's picture
Deploy files from GitHub repository
bc216e0
from src.internal.rag.inference.inferencer import Inferencer
from abc import ABC, abstractmethod
from typing import List, Dict, Union
from dataclasses import dataclass, field
@dataclass
class AgentRequest:
chat_memory: List[Dict] = field(default_factory=lambda: [{}])
prompt_template: Union[List[Dict], Dict] = field(default_factory=lambda: [{}])
enable_search: bool = False
enable_retrieval: bool = False
question: str = ""
class Agent(ABC):
def __init__(self, inferencer:Union[Inferencer, None] = None):
if(inferencer is not None):
self.inferencer = inferencer
@abstractmethod
async def get_result(self, req:AgentRequest):
pass