-
Notifications
You must be signed in to change notification settings - Fork 99
Description
open_llm_service.py generate_completion function uses
response = self.client.beta.chat.completions.parse( model=self.settings.llm_model, messages=[{"role": "user", "content": prompt}], response_format=response_model, )
to validate LLM's response. However, this doesn't work and logger info is as below:
WARNING:app.services.llm_service:LLM returned None response INFO: 127.0.0.1:50854 - "POST /api/v1/query HTTP/1.1" 200 OK ^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/_base_client.py", line 1063, in _request return self._process_response( ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/_base_client.py", line 1162, in _process_response return api_response.parse() ^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/_response.py", line 319, in parse parsed = self._options.post_parser(parsed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/resources/beta/chat/completions.py", line 154, in parser return _parse_chat_completion( ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/lib/_parsing/_completions.py", line 110, in parse_chat_completion "parsed": maybe_parse_content( ^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/lib/_parsing/_completions.py", line 161, in maybe_parse_content return _parse_content(response_format, message.content) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/lib/_parsing/_completions.py", line 221, in _parse_content return cast(ResponseFormatT, model_parse_json(response_format, content)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/_compat.py", line 169, in model_parse_json return model.model_validate_json(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/pydantic/main.py", line 656, in model_validate_json return cls.__pydantic_validator__.validate_json(json_data, strict=strict, context=context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pydantic_core._pydantic_core.ValidationError: 1 validation error for StrArrayResponseModel Input should be an object [type=model_type, input_value=['quantum信息', '离散...', '计算机图形学'], input_type=list] For further information visit https://errors.pydantic.dev/2.10/v/model_type INFO:app.services.llm.openai_llm_service:generate_completion execution completed. INFO:app.services.llm_service:Raw response from LLM: None WARNING:app.services.llm_service:LLM returned None response INFO: 127.0.0.1:50854 - "POST /api/v1/query HTTP/1.1" 200 OK return api_response.parse() ^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/_response.py", line 319, in parse parsed = self._options.post_parser(parsed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/resources/beta/chat/completions.py", line 154, in parser return _parse_chat_completion( ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/lib/_parsing/_completions.py", line 110, in parse_chat_completion "parsed": maybe_parse_content( ^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/lib/_parsing/_completions.py", line 161, in maybe_parse_content return _parse_content(response_format, message.content) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/lib/_parsing/_completions.py", line 221, in _parse_content return cast(ResponseFormatT, model_parse_json(response_format, content)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/openai/_compat.py", line 169, in model_parse_json return model.model_validate_json(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/knowledge-table-main/lib/python3.11/site-packages/pydantic/main.py", line 656, in model_validate_json return cls.__pydantic_validator__.validate_json(json_data, strict=strict, context=context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pydantic_core._pydantic_core.ValidationError: 1 validation error for StrArrayResponseModel Input should be an object [type=model_type, input_value=['quantum信息', '离散...', '计算机图形学'], input_type=list] For further information visit https://errors.pydantic.dev/2.10/v/model_type
I'm using Owen online model.