-
Notifications
You must be signed in to change notification settings - Fork 16.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LLMGraphTransformer with tools and Ollama triggers Pydantic parsing errors #29515
Comments
I get the expected results with Here's the ollama chain that fails: [chain/start] [chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence > parser:PydanticToolsParser] Entering Parser run with input:
[inputs] The openAI chain that succeeds: chain/start] [chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence > chain:_oai_structured_outputs_parser] Entering Chain run with input:
[inputs] |
I threw a
In [1]: json_results
Out[1]:
{'args': {'nodes': [{'id': 'red ball', 'label': 'object'},
{'id': 'missle', 'label': 'object'},
{'id': 'Bob the clown', 'label': 'person'}],
'relationships': [{'source': 'red ball',
'target': 'watched by',
'type': 'WATCHED_BY'},
{'source': 'Bob the clown', 'target': 'scared', 'type': 'SCARED'},
{'source': 'missle', 'target': 'scared by', 'type': 'SCARED_BY'}]},
'type': 'DynamicGraph'}
...
In [5]: name_dict = {tool.__name__: tool for tool in self.tools}
...
In [11]: name_dict[json_results['type']](**json_results['args'])
---------------------------------------------------------------------------
ValidationError Traceback (most recent call last)
Cell In[11], line 1
----> 1 name_dict[json_results['type']](**json_results['args'])
File ~/.virtualenvs/ml/lib/python3.11/site-packages/pydantic/main.py:214, in BaseModel.__init__(self, **data)
212 # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks
213 __tracebackhide__ = True
--> 214 validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
215 if self is not validated_self:
216 warnings.warn(
217 'A custom validator is returning a value other than `self`.\n'
218 "Returning anything other than `self` from a top level model validator isn't supported when validating via `__init__`.\n"
219 'See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.',
220 stacklevel=2,
221 )
ValidationError: 15 validation errors for DynamicGraph
nodes.0.type
Field required [type=missing, input_value={'id': 'red ball', 'label': 'object'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
... |
I noticed that call to If I add the argument I also just realized that |
Checked other resources
Example Code
I'm trying to use LLMGraphTransformer to construct a knowledge graph for RAG and am hitting an issue when using the
ChatOllama
client. In the example, I use 'llama3.1:7b' since its small enough to host locally. I've seen the same errors with larger models that I'm running on external clusters.Model setup:
The test:
The output:
[GraphDocument(nodes=[], relationships=[], source=Document(metadata={}, page_content='The lazy dog slept while the ball rolled by. Bob the clown scared the missle'))]
Note that the
nodes
andrelationships
are empty. If I simply do:Then the
doc_transformer
does produce some nodes and relationships but I would like to constraint the types that are generatedError Message and Stack Trace (if applicable)
Debug output containing parsing error
[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence] Entering Chain run with input:
�[0m{
"input": "The lazy dog slept while the ball rolled by. Bob the clown scared the missle"
}
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > prompt:ChatPromptTemplate] Entering Prompt run with input:
�[0m{
"input": "The lazy dog slept while the ball rolled by. Bob the clown scared the missle"
}
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > prompt:ChatPromptTemplate] [0ms] Exiting Prompt run with output:
�[0m[outputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableParallel] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[llm/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableParallel > llm:ChatOllama] Entering LLM run with input:
�[0m{
"prompts": [
"System: # Knowledge Graph Instructions for GPT-4\n## 1. Overview\nYou are a top-tier algorithm designed for extracting information in structured formats to build a knowledge graph.\nTry to capture as much information from the text as possible without sacrificing accuracy. Do not add any information that is not explicitly mentioned in the text.\n- Nodes represent entities and concepts.\n- The aim is to achieve simplicity and clarity in the knowledge graph, making it\naccessible for a vast audience.\n## 2. Labeling Nodes\n- Consistency: Ensure you use available types for node labels.\nEnsure you use basic or elementary types for node labels.\n- For example, when you identify an entity representing a person, always label it as 'person'. Avoid using more specific terms like 'mathematician' or 'scientist'.- Node IDs: Never utilize integers as node IDs. Node IDs should be names or human-readable identifiers found in the text.\n- Relationships represent connections between entities or concepts.\nEnsure consistency and generality in relationship types when constructing knowledge graphs. Instead of using specific and momentary types such as 'BECAME_PROFESSOR', use more general and timeless relationship types like 'PROFESSOR'. Make sure to use general and timeless relationship types!\n## 3. Coreference Resolution\n- Maintain Entity Consistency: When extracting entities, it's vital to ensure consistency.\nIf an entity, such as "John Doe", is mentioned multiple times in the text but is referred to by different names or pronouns (e.g., "Joe", "he"),always use the most complete identifier for that entity throughout the knowledge graph. In this example, use "John Doe" as the entity ID.\nRemember, the knowledge graph should be coherent and easily understandable, so maintaining consistency in entity references is crucial.\n## 4. Strict Compliance\nAdhere to the rules strictly. Non-compliance will result in termination.\nHuman: Tip: Make sure to answer in the correct format and do not include any explanations. Use the given format to extract information from the following input: The lazy dog slept while the ball rolled by. Bob the clown scared the missle"
]
}
�[36;1m�[1;3m[llm/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableParallel > llm:ChatOllama] [4.38s] Exiting LLM run with output:
�[0m{
"generations": [
[
{
"text": "",
"generation_info": {
"model": "llama3.1",
"created_at": "2025-01-30T22:12:55.86615Z",
"done": true,
"done_reason": "stop",
"total_duration": 4362782833,
"load_duration": 34890083,
"prompt_eval_count": 615,
"prompt_eval_duration": 1845000000,
"eval_count": 105,
"eval_duration": 2479000000,
"message": {
"role": "assistant",
"content": "",
"images": null,
"tool_calls": null
}
},
"type": "ChatGeneration",
"message": {
"lc": 1,
"type": "constructor",
"id": [
"langchain",
"schema",
"messages",
"AIMessage"
],
"kwargs": {
"content": "",
"response_metadata": {
"model": "llama3.1",
"created_at": "2025-01-30T22:12:55.86615Z",
"done": true,
"done_reason": "stop",
"total_duration": 4362782833,
"load_duration": 34890083,
"prompt_eval_count": 615,
"prompt_eval_duration": 1845000000,
"eval_count": 105,
"eval_duration": 2479000000,
"message": {
"lc": 1,
"type": "not_implemented",
"id": [
"ollama",
"_types",
"Message"
],
"repr": "Message(role='assistant', content='', images=None, tool_calls=None)"
}
},
"type": "ai",
"id": "run-1e29f523-02e1-4720-b4dd-314d7c6147a1-0",
"tool_calls": [
{
"name": "DynamicGraph",
"args": {
"nodes": [
{
"id": "dog",
"label": "animal"
},
{
"id": "ball",
"label": "object"
},
{
"id": "Bob",
"label": "person"
},
{
"id": "clown",
"label": "job"
},
{
"id": "missle",
"label": "object"
}
],
"relationships": [
{
"source": "dog",
"target": "ball",
"type": "NEARBY"
},
{
"source": "Bob",
"target": "missle",
"type": "SCARED"
}
]
},
"id": "0598d923-f25a-487f-9527-06d4169094a6",
"type": "tool_call"
}
],
"usage_metadata": {
"input_tokens": 615,
"output_tokens": 105,
"total_tokens": 720
},
"invalid_tool_calls": []
}
}
}
]
],
"llm_output": null,
"run": null,
"type": "LLMResult"
}
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableParallel] [4.39s] Exiting Chain run with output:
�[0m[outputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableWithFallbacks] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error>] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error>] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence > chain:RunnableLambda] Entering Chain run with input:
�[0m[inputs]
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence > chain:RunnableLambda] [14ms] Exiting Chain run with output:
�[0m[outputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence > parser:PydanticToolsParser] Entering Parser run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableLambda] Entering Chain run with input:
�[0m[inputs]
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableLambda] [0ms] Exiting Chain run with output:
�[0m{
"output": null
}
�[31;1m�[1;3m[chain/error]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence > parser:PydanticToolsParser] [2ms] Parser run errored with error:
�[0m"13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missingTraceback (most recent call last):\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1914, in _call_with_config\n context.run(\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 396, in call_func_with_variable_args\n return func(input, **kwargs) # type: ignore[call-arg]\n ^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 194, in \n lambda inner_input: self.parse_result(\n ^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/openai_tools.py", line 294, in parse_result\n pydantic_objects.append(name_dictres["type"])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/pydantic/main.py", line 214, in init\n validated_self = self.pydantic_validator.validate_python(data, self_instance=self)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\npydantic_core._pydantic_core.ValidationError: 13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing"
�[31;1m�[1;3m[chain/error]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error> > chain:RunnableSequence] [17ms] Chain run errored with error:
�[0m"13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missingTraceback (most recent call last):\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3016, in invoke\n input = context.run(step.invoke, input, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 193, in invoke\n return self._call_with_config(\n ^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1914, in _call_with_config\n context.run(\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 396, in call_func_with_variable_args\n return func(input, **kwargs) # type: ignore[call-arg]\n ^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 194, in \n lambda inner_input: self.parse_result(\n ^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/openai_tools.py", line 294, in parse_result\n pydantic_objects.append(name_dictres["type"])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/pydantic/main.py", line 214, in init\n validated_self = self.pydantic_validator.validate_python(data, self_instance=self)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\npydantic_core._pydantic_core.ValidationError: 13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing"
�[31;1m�[1;3m[chain/error]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error> > chain:RunnableParallel<parsed,parsing_error>] [19ms] Chain run errored with error:
�[0m"13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missingTraceback (most recent call last):\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3721, in invoke\n output = {key: future.result() for key, future in zip(steps, futures)}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3721, in \n output = {key: future.result() for key, future in zip(steps, futures)}\n ^^^^^^^^^^^^^^^\n\n\n File "/opt/homebrew/Cellar/[email protected]/3.11.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 456, in result\n return self.__get_result()\n ^^^^^^^^^^^^^^^^^^^\n\n\n File "/opt/homebrew/Cellar/[email protected]/3.11.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result\n raise self._exception\n\n\n File "/opt/homebrew/Cellar/[email protected]/3.11.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run\n result = self.fn(*self.args, **self.kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3705, in _invoke_step\n return context.run(\n ^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3016, in invoke\n input = context.run(step.invoke, input, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 193, in invoke\n return self._call_with_config(\n ^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1914, in _call_with_config\n context.run(\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 396, in call_func_with_variable_args\n return func(input, **kwargs) # type: ignore[call-arg]\n ^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 194, in \n lambda inner_input: self.parse_result(\n ^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/openai_tools.py", line 294, in parse_result\n pydantic_objects.append(name_dictres["type"])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/pydantic/main.py", line 214, in init\n validated_self = self.pydantic_validator.validate_python(data, self_instance=self)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\npydantic_core._pydantic_core.ValidationError: 13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing"
�[31;1m�[1;3m[chain/error]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign<parsed,parsing_error>] [21ms] Chain run errored with error:
�[0m"13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missingTraceback (most recent call last):\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1914, in _call_with_config\n context.run(\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 396, in call_func_with_variable_args\n return func(input, **kwargs) # type: ignore[call-arg]\n ^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/passthrough.py", line 481, in _invoke\n **self.mapper.invoke(\n ^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3721, in invoke\n output = {key: future.result() for key, future in zip(steps, futures)}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3721, in \n output = {key: future.result() for key, future in zip(steps, futures)}\n ^^^^^^^^^^^^^^^\n\n\n File "/opt/homebrew/Cellar/[email protected]/3.11.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 456, in result\n return self.__get_result()\n ^^^^^^^^^^^^^^^^^^^\n\n\n File "/opt/homebrew/Cellar/[email protected]/3.11.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result\n raise self._exception\n\n\n File "/opt/homebrew/Cellar/[email protected]/3.11.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run\n result = self.fn(*self.args, **self.kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3705, in _invoke_step\n return context.run(\n ^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3016, in invoke\n input = context.run(step.invoke, input, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 193, in invoke\n return self._call_with_config(\n ^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1914, in _call_with_config\n context.run(\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 396, in call_func_with_variable_args\n return func(input, **kwargs) # type: ignore[call-arg]\n ^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/base.py", line 194, in \n lambda inner_input: self.parse_result(\n ^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/langchain_core/output_parsers/openai_tools.py", line 294, in parse_result\n pydantic_objects.append(name_dictres["type"])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n File "/Users/ptb/.virtualenvs/ml/lib/python3.11/site-packages/pydantic/main.py", line 214, in init\n validated_self = self.pydantic_validator.validate_python(data, self_instance=self)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\npydantic_core._pydantic_core.ValidationError: 13 validation errors for DynamicGraph\nnodes.0.type\n Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.1.type\n Field required [type=missing, input_value={'id': 'ball', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.2.type\n Field required [type=missing, input_value={'id': 'Bob', 'label': 'person'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.3.type\n Field required [type=missing, input_value={'id': 'clown', 'label': 'job'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nnodes.4.type\n Field required [type=missing, input_value={'id': 'missle', 'label': 'object'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.source_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_id\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.0.target_node_type\n Field required [type=missing, input_value={'source': 'dog', 'target...ball', 'type': 'NEARBY'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.source_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_id\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrelationships.1.target_node_type\n Field required [type=missing, input_value={'source': 'Bob', 'target...ssle', 'type': 'SCARED'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing"
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign > chain:RunnableParallel] Entering Chain run with input:
�[0m[inputs]
�[32;1m�[1;3m[chain/start]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign > chain:RunnableParallel > chain:RunnableLambda] Entering Chain run with input:
�[0m[inputs]
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign > chain:RunnableParallel > chain:RunnableLambda] [0ms] Exiting Chain run with output:
�[0m{
"output": null
}
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign > chain:RunnableParallel] [1ms] Exiting Chain run with output:
�[0m{
"parsed": null
}
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableAssign] [1ms] Exiting Chain run with output:
�[0m[outputs]
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence > chain:RunnableWithFallbacks] [23ms] Exiting Chain run with output:
�[0m[outputs]
�[36;1m�[1;3m[chain/end]�[0m �[1m[chain:RunnableSequence] [4.41s] Exiting Chain run with output:
�[0m[outputs]
Description
Field required [type=missing, input_value={'id': 'dog', 'label': 'animal'}, input_type=dict]
which looks like the dynamic graph is being invoked with the wrong arguments since the
label
is thetype
System Info
System Information
Package Information
Optional packages not installed
Other Dependencies
The text was updated successfully, but these errors were encountered: