-
Notifications
You must be signed in to change notification settings - Fork 235
Open
Description
Hello,
Thanks for sharing this notebook on agentic chunking. It was quite informative. I tried to run the notebook myself. However, I get the following error:
{
"name": "ValidationError",
"message": "1 validation error for PydanticSchema
info
value is not a valid list (type=type_error.list)",
"stack": "---------------------------------------------------------------------------
ValidationError Traceback (most recent call last)
Cell In[9], line 4
1 essay_propositions = []
3 for i, para in enumerate(paragraphs[:5]):
----> 4 propositions = get_propositions(para)
6 essay_propositions.extend(propositions)
7 print (f\"Done with {i}\")
Cell In[5], line 9, in get_propositions(text)
4 def get_propositions(text):
5 runnable_output = runnable.invoke({
6 \t\"input\": text
7 }).content
----> 9 propositions = extraction_chain.run(runnable_output)[0].sentences
10 return propositions
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain_core\\_api\\deprecation.py:145, in deprecated.<locals>.deprecate.<locals>.warning_emitting_wrapper(*args, **kwargs)
143 warned = True
144 emit_warning()
--> 145 return wrapped(*args, **kwargs)
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\base.py:545, in Chain.run(self, callbacks, tags, metadata, *args, **kwargs)
543 if len(args) != 1:
544 raise ValueError(\"`run` supports only one positional argument.\")
--> 545 return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
546 _output_key
547 ]
549 if kwargs and not args:
550 return self(kwargs, callbacks=callbacks, tags=tags, metadata=metadata)[
551 _output_key
552 ]
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain_core\\_api\\deprecation.py:145, in deprecated.<locals>.deprecate.<locals>.warning_emitting_wrapper(*args, **kwargs)
143 warned = True
144 emit_warning()
--> 145 return wrapped(*args, **kwargs)
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\base.py:378, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, run_name, include_run_info)
346 \"\"\"Execute the chain.
347
348 Args:
(...)
369 `Chain.output_keys`.
370 \"\"\"
371 config = {
372 \"callbacks\": callbacks,
373 \"tags\": tags,
374 \"metadata\": metadata,
375 \"run_name\": run_name,
376 }
--> 378 return self.invoke(
379 inputs,
380 cast(RunnableConfig, {k: v for k, v in config.items() if v is not None}),
381 return_only_outputs=return_only_outputs,
382 include_run_info=include_run_info,
383 )
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\base.py:163, in Chain.invoke(self, input, config, **kwargs)
161 except BaseException as e:
162 run_manager.on_chain_error(e)
--> 163 raise e
164 run_manager.on_chain_end(outputs)
166 if include_run_info:
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\base.py:153, in Chain.invoke(self, input, config, **kwargs)
150 try:
151 self._validate_inputs(inputs)
152 outputs = (
--> 153 self._call(inputs, run_manager=run_manager)
154 if new_arg_supported
155 else self._call(inputs)
156 )
158 final_outputs: Dict[str, Any] = self.prep_outputs(
159 inputs, outputs, return_only_outputs
160 )
161 except BaseException as e:
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\llm.py:104, in LLMChain._call(self, inputs, run_manager)
98 def _call(
99 self,
100 inputs: Dict[str, Any],
101 run_manager: Optional[CallbackManagerForChainRun] = None,
102 ) -> Dict[str, str]:
103 response = self.generate([inputs], run_manager=run_manager)
--> 104 return self.create_outputs(response)[0]
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\llm.py:258, in LLMChain.create_outputs(self, llm_result)
256 def create_outputs(self, llm_result: LLMResult) -> List[Dict[str, Any]]:
257 \"\"\"Create outputs from response.\"\"\"
--> 258 result = [
259 # Get the text of the top generated string.
260 {
261 self.output_key: self.output_parser.parse_result(generation),
262 \"full_generation\": generation,
263 }
264 for generation in llm_result.generations
265 ]
266 if self.return_final_only:
267 result = [{self.output_key: r[self.output_key]} for r in result]
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain\\chains\\llm.py:261, in <listcomp>(.0)
256 def create_outputs(self, llm_result: LLMResult) -> List[Dict[str, Any]]:
257 \"\"\"Create outputs from response.\"\"\"
258 result = [
259 # Get the text of the top generated string.
260 {
--> 261 self.output_key: self.output_parser.parse_result(generation),
262 \"full_generation\": generation,
263 }
264 for generation in llm_result.generations
265 ]
266 if self.return_final_only:
267 result = [{self.output_key: r[self.output_key]} for r in result]
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain_core\\output_parsers\\openai_functions.py:219, in PydanticAttrOutputFunctionsParser.parse_result(self, result, partial)
218 def parse_result(self, result: List[Generation], *, partial: bool = False) -> Any:
--> 219 result = super().parse_result(result)
220 return getattr(result, self.attr_name)
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\langchain_core\\output_parsers\\openai_functions.py:204, in PydanticOutputFunctionsParser.parse_result(self, result, partial)
202 _result = super().parse_result(result)
203 if self.args_only:
--> 204 pydantic_args = self.pydantic_schema.parse_raw(_result) # type: ignore
205 else:
206 fn_name = _result[\"name\"]
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\pydantic\\v1\\main.py:549, in BaseModel.parse_raw(cls, b, content_type, encoding, proto, allow_pickle)
547 except (ValueError, TypeError, UnicodeDecodeError) as e:
548 raise ValidationError([ErrorWrapper(e, loc=ROOT_KEY)], cls)
--> 549 return cls.parse_obj(obj)
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\lib\\site-packages\\pydantic\\v1\\main.py:526, in BaseModel.parse_obj(cls, obj)
524 exc = TypeError(f'{cls.__name__} expected dict not {obj.__class__.__name__}')
525 raise ValidationError([ErrorWrapper(exc, loc=ROOT_KEY)], cls) from e
--> 526 return cls(**obj)
File c:\\Users\\Sachin_Bhat\\Documents\\dev\\proj\\RetrievalTutorials-main\\.venv\\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: 1 validation error for PydanticSchema
info
value is not a valid list (type=type_error.list)"
}
any help with this is greatly appreciated!
Cheers,
Sachin
Metadata
Metadata
Assignees
Labels
No labels