mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-18 16:16:33 +00:00
templates: Update neo4j templates (#19789)
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
from langchain_community.chat_models import ChatOpenAI
|
||||
from langchain_community.embeddings import OpenAIEmbeddings
|
||||
from langchain_community.vectorstores import Neo4jVector
|
||||
from langchain_core.output_parsers import StrOutputParser
|
||||
from langchain_core.prompts import ChatPromptTemplate
|
||||
from langchain_core.pydantic_v1 import BaseModel
|
||||
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
|
||||
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
|
||||
|
||||
retrieval_query = """
|
||||
MATCH (node)-[:HAS_PARENT]->(parent)
|
||||
@@ -12,6 +11,11 @@ WITH parent, max(score) AS score // deduplicate parents
|
||||
RETURN parent.text AS text, score, {} AS metadata
|
||||
"""
|
||||
|
||||
|
||||
def format_docs(docs):
|
||||
return "\n\n".join(doc.page_content for doc in docs)
|
||||
|
||||
|
||||
vectorstore = Neo4jVector.from_existing_index(
|
||||
OpenAIEmbeddings(),
|
||||
index_name="retrieval",
|
||||
@@ -31,7 +35,9 @@ prompt = ChatPromptTemplate.from_template(template)
|
||||
model = ChatOpenAI()
|
||||
|
||||
chain = (
|
||||
RunnableParallel({"context": retriever, "question": RunnablePassthrough()})
|
||||
RunnableParallel(
|
||||
{"context": retriever | format_docs, "question": RunnablePassthrough()}
|
||||
)
|
||||
| prompt
|
||||
| model
|
||||
| StrOutputParser()
|
||||
|
Reference in New Issue
Block a user