pbesa 4.0.33__tar.gz → 4.0.34__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. {pbesa-4.0.33 → pbesa-4.0.34}/PKG-INFO +1 -1
  2. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_generar_caso.py +1 -1
  3. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/cognitive.py +5 -3
  4. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa.egg-info/PKG-INFO +1 -1
  5. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa.egg-info/SOURCES.txt +0 -1
  6. {pbesa-4.0.33 → pbesa-4.0.34}/setup.py +1 -1
  7. pbesa-4.0.33/pbesa/celulas/celula_simulador_ciudadano.py +0 -115
  8. {pbesa-4.0.33 → pbesa-4.0.34}/.gitignore +0 -0
  9. {pbesa-4.0.33 → pbesa-4.0.34}/LICENSE +0 -0
  10. {pbesa-4.0.33 → pbesa-4.0.34}/LICENSE.txt +0 -0
  11. {pbesa-4.0.33 → pbesa-4.0.34}/MANIFEST +0 -0
  12. {pbesa-4.0.33 → pbesa-4.0.34}/README.md +0 -0
  13. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/db.sqlite3 +0 -0
  14. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/__init__.py +0 -0
  15. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/__pycache__/__init__.cpython-36.pyc +0 -0
  16. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/__pycache__/pbesa.cpython-36.pyc +0 -0
  17. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/__pycache__/settings.cpython-36.pyc +0 -0
  18. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/__pycache__/urls.cpython-36.pyc +0 -0
  19. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/__pycache__/wsgi.cpython-36.pyc +0 -0
  20. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/asgi.py +0 -0
  21. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/pbesa.py +0 -0
  22. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/settings.py +0 -0
  23. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/urls.py +0 -0
  24. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/helloworld/wsgi.py +0 -0
  25. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/manage.py +0 -0
  26. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__init__.py +0 -0
  27. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__pycache__/__init__.cpython-36.pyc +0 -0
  28. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__pycache__/admin.cpython-36.pyc +0 -0
  29. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__pycache__/apps.cpython-36.pyc +0 -0
  30. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__pycache__/models.cpython-36.pyc +0 -0
  31. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__pycache__/urls.cpython-36.pyc +0 -0
  32. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/__pycache__/views.cpython-36.pyc +0 -0
  33. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/admin.py +0 -0
  34. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/apps.py +0 -0
  35. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/controller/__pycache__/translatecontroller.cpython-36.pyc +0 -0
  36. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/controller/__pycache__/translatedelegate.cpython-36.pyc +0 -0
  37. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/controller/__pycache__/translateresponse.cpython-36.pyc +0 -0
  38. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/controller/translatecontroller.py +0 -0
  39. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/controller/translatedelegate.py +0 -0
  40. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/controller/translateresponse.py +0 -0
  41. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/worker/__pycache__/translatetask.cpython-36.pyc +0 -0
  42. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/worker/__pycache__/workeragent.cpython-36.pyc +0 -0
  43. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/worker/translatetask.py +0 -0
  44. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/mas/worker/workeragent.py +0 -0
  45. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/migrations/__init__.py +0 -0
  46. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/migrations/__pycache__/__init__.cpython-36.pyc +0 -0
  47. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/models.py +0 -0
  48. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/tests.py +0 -0
  49. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/urls.py +0 -0
  50. {pbesa-4.0.33 → pbesa-4.0.34}/examples/django/helloworld/translate/views.py +0 -0
  51. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/__pycache__/countercontroller.cpython-36.pyc +0 -0
  52. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/__pycache__/counterdelegate.cpython-36.pyc +0 -0
  53. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/__pycache__/counterresponse.cpython-36.pyc +0 -0
  54. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/__pycache__/translatecontroller.cpython-36.pyc +0 -0
  55. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/__pycache__/translatedelegate.cpython-36.pyc +0 -0
  56. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/__pycache__/translateresponse.cpython-36.pyc +0 -0
  57. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/countercontroller.py +0 -0
  58. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/counterdelegate.py +0 -0
  59. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/controller/counterresponse.py +0 -0
  60. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/worker/__pycache__/counteragent.cpython-36.pyc +0 -0
  61. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/worker/__pycache__/countertask.cpython-36.pyc +0 -0
  62. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/worker/__pycache__/translatetask.cpython-36.pyc +0 -0
  63. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/worker/__pycache__/workeragent.cpython-36.pyc +0 -0
  64. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/worker/counteragent.py +0 -0
  65. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/mas/worker/countertask.py +0 -0
  66. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/remote_a.py +0 -0
  67. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/remote_b.py +0 -0
  68. {pbesa-4.0.33 → pbesa-4.0.34}/examples/remote/remote_c.py +0 -0
  69. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/__init__.py +0 -0
  70. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/__init__.py +0 -0
  71. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_casos.py +0 -0
  72. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_consultas.py +0 -0
  73. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_conversador.py +0 -0
  74. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_cuestionador.py +0 -0
  75. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_datos_identificables.py +0 -0
  76. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_evaluador.py +0 -0
  77. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_expertos.py +0 -0
  78. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_extraccion.py +0 -0
  79. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_generar_documento.py +0 -0
  80. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_instruccion.py +0 -0
  81. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_parafraseo.py +0 -0
  82. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_pertinencia.py +0 -0
  83. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_preguntas.py +0 -0
  84. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_respuesta.py +0 -0
  85. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/celula_saludos.py +0 -0
  86. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/data_extraction_cel.py +0 -0
  87. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/celulas/web.py +0 -0
  88. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/__init__.py +0 -0
  89. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/adapter.py +0 -0
  90. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/agent.py +0 -0
  91. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/io/__init__.py +0 -0
  92. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/io/system_file.py +0 -0
  93. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/io/tcp_server.py +0 -0
  94. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/res/__init__.py +0 -0
  95. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/res/__pycache__/__init__.cpython-36.pyc +0 -0
  96. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/res/__pycache__/__init__.cpython-37.pyc +0 -0
  97. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/res/__pycache__/__init__.cpython-38.pyc +0 -0
  98. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/res/__pycache__/__init__.cpython-39.pyc +0 -0
  99. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/res/conf.json +0 -0
  100. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/util.py +0 -0
  101. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/kernel/world.py +0 -0
  102. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/mas.py +0 -0
  103. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/models.py +0 -0
  104. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/remote/__init__.py +0 -0
  105. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/remote/adm_listener.py +0 -0
  106. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/remote/adm_listener_handler.py +0 -0
  107. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/remote/exceptions.py +0 -0
  108. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/remote/remote_adm.py +0 -0
  109. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/remote/remote_adm_handler.py +0 -0
  110. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/__init__.py +0 -0
  111. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/collaborative_team.py +0 -0
  112. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/delegator.py +0 -0
  113. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/delegator_team.py +0 -0
  114. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/dialog.py +0 -0
  115. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/dispatcher_team.py +0 -0
  116. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/prompts.py +0 -0
  117. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/selected_dispatcher_team.py +0 -0
  118. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/templates.py +0 -0
  119. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa/social/worker.py +0 -0
  120. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa.egg-info/dependency_links.txt +0 -0
  121. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa.egg-info/requires.txt +0 -0
  122. {pbesa-4.0.33 → pbesa-4.0.34}/pbesa.egg-info/top_level.txt +0 -0
  123. {pbesa-4.0.33 → pbesa-4.0.34}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pbesa
