# define output schema
response_schemas = [
ResponseSchema(name="doc_name", description="nom de document"),
ResponseSchema(name="data", description="date de création du document"),
ResponseSchema(name="site", description="qui est l'organisme qui a créé le document ?"),
ResponseSchema(name="apave", description="quel est le nom de la personne représentante de l'APAVE"),
ResponseSchema(name="8.5", description="quel est le nom de la partie 8.5"),
ResponseSchema(name="page8.5", description="page de début de la partie 8.5"),
ResponseSchema(name="19011", description="a quelle norme se référer pour les lignes directrices de la partie 9.2.2"),
]
# define output parser
lc_output_parser = StructuredOutputParser.from_response_schemas(response_schemas)
output_parser = LangchainOutputParser(lc_output_parser)
# Prompt de base du chatbot
# from llama_index import Prompt
template = (
...
)
# format each prompt with output parser instructions
fmt_qa_tmpl = output_parser.format(template)
fmt_refine_tmpl = output_parser.format(DEFAULT_REFINE_PROMPT_TMPL)
qa_prompt = QuestionAnswerPrompt(fmt_qa_tmpl, output_parser=output_parser)
refine_prompt = RefinePrompt(fmt_refine_tmpl, output_parser=output_parser)
# query index
query_engine = index.as_query_engine(
similarity_top_k=3,
text_qa_template=qa_prompt,
refine_template=refine_prompt,
)
response = query_engine.query(
"remplis les questions d'une manière détaillée et precise, soit sur a 100%",
)
print(str(response))
with open("donnes.json", "w") as dt:
dt.write(str(response))