AnP/Python/Controllers/AIController.py

36 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 __test_execution(self:Self, end:Callable[[], None], request:RequestModel) -> None:
print("PASA")
self.anp.ai_interpreters.request(
"anp_titles",
None,
request.get("message", "Hola, Gemma. ¿Me puedes ayudar a instalar una impresora Canon?"),
lambda id, response: print((id, response.response)),
[
"Seleccionar títulos exactos relacionados con la consulta:" + "".join(
"\n - " + title for title in [
"Información, gestión e instalación de Cividas",
"Información, gestión e instalación de Impresoras/Fotocopiadoras/Multifuncionales Canon"
]
),
]
)
end()
def test(self:Self, request:RequestModel) -> None:
self.anp.queues.add("anp", self.__test_execution, request)
request.set_response({
"ok" : True,
"code" : 200,
"message" : "ok"
})