3
- Version: 4.0.33
3
+ Version: 4.0.34
4
4
  License-File: LICENSE
5
5
  License-File: LICENSE.txt
6
6
  Requires-Dist: pymongo>=4.6.3
@@ -19,7 +19,7 @@ Se te proporcionarán **definiciones clave** y **reglas específicas** que debes
19
19
 
20
20
  **FORMATO DE SALIDA:**
21
21
 
22
- Se conciso y directo. El caso debe tener menos de 100 palabras.
22
+ Se conciso y directo. El caso debe tener menos de 50 palabras.
23
23
 
24
24
  Simula la descripción del caso desde la perspectiva de la persona afectada, incluyendo los detalles necesarios para comprender la situación y la entidad jurisdiccional que debería intervenir.
25
25
 
@@ -29,7 +29,7 @@ from pbesa.social.dialog import (
29
29
  from .celulas import (celula_casos, celula_consultas, celula_saludos, celula_datos_identificables,
30
30
  celula_generar_documento, celula_expertos, celula_pertinencia, celula_extraccion,
31
31
  celula_evaluador, celula_respuesta, celula_conversador, celula_parafraseo, celula_cuestionador,
32
- celula_instruccion, celula_generar_caso, celula_simulador_ciudadano)
32
+ celula_instruccion, celula_generar_caso)
33
33
  from pbesa.social.prompts import ANALIZER_PROMPT, CLASSIFICATION_PROMPT, DERIVE_PROMPT, RECOVERY_PROMPT, ADAPT_PROMPT, SINTETIZER_PROMPT
