weave icon indicating copy to clipboard operation
weave copied to clipboard

Weave gives Validation Error using Custom Chat Template

Open AIApprentice101 opened this issue 5 months ago • 5 comments

Thank you for the package. Love it.

I use Langchain's ChatOpenAI function with stream=True. When I add Weave to trace the chains by simply `weave.init()', it throws the following error:

([llm/error] [chain:RunnableWithMessageHistory > chain:check_sync_or_async > chain:RunnableSequence > chain:ChatOpenAI > llm:ChatOpenAI] [2.11s] LLM run errored with error: "1 validation error for ChatCompletion\nchoices.0.message.role\n Field required [type=missing, input_value={'content': " The text ap...2.", 'tool_calls': None}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.9/v/missingTraceback (most recent call last):\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py", line 932, in _agenerate_with_cache\n result = await self._agenerate(\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/langchain_openai/chat_models/base.py", line 809, in _agenerate\n return await agenerate_from_stream(stream_iter)\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py", line 118, in agenerate_from_stream\n chunks = [chunk async for chunk in stream]\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py", line 118, in \n chunks = [chunk async for chunk in stream]\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/langchain_openai/chat_models/base.py", line 1989, in _astream\n async for chunk in super()._astream(*args, **kwargs):\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/langchain_openai/chat_models/base.py", line 779, in _astream\n async for chunk in response:\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/weave/legacy/monitoring/openai/openai.py", line 79, in aiter\n self._on_finish()\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/weave/legacy/monitoring/openai/openai.py", line 87, in _on_finish\n result = wrapped_stream.final_response()\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/weave/flow/chat_util.py", line 104, in final_response\n return ChatCompletion(\n\n\n File "/opt/conda/envs/testweave/lib/python3.10/site-packages/pydantic/main.py", line 209, in init\n validated_self = self.pydantic_validator.validate_python(data, self_instance=self)\n\n\npydantic_core._pydantic_core.ValidationError: 1 validation error for ChatCompletion\nchoices.0.message.role\n Field required [type=missing, input_value={'content': " The text ap...2.", 'tool_calls': None}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.9/v/missing")

Package info: langchain = "0.3.0" langchain-openai = "0.2.0" weave = "0.50.7"

AIApprentice101 avatar Sep 20 '24 21:09 AIApprentice101