LangChain और Neo4j के साथ Graph RAG
Adam Cowley
Manager, Developer Education at Neo4j







from pydantic import BaseModel, Fieldfrom typing import Optionalclass Character(BaseModel): """नाटक का एक पात्र।"""id: str = Field(description="स्लग-केस में पात्र के लिए एक यूनिक आइडेंटिफ़ायर",examples=["montague-romeo", "tybalt"])name: str = Field(description="पात्र का पूरा नाम", examples=["Romeo", "Tybalt"])family: Optional[str] = Field(description="वह परिवार जिसका वे हिस्सा हैं", examples=["Montague", "Capulet"])class CharacterOutput(BaseModel): characters: list[Character] = Field(description="पात्रों की सूची")
from langchain.chat_models import init_chat_model llm = init_chat_model("gpt-4o-mini", model_provider="openai", api_key="...")# एक स्ट्रक्चर्ड आउटपुट के साथ character_model = llm.with_structured_output(CharacterOutput)# एक चेन में उपयोग करें chain = extraction_prompt | character_model# रिस्पॉन्स हैंडल करें output = chain.invoke(...)
CharacterOutput(characters=[Character, Character, Character...])
nodes = [Node(type="Character",id=character.id,properties={"name": character.name, "family": character.family})for character in output.characters]# एक GraphDocument बनाएँ graph_document = GraphDocument(nodes=nodes, relationships=[])# ग्राफ में सेव करें graph.add_graph_documents([graph_document])
LangChain और Neo4j के साथ Graph RAG