AnP/Python/Controllers/AIController.py

39 lines
1.4 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from typing import Self, Any, Callable
from Abstracts.ModelAbstract import ModelAbstract
from Abstracts.ControllerAbstract import ControllerAbstract
from Models.RequestModel import RequestModel
from Models.PseudoLoRAModel import PseudoLoRAModel
class AIController(ControllerAbstract, ModelAbstract):
# def __init__(self:Self, anp:AnPInterface) -> None:
# self.anp: AnPInterface = anp
# def __temp(self:Self)
# def __get_data(self:Self, request:RequestModel, callback:Callable[..., Any|None]) -> None:
# self.anp.pseudoloras.get("anp_titles")
def __filter_loras_callback()
def __filter_loras(self:Self, message:str, loras:list[PseudoLoRAModel], keys:list[str]) -> None:
has_keys:bool = len(keys) > 0
self.anp.ai_interpreters.request("anp_titles", None, "# Títulos\n\n" + "\n".join(
"- " + lora.title + "" for lora in loras if not has_keys or lora.key in keys
) + "\n\n# Mensaje\n\n" + message, lambda id, response:None, [])
def get_pseudoloras(self:Self, request:RequestModel) -> None:
pass
def test(self:Self, request:RequestModel) -> None:
self.anp.ai_interpreters.request("anp_titles", None, request.get("message", "Hola"), lambda id, response: print((id, response.response)))
request.set_response({
"ok" : True,
"code" : 200,
"message" : "ok"
})