ÎncepețiÎncepe gratuit

Ultima verigă din lanț

Cu lanțul text-to-Cypher din Capitolul 1 și cu vectorul de regăsire de mai devreme din acest capitol, ai acum componentele necesare pentru a crea un lanț care oferă mai multe modalități—atât vectori, cât și noduri și relații—de a accesa informațiile din graful tău de cunoștințe.

Variabilele text_to_cypher_chain și line_retriever (vectorul de regăsire Neo4j) sunt disponibile pentru a fi folosite, împreună cu un prompt de răspuns la întrebări pentru regăsirea hibridă, graphrag_qa_prompt.

Acest exercițiu face parte din cursul

Graph RAG cu LangChain și Neo4j

Vezi cursul

Instrucțiuni pentru exercițiu

  • Transmite cheia "question" vectorului de regăsire (line_retriever) pentru a obține rezultate relevante prin căutare vectorială.
  • Extrage interogarea din obiectul graph pentru a executa instrucțiunea Cypher generată de text_to_cypher_chain.
  • Execută graphrag_qa_chain pe datele de intrare furnizate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

graphrag_qa_chain = RunnablePassthrough.assign(
    # Pass the "question" key to the retriever
    vectors = RunnableLambda(lambda x: line_retriever.invoke(____)),
    # Execute the generated Cypher statement
    records = text_to_cypher_chain | graph.____
) | graphrag_qa_prompt | llm | StrOutputParser()

# Execute the hybrid chain
output = graphrag_qa_chain.____({"question": "Does Sampson bite his thumb at Gregory?"})
print(output)
Editează și rulează codul