pip install ollama
pip install langchain_ollama
graph_documents = llm_transformer.convert_to_graph_documents(split_documents)
print(graph_documents)
偶尔会成功,但是大部分是失败的:
报错记录如下,暂时没想到好的办法:
python
---------------------------------------------------------------------------
ValidationError Traceback (most recent call last)
Cell In[64], line 2
1 # Transform documents to graph documents
----> 2 graph_documents = llm_transformer.convert_to_graph_documents(split_documents)
3 print(graph_documents)
File D:\anaconda3\envs\graphRAG\lib\site-packages\langchain_experimental\graph_transformers\llm.py:762, in LLMGraphTransformer.convert_to_graph_documents(self, documents)
750 def convert_to_graph_documents(
751 self, documents: Sequence[Document]
752 ) -> List[GraphDocument]:
753 """Convert a sequence of documents into graph documents.
754
755 Args:
(...)
760 Sequence[GraphDocument]: The transformed documents as graphs.
761 """
--> 762 return [self.process_response(document) for document in documents]
File D:\anaconda3\envs\graphRAG\lib\site-packages\langchain_experimental\graph_transformers\llm.py:762, in <listcomp>(.0)
750 def convert_to_graph_documents(
751 self, documents: Sequence[Document]
752 ) -> List[GraphDocument]:
753 """Convert a sequence of documents into graph documents.
754
755 Args:
(...)
760 Sequence[GraphDocument]: The transformed documents as graphs.
761 """
--> 762 return [self.process_response(document) for document in documents]
File D:\anaconda3\envs\graphRAG\lib\site-packages\langchain_experimental\graph_transformers\llm.py:718, in LLMGraphTransformer.process_response(self, document)
715 nodes_set.add((rel["tail"], rel["tail_type"]))
717 source_node = Node(id=rel["head"], type=rel["head_type"])
--> 718 target_node = Node(id=rel["tail"], type=rel["tail_type"])
719 relationships.append(
720 Relationship(
721 source=source_node, target=target_node, type=rel["relation"]
722 )
723 )
724 # Create nodes list
File D:\anaconda3\envs\graphRAG\lib\site-packages\pydantic\v1\main.py:341, in BaseModel.__init__(__pydantic_self__, **data)
339 values, fields_set, validation_error = validate_model(__pydantic_self__.__class__, data)
340 if validation_error:
--> 341 raise validation_error
342 try:
343 object_setattr(__pydantic_self__, '__dict__', values)
ValidationError: 2 validation errors for Node
id
none is not an allowed value (type=type_error.none.not_allowed)
type
none is not an allowed value (type=type_error.none.not_allowed)