mirror of
https://github.com/hwchase17/langchain
synced 2024-11-10 01:10:59 +00:00
66c41c0dbf
This PR adds a self-querying template using Qdrant as a vector store. The template uses an artificial dataset and was implemented in a way that simplifies passing different components and choosing LLM and embedding providers. --------- Co-authored-by: Erick Friis <erick@langchain.dev>
28 lines
664 B
Python
28 lines
664 B
Python
from string import Formatter
|
|
from typing import List
|
|
|
|
from langchain.schema import Document
|
|
|
|
document_template = """
|
|
PASSAGE: {page_content}
|
|
METADATA: {metadata}
|
|
"""
|
|
|
|
|
|
def combine_documents(documents: List[Document]) -> str:
|
|
"""
|
|
Combine a list of documents into a single string that might be passed further down
|
|
to a language model.
|
|
:param documents: list of documents to combine
|
|
:return:
|
|
"""
|
|
formatter = Formatter()
|
|
return "\n\n".join(
|
|
formatter.format(
|
|
document_template,
|
|
page_content=document.page_content,
|
|
metadata=document.metadata,
|
|
)
|
|
for document in documents
|
|
)
|