Primera fase: se completan las funciones para las 15 preguntas abiertas.
This commit is contained in:
@@ -2,6 +2,8 @@ from llm.context import LLMContext
|
||||
from llm.config import LLMConfig
|
||||
from extraccion.schemas_entidades import (
|
||||
Acciones,
|
||||
Expectativa,
|
||||
Opinion,
|
||||
Temas,
|
||||
Estrategias,
|
||||
Factores,
|
||||
@@ -9,6 +11,8 @@ from extraccion.schemas_entidades import (
|
||||
Competencias,
|
||||
Herramientas,
|
||||
Mecanismos,
|
||||
Opiniones,
|
||||
Expectativas,
|
||||
)
|
||||
import yaml
|
||||
|
||||
@@ -38,7 +42,7 @@ def extractor_pre_1(respuesta: str) -> Acciones:
|
||||
|
||||
llm_so = llm.with_structured_output(Acciones)
|
||||
|
||||
acciones: list = llm_so.invoke(prompt)
|
||||
acciones = llm_so.invoke(prompt)
|
||||
|
||||
lista_acciones = acciones.acciones
|
||||
|
||||
@@ -62,7 +66,7 @@ def extractor_pre_2(respuesta: str) -> Acciones:
|
||||
|
||||
llm_so = llm.with_structured_output(Acciones)
|
||||
|
||||
acciones: list = llm_so.invoke(prompt)
|
||||
acciones = llm_so.invoke(prompt)
|
||||
|
||||
lista_acciones = acciones.acciones
|
||||
|
||||
@@ -86,7 +90,7 @@ def extractor_pre_3(respuesta: str) -> Temas:
|
||||
|
||||
llm_so = llm.with_structured_output(Temas)
|
||||
|
||||
temas: list = llm_so.invoke(prompt)
|
||||
temas = llm_so.invoke(prompt)
|
||||
|
||||
lista_temas = temas.temas
|
||||
|
||||
@@ -110,7 +114,7 @@ def extractor_pre_4(respuesta: str) -> Temas:
|
||||
|
||||
llm_so = llm.with_structured_output(Temas)
|
||||
|
||||
temas: list = llm_so.invoke(prompt)
|
||||
temas = llm_so.invoke(prompt)
|
||||
|
||||
lista_temas = temas.temas
|
||||
|
||||
@@ -134,7 +138,7 @@ def extractor_pre_5(respuesta: str) -> Estrategias:
|
||||
|
||||
llm_so = llm.with_structured_output(Estrategias)
|
||||
|
||||
estrategias: list = llm_so.invoke(prompt)
|
||||
estrategias = llm_so.invoke(prompt)
|
||||
|
||||
lista_estrategias = estrategias.estrategias
|
||||
|
||||
@@ -158,7 +162,7 @@ def extractor_pre_6(respuesta: str) -> Mecanismos:
|
||||
|
||||
llm_so = llm.with_structured_output(Mecanismos)
|
||||
|
||||
mecanismos: list = llm_so.invoke(prompt)
|
||||
mecanismos = llm_so.invoke(prompt)
|
||||
|
||||
lista_mecanismos = mecanismos.mecanismos
|
||||
|
||||
@@ -182,7 +186,7 @@ def extractor_pre_7(respuesta: str) -> Estrategias:
|
||||
|
||||
llm_so = llm.with_structured_output(Estrategias)
|
||||
|
||||
estrategias: list = llm_so.invoke(prompt)
|
||||
estrategias = llm_so.invoke(prompt)
|
||||
|
||||
lista_estrategias = estrategias.estrategias
|
||||
|
||||
@@ -206,7 +210,7 @@ def extractor_pre_8(respuesta: str) -> Factores:
|
||||
|
||||
llm_so = llm.with_structured_output(Factores)
|
||||
|
||||
factores: list = llm_so.invoke(prompt)
|
||||
factores = llm_so.invoke(prompt)
|
||||
|
||||
lista_factores = factores.factores
|
||||
|
||||
@@ -230,7 +234,7 @@ def extractor_pre_9(respuesta: str) -> Entidades:
|
||||
|
||||
llm_so = llm.with_structured_output(Entidades)
|
||||
|
||||
entidades: list = llm_so.invoke(prompt)
|
||||
entidades = llm_so.invoke(prompt)
|
||||
|
||||
lista_entidades = entidades.entidades
|
||||
|
||||
@@ -276,7 +280,7 @@ def extractor_pre_11(respuesta: str) -> Herramientas:
|
||||
|
||||
llm_so = llm.with_structured_output(Herramientas)
|
||||
|
||||
herramientas: list = llm_so.invoke(prompt)
|
||||
herramientas = llm_so.invoke(prompt)
|
||||
|
||||
lista_herramientas = herramientas.herramientas
|
||||
|
||||
@@ -288,11 +292,108 @@ def extractor_pre_11(respuesta: str) -> Herramientas:
|
||||
return herramientas
|
||||
|
||||
|
||||
def extractor_pre_12(respuesta: str) -> Opiniones:
|
||||
prompt = prompts_config["prompts"]["pregunta_12"]["prompt"].format(
|
||||
respuesta=respuesta
|
||||
)
|
||||
|
||||
config = LLMConfig(provider="anthropic", model_name="claude-haiku-4-5")
|
||||
|
||||
context.set_strategy(config)
|
||||
llm = context.get_llm()
|
||||
|
||||
llm_so = llm.with_structured_output(Opiniones)
|
||||
|
||||
opiniones = llm_so.invoke(prompt)
|
||||
|
||||
lista_opiniones = opiniones.opiniones
|
||||
|
||||
for opinion in lista_opiniones:
|
||||
print("-" * 100)
|
||||
print(opinion.opinion)
|
||||
print("-" * 100)
|
||||
|
||||
return opiniones
|
||||
|
||||
|
||||
def extractor_pre_13(respuesta: str) -> Expectativas:
|
||||
prompt = prompts_config["prompts"]["pregunta_13"]["prompt"].format(
|
||||
respuesta=respuesta
|
||||
)
|
||||
|
||||
config = LLMConfig(provider="anthropic", model_name="claude-haiku-4-5")
|
||||
|
||||
context.set_strategy(config)
|
||||
llm = context.get_llm()
|
||||
|
||||
llm_so = llm.with_structured_output(Expectativas)
|
||||
|
||||
expectativas = llm_so.invoke(prompt)
|
||||
|
||||
lista_expectativas = expectativas.expectativas
|
||||
|
||||
for expectativa in lista_expectativas:
|
||||
print("-" * 100)
|
||||
print(expectativa.expectativa)
|
||||
print("-" * 100)
|
||||
|
||||
return expectativas
|
||||
|
||||
|
||||
def extractor_pre_14(respuesta: str) -> Opiniones:
|
||||
prompt = prompts_config["prompts"]["pregunta_14"]["prompt"].format(
|
||||
respuesta=respuesta
|
||||
)
|
||||
|
||||
config = LLMConfig(provider="anthropic", model_name="claude-haiku-4-5")
|
||||
|
||||
context.set_strategy(config)
|
||||
llm = context.get_llm()
|
||||
|
||||
llm_so = llm.with_structured_output(Opiniones)
|
||||
|
||||
opiniones = llm_so.invoke(prompt)
|
||||
|
||||
lista_opiniones = opiniones.opiniones
|
||||
|
||||
for opinion in lista_opiniones:
|
||||
print("-" * 100)
|
||||
print(opinion.opinion)
|
||||
print("-" * 100)
|
||||
|
||||
return opiniones
|
||||
|
||||
|
||||
def extractor_pre_15(respuesta: str) -> Opiniones:
|
||||
prompt = prompts_config["prompts"]["pregunta_14"]["prompt"].format(
|
||||
respuesta=respuesta
|
||||
)
|
||||
|
||||
config = LLMConfig(provider="anthropic", model_name="claude-haiku-4-5")
|
||||
|
||||
context.set_strategy(config)
|
||||
llm = context.get_llm()
|
||||
|
||||
llm_so = llm.with_structured_output(Opiniones)
|
||||
|
||||
opiniones = llm_so.invoke(prompt)
|
||||
|
||||
lista_opiniones = opiniones.opiniones
|
||||
|
||||
for opinion in lista_opiniones:
|
||||
print("-" * 100)
|
||||
print(opinion.opinion)
|
||||
print("-" * 100)
|
||||
|
||||
return opiniones
|
||||
|
||||
|
||||
respuesta = """
|
||||
Cada semestre en nuestra programación están estipuladas dos capacitaciones según
|
||||
las necesidades que los profesores expresen. Cuando algunos profesores participan
|
||||
en fotos o seminarios deben de comprometerse a compartir lo aprendido sacando para
|
||||
ello un espacio en la reunión de profesores, también deben de enviar un correo con
|
||||
el certificado
|
||||
A la fecha no conocemos si se ha realizado o no, ya que no
|
||||
hemos tenido conocimiento si el rector las conoce o está gestionando.
|
||||
Desde el núcleo de ciencias naturales en el año 2022 se realizó una
|
||||
alianza con cornare y la UMATA, dicha invitación a participar se hizo
|
||||
por la página de la secretaria departamental, donde a partir de un
|
||||
infograma explicaba paso a paso como participar y además contaba con linea telefónica.
|
||||
"""
|
||||
extractor_pre_6(respuesta)
|
||||
# extractor_pre_15(respuesta)
|
||||
|
||||
Reference in New Issue
Block a user