|
|
@ -42,7 +42,7 @@
|
|
|
|
"from langchain.chat_models import ChatOpenAI\n",
|
|
|
|
"from langchain.chat_models import ChatOpenAI\n",
|
|
|
|
"from langchain.embeddings import OpenAIEmbeddings\n",
|
|
|
|
"from langchain.embeddings import OpenAIEmbeddings\n",
|
|
|
|
"from langchain.schema.output_parser import StrOutputParser\n",
|
|
|
|
"from langchain.schema.output_parser import StrOutputParser\n",
|
|
|
|
"from langchain.schema.runnable import RunnablePassthrough\n",
|
|
|
|
"from langchain.schema.runnable import RunnablePassthrough, RunnableLambda\n",
|
|
|
|
"from langchain.vectorstores import FAISS\n"
|
|
|
|
"from langchain.vectorstores import FAISS\n"
|
|
|
|
]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -338,7 +338,7 @@
|
|
|
|
"# First we add a step to load memory\n",
|
|
|
|
"# First we add a step to load memory\n",
|
|
|
|
"# This adds a \"memory\" key to the input object\n",
|
|
|
|
"# This adds a \"memory\" key to the input object\n",
|
|
|
|
"loaded_memory = RunnablePassthrough.assign(\n",
|
|
|
|
"loaded_memory = RunnablePassthrough.assign(\n",
|
|
|
|
" chat_history=memory.load_memory_variables | itemgetter(\"history\"),\n",
|
|
|
|
" chat_history=RunnableLambda(memory.load_memory_variables) | itemgetter(\"history\"),\n",
|
|
|
|
")\n",
|
|
|
|
")\n",
|
|
|
|
"# Now we calculate the standalone question\n",
|
|
|
|
"# Now we calculate the standalone question\n",
|
|
|
|
"standalone_question = {\n",
|
|
|
|
"standalone_question = {\n",
|
|
|
@ -363,7 +363,7 @@
|
|
|
|
" \"docs\": itemgetter(\"docs\"),\n",
|
|
|
|
" \"docs\": itemgetter(\"docs\"),\n",
|
|
|
|
"}\n",
|
|
|
|
"}\n",
|
|
|
|
"# And now we put it all together!\n",
|
|
|
|
"# And now we put it all together!\n",
|
|
|
|
"final_chain = loaded_memory | expanded_memory | standalone_question | retrieved_documents | answer\n"
|
|
|
|
"final_chain = loaded_memory | standalone_question | retrieved_documents | answer\n"
|
|
|
|
]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|