34
34
 
35
35
  # --------------------------------------------------------
@@ -1498,7 +1498,7 @@ class Dialog(ABC):
1498
1498
  logging.error(e)
1499
1499
  return None
1500
1500
 
1501
- def command_derive(self, command, query, max_tkns=2000) -> str | None:
1501
+ def command_derive(self, command, query, max_tkns=2000, simulator = None) -> str | None:
1502
1502
  # data_extraction_cel
1503
1503
  if command == "IDENTIFICAR_VALORES":
1504
1504
  return celula_datos_identificables.derive(self.__ai_service, query, max_tkns=max_tkns)
@@ -1515,7 +1515,9 @@ class Dialog(ABC):
1515
1515
  if command == "GENERAR_CASO":
1516
1516
  return celula_generar_caso.derive(self.__ai_service, self.definitions, self.rules, max_tkns=max_tkns)
1517
1517
  if command == "CONTINUAR_DIALOGO":
1518
- return celula_simulador_ciudadano.derive(self.__ai_service, query, max_tkns=max_tkns)
1518
+ if simulator:
1519
+ simulator.set_service(self.__ai_service)
1520
+ return simulator.derive(query, max_tkns=max_tkns)
1519
1521
  return None
1520
1522
 
1521
1523
  def parse_conversation(self) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pbesa
3
- Version: 4.0.33
3
+ Version: 4.0.34
4
4
  License-File: LICENSE
5
5
  License-File: LICENSE.txt
6
6
  Requires-Dist: pymongo>=4.6.3
@@ -87,7 +87,6 @@ pbesa/celulas/celula_pertinencia.py
87
87
  pbesa/celulas/celula_preguntas.py
88
88
  pbesa/celulas/celula_respuesta.py
89
89
  pbesa/celulas/celula_saludos.py
90
- pbesa/celulas/celula_simulador_ciudadano.py
91
90
  pbesa/celulas/data_extraction_cel.py
92
91
  pbesa/celulas/web.py
93
92
  pbesa/kernel/__init__.py
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
 
5
5
  setup(
6
6
  name='pbesa',
7
- version='4.0.33',
7
+ version='4.0.34',
8
8
  packages=find_packages(),
9
9
  install_requires=[
10
10
  'pymongo>=4.6.3',
@@ -1,115 +0,0 @@
1
- import logging
2
-
3
- SYSTEM_PROMPT = """
4
- Eres un **simulador de demandantes ante entes de control**.
5
- Tu tarea es leer la **solicitud de demanda** que se te entregue y luego **responder cualquier pregunta** actuando como la persona que radicó dicha demanda.
6
-
7
- Responde siempre en **primera persona**, manteniendo un tono respetuoso y claro.
8
- Menciona o alude a los entes de control involucrados cuando sea pertinente (SIC – Superintendencia de Industria y Comercio, ICA – Instituto Colombiano Agropecuario, DIMAR – Dirección General Marítima, SFC – Superintendencia Financiera de Colombia, SNS – Superintendencia Nacional de Salud, entre otros).
9
-
10
- ---
11
-
12
- ### Criterios que debe cumplir la respuesta
13
-
14
- 1. **Perspectiva**: primera persona singular (“yo”, “mi”).
15
- 2. **Coherencia**: debe basarse exclusivamente en la información provista en la demanda.
16
- 3. **Pertinencia**: enfócate en la pregunta; no agregues información externa ni resoluciones legales.
17
- 4. **Claridad**: utiliza lenguaje sencillo y directo, evitando tecnicismos innecesarios.
18
- 5. **Respeto**: mantén un tono formal y cortés frente a la autoridad.
19
-
20
- **Importante**:
21
- - Solo responde a la pregunta. No agregues información adicional que no esté relacionada con la demanda.
22
- - Solo responde a la pregunta. No agregres explicaciones o justificaciones.
23
- - Si te preguntan datos personales, responde con datos inventados.
24
- - Si te preguntan datos de contacto, responde con datos inventados.
25
- - Si te preguntan de persona jurídica, responde con datos inventados.
26
- - Si te preguntan si deseas que te asista en la radicación de la demanda, responde que sí.
27
-
28
- ---
29
-
30
- ### Ejemplos
31
-
32
- **Demanda de ejemplo**
33
- > “Como ciudadano preocupado por la seguridad fluvial, pongo en conocimiento que una barcaza de la Empresa de Transporte Fluvial del Magdalena se encuentra navegando sin certificado de navegabilidad vigente, lo cual representa un riesgo para la vida humana y la operación segura en el río.”
34
-
35
- | Pregunta | Respuesta esperada |
36
- |----------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
37
- | “¿Cuál es el principal riesgo que identificó?” | “Considero que el principal riesgo es la posible pérdida de vidas humanas ante un accidente, pues la embarcación no ha demostrado cumplir con los requisitos técnicos exigidos por DIMAR.” |
38
- | “¿Por qué decidió acudir ante la DIMAR y no a otra entidad?” | “Acudí a DIMAR porque es la autoridad marítima competente para verificar los certificados de navegabilidad y sancionar irregularidades en operaciones fluviales.” |
39
- | “¿Ha presentado pruebas?” | “Sí, anexé fotografías donde se observa la matrícula de la barcaza y la fecha de expiración del certificado.” |
40
-
41
- ---
42
- """
43
-
44
- USER_PROMPT = """
45
- ### Plantilla de uso
46
-
47
- Demanda:
48
- %s
49
- """
50
- class UserSimulator(object):
51
- """
52
- Clase que simula un usuario demandante ante entes de control.
53
- """
54
-
55
- class __UserSimulator:
56
-
57
- def __init__(self, service):
58
- self.iteracion = 1
59
- self.work_memory = []
60
- self.service = service
61
-
62
- # Efectua la inferencia del modelo.
63
- def evaluate(self, text, max_tkns=2000, reset=False) -> any:
64
- try:
65
- if reset:
66
- self.iteracion = 1
67
- self.work_memory = []
68
- logging.info("\n")
69
- logging.info(f"Procesando: {text} - Iteración: {self.iteracion}")
70
- if self.iteracion == 1:
71
- prompt = SYSTEM_PROMPT
72
- self.work_memory.append({"role": "system", "content": SYSTEM_PROMPT})
73
- prompt = USER_PROMPT % text
74
- self.work_memory.append({"role": "user", "content": prompt})
75
- else:
76
- self.work_memory.append({"role": "user", "content": text})
77
- res = self.service.generate(self.work_memory, max_tkns)
78
- self.work_memory.append({"role": "assistant", "content": res})
79
- self.iteracion += 1
80
- logging.info(f"Respuesta: {res}")
81
- logging.info("\n")
82
- if not res or res == "":
83
- res = text
84
- logging.warning(f"No obtener una respuesta.")
85
- return res
86
- except Exception as e:
87
- logging.error(f"Error al procesar: {text}")
88
- logging.error(e)
89
- return None
90
-
91
- # Singleton instance
92
- instance = None
93
-
94
- def __new__(cls, service) -> object:
95
- """ Create new instance """
96
- if not UserSimulator.instance:
97
- UserSimulator.instance = UserSimulator.__UserSimulator(service)
98
- return UserSimulator.instance
99
-
100
- def __getattr__(self, name: str) -> object:
101
- """ Get attribute
102
- @param name Attribute name
103
- @return object Attribute
104
- """
105
- return getattr(self.instance, name)
106
-
107
- def __setattr__(self, name:str) -> object:
108
- """ Set attribute
109
- @param name Attribute name
110
- @return object Attribute
111
- """
112
- return setattr(self.instance, name)
113
-
114
- def derive(service, text, max_tkns=2000, reset=False) -> any:
115
- return UserSimulator(service).evaluate(text, max_tkns=max_tkns, reset=reset)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes