/
githubmirror
/
devika
Обзор
Документация
Войти
/
githubmirror
/
devika
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/agents/action/action.py
41 строка
1 KB
ayush rajgor
Improve and Fix: response parser, invalid response and others (#522)
02 май 2024, 17:32
Не верифицирован
02 май 2024, 17:32
cdfb782
Код
Авторство
О чём код?
import json from jinja2 import Environment, BaseLoader from src.services.utils import retry_wrapper, validate_responses from src.config import Config from src.llm import LLM PROMPT = open("src/agents/action/prompt.jinja2", "r").read().strip() class Action: def __init__(self, base_model: str): config = Config() self.project_dir = config.get_projects_dir() self.llm = LLM(model_id=base_model) def render( self, conversation: str ) -> str: env = Environment(loader=BaseLoader()) template = env.from_string(PROMPT) return template.render( conversation=conversation ) @validate_responses def validate_response(self, response: str): if "response" not in response and "action" not in response: return False else: return response["response"], response["action"] @retry_wrapper def execute(self, conversation: list, project_name: str) -> str: prompt = self.render(conversation) response = self.llm.inference(prompt, project_name) valid_response = self.validate_response(response) return valid_response