mirror of
https://github.com/hwchase17/langchain.git
synced 2025-05-30 03:28:40 +00:00
fallback to {} for None metadata from Chroma (#1714)
The basic vector store example started breaking because `Document` required `not None` for metadata, but Chroma stores metadata as `None` if none is provided. This creates a fallback which fixes the basic tutorial https://langchain.readthedocs.io/en/latest/modules/indexes/examples/vectorstores.html Here is the error that was generated ``` Running Chroma using direct local API. Using DuckDB in-memory for database. Data will be transient. Traceback (most recent call last): File "/Users/jeff/src/temp/langchainchroma/test.py", line 17, in <module> docs = docsearch.similarity_search(query) File "/Users/jeff/src/langchain/langchain/vectorstores/chroma.py", line 133, in similarity_search docs_and_scores = self.similarity_search_with_score(query, k) File "/Users/jeff/src/langchain/langchain/vectorstores/chroma.py", line 182, in similarity_search_with_score return _results_to_docs_and_scores(results) File "/Users/jeff/src/langchain/langchain/vectorstores/chroma.py", line 24, in _results_to_docs_and_scores return [ File "/Users/jeff/src/langchain/langchain/vectorstores/chroma.py", line 27, in <listcomp> (Document(page_content=result[0], metadata=result[1]), result[2]) File "pydantic/main.py", line 331, in pydantic.main.BaseModel.__init__ pydantic.error_wrappers.ValidationError: 1 validation error for Document metadata none is not an allowed value (type=type_error.none.not_allowed) Exiting: Cleaning up .chroma directory ```
This commit is contained in:
parent
3c24684522
commit
f93c011456
@ -24,7 +24,7 @@ def _results_to_docs_and_scores(results: Any) -> List[Tuple[Document, float]]:
|
||||
return [
|
||||
# TODO: Chroma can do batch querying,
|
||||
# we shouldn't hard code to the 1st result
|
||||
(Document(page_content=result[0], metadata=result[1]), result[2])
|
||||
(Document(page_content=result[0], metadata=result[1] or {}), result[2])
|
||||
for result in zip(
|
||||
results["documents"][0],
|
||||
results["metadatas"][0],
|
||||
|
Loading…
Reference in New Issue
Block a user