Spaces:
Running
Running
luanpoppe
commited on
Commit
·
0872b76
1
Parent(s):
c80083e
feat: adicionar mais opções de prompts ao gerar ementa
Browse files
_utils/gerar_documento_utils/GerarDocumento.py
CHANGED
|
@@ -329,3 +329,49 @@ class GerarDocumento:
|
|
| 329 |
)
|
| 330 |
|
| 331 |
return documento_gerado
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 329 |
)
|
| 330 |
|
| 331 |
return documento_gerado
|
| 332 |
+
|
| 333 |
+
async def gerar_ementa_final(
|
| 334 |
+
self,
|
| 335 |
+
llm_ultimas_requests: str,
|
| 336 |
+
prompt_primeira_etapa: str,
|
| 337 |
+
context_primeiro_prompt: str,
|
| 338 |
+
):
|
| 339 |
+
|
| 340 |
+
llm = self.select_model_for_last_requests(llm_ultimas_requests) # type: ignore
|
| 341 |
+
prompt_instance = Prompt()
|
| 342 |
+
|
| 343 |
+
documento_gerado = await self.checar_se_resposta_vazia_do_documento_final(
|
| 344 |
+
llm_ultimas_requests, prompt_primeira_etapa
|
| 345 |
+
)
|
| 346 |
+
|
| 347 |
+
texto_final_juntando_as_etapas = ""
|
| 348 |
+
resposta_primeira_etapa = documento_gerado
|
| 349 |
+
texto_final_juntando_as_etapas += resposta_primeira_etapa
|
| 350 |
+
self.axiom_instance.send_axiom(f"RESULTADO ETAPA 1: {resposta_primeira_etapa}")
|
| 351 |
+
|
| 352 |
+
if self.prompt_gerar_documento_etapa_2:
|
| 353 |
+
self.axiom_instance.send_axiom("GERANDO DOCUMENTO - COMEÇANDO ETAPA 2")
|
| 354 |
+
prompt_etapa_2 = prompt_instance.create_and_invoke_prompt(
|
| 355 |
+
self.prompt_gerar_documento_etapa_2,
|
| 356 |
+
dynamic_dict={"context": context_primeiro_prompt},
|
| 357 |
+
)
|
| 358 |
+
documento_gerado = llm.invoke(prompt_etapa_2).content
|
| 359 |
+
resposta_segunda_etapa = documento_gerado
|
| 360 |
+
texto_final_juntando_as_etapas += (
|
| 361 |
+
f"\n\nresposta_segunda_etapa:{resposta_segunda_etapa}"
|
| 362 |
+
)
|
| 363 |
+
self.axiom_instance.send_axiom(f"RESULTADO ETAPA 2: {documento_gerado}")
|
| 364 |
+
|
| 365 |
+
if self.prompt_gerar_documento_etapa_3:
|
| 366 |
+
self.axiom_instance.send_axiom("GERANDO DOCUMENTO - COMEÇANDO ETAPA 3")
|
| 367 |
+
prompt_etapa_3 = prompt_instance.create_and_invoke_prompt(
|
| 368 |
+
self.prompt_gerar_documento_etapa_3,
|
| 369 |
+
dynamic_dict={
|
| 370 |
+
"context": f"{resposta_primeira_etapa}\n\n{resposta_segunda_etapa}"
|
| 371 |
+
},
|
| 372 |
+
)
|
| 373 |
+
documento_gerado = llm.invoke(prompt_etapa_3).content
|
| 374 |
+
texto_final_juntando_as_etapas += f"\n\n{documento_gerado}"
|
| 375 |
+
self.axiom_instance.send_axiom(f"RESULTADO ETAPA 3: {documento_gerado}")
|
| 376 |
+
|
| 377 |
+
return texto_final_juntando_as_etapas
|
gerar_documento/views.py
CHANGED
|
@@ -167,9 +167,12 @@ class GerarEmentaView(AsyncAPIView):
|
|
| 167 |
input_variables=["context"],
|
| 168 |
template=obj.prompt_gerar_documento,
|
| 169 |
)
|
| 170 |
-
texto_da_parte =
|
| 171 |
-
|
| 172 |
-
|
|
|
|
|
|
|
|
|
|
| 173 |
)
|
| 174 |
|
| 175 |
texto_completo += texto_da_parte
|
|
@@ -271,9 +274,10 @@ class GerarEmentaComPDFProprioView(AsyncAPIView):
|
|
| 271 |
input_variables=["context"],
|
| 272 |
template=serializer_obj.prompt_gerar_documento,
|
| 273 |
)
|
| 274 |
-
texto_da_parte = await gerar_documento_instance.
|
| 275 |
serializer_obj.llm_ultimas_requests,
|
| 276 |
prompt_template.format(context=text),
|
|
|
|
| 277 |
)
|
| 278 |
|
| 279 |
texto_completo += texto_da_parte
|
|
|
|
| 167 |
input_variables=["context"],
|
| 168 |
template=obj.prompt_gerar_documento,
|
| 169 |
)
|
| 170 |
+
texto_da_parte = (
|
| 171 |
+
await gerar_documento_instance.gerar_ementa_final(
|
| 172 |
+
obj.llm_ultimas_requests,
|
| 173 |
+
prompt_template.format(context=text),
|
| 174 |
+
text,
|
| 175 |
+
)
|
| 176 |
)
|
| 177 |
|
| 178 |
texto_completo += texto_da_parte
|
|
|
|
| 274 |
input_variables=["context"],
|
| 275 |
template=serializer_obj.prompt_gerar_documento,
|
| 276 |
)
|
| 277 |
+
texto_da_parte = await gerar_documento_instance.gerar_ementa_final(
|
| 278 |
serializer_obj.llm_ultimas_requests,
|
| 279 |
prompt_template.format(context=text),
|
| 280 |
+
text,
|
| 281 |
)
|
| 282 |
|
| 283 |
texto_completo += texto_da_parte
|