Skip to content

Sweep: Feature Req: Add support for Mistral AIย #670

Open
@x-0D

Description

Details

Env:

Details

export OPENAI_API_MODEL=codestral-latest
export OPENAI_BASE_URL=https://api.mistral.ai/v1

Logs:
Details

โ”‚ /home/vscode/.local/lib/python3.10/site-packages/openai/_base_client.py:1051 in _request                                             โ”‚
โ”‚                                                                                                                                      โ”‚
โ”‚   1048 โ”‚   โ”‚   โ”‚   โ”‚   err.response.read()                                                                                           โ”‚
โ”‚   1049 โ”‚   โ”‚   โ”‚                                                                                                                     โ”‚
โ”‚   1050 โ”‚   โ”‚   โ”‚   log.debug("Re-raising status error")                                                                              โ”‚
โ”‚ โฑ 1051 โ”‚   โ”‚   โ”‚   raise self._make_status_error_from_response(err.response) from None                                               โ”‚
โ”‚   1052 โ”‚   โ”‚                                                                                                                         โ”‚
โ”‚   1053 โ”‚   โ”‚   return self._process_response(                                                                                        โ”‚
โ”‚   1054 โ”‚   โ”‚   โ”‚   cast_to=cast_to,                                                                                                  โ”‚
โ”‚                                                                                                                                      โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚     input_options = FinalRequestOptions(                                                                                         โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   method='post',                                                                                           โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   url='/chat/completions',                                                                                 โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   params={},                                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   headers=NOT_GIVEN,                                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   max_retries=NOT_GIVEN,                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   timeout=NOT_GIVEN,                                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   files=None,                                                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   idempotency_key=None,                                                                                    โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   post_parser=NOT_GIVEN,                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   json_data={                                                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'messages': [                                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'content': 'You are a `Supervisor` tasked with managing a conversation between the           โ”‚ โ”‚
โ”‚ โ”‚                     following'+2655,                                                                                             โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'role': 'system'                                                                             โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   },                                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'content': 'We want to generate concise specifications for the web application.',            โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'role': 'user'                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   },                                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'content': "Given the conversation above, who should act next? Select one of:                โ”‚ โ”‚
โ”‚ โ”‚                     ['PRODUCT_OWNE"+74,                                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'role': 'user'                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   }                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   ],                                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'model': 'codestral-latest',                                                                         โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'n': 1,                                                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'parallel_tool_calls': False,                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'stream': True,                                                                                      โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'temperature': 0.1,                                                                                  โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'tool_choice': {'type': 'function', 'function': {'name': 'Assign'}},                                 โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'tools': [                                                                                           โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'type': 'function',                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'function': {                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'name': 'Assign',                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'description': '',                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'parameters': {                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'properties': {                                                                      โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'assign': {                                                                      โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'description': "The worker to assign the task from members(['PRODUCT_OWNER', โ”‚ โ”‚
โ”‚ โ”‚                     'ENGINEER', 'ARCHIT"+52,                                                                                     โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'type': 'string'                                                             โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   }                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   },                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'required': ['assign'],                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'type': 'object'                                                                     โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   }                                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   }                                                                                            โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   }                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   ]                                                                                                    โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   },                                                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   extra_json=None                                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     )                                                                                                            โ”‚ โ”‚
โ”‚ โ”‚            kwargs = {}                                                                                                           โ”‚ โ”‚
โ”‚ โ”‚           options = FinalRequestOptions(                                                                                         โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   method='post',                                                                                           โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   url='/chat/completions',                                                                                 โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   params={},                                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   headers=NOT_GIVEN,                                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   max_retries=NOT_GIVEN,                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   timeout=NOT_GIVEN,                                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   files=None,                                                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   idempotency_key=None,                                                                                    โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   post_parser=NOT_GIVEN,                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   json_data={                                                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'messages': [                                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'content': 'You are a `Supervisor` tasked with managing a conversation between the           โ”‚ โ”‚
โ”‚ โ”‚                     following'+2655,                                                                                             โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'role': 'system'                                                                             โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   },                                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'content': 'We want to generate concise specifications for the web application.',            โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'role': 'user'                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   },                                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'content': "Given the conversation above, who should act next? Select one of:                โ”‚ โ”‚
โ”‚ โ”‚                     ['PRODUCT_OWNE"+74,                                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'role': 'user'                                                                               โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   }                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   ],                                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'model': 'codestral-latest',                                                                         โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'n': 1,                                                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'parallel_tool_calls': False,                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'stream': True,                                                                                      โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'temperature': 0.1,                                                                                  โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'tool_choice': {'type': 'function', 'function': {'name': 'Assign'}},                                 โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   'tools': [                                                                                           โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   {                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'type': 'function',                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   'function': {                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'name': 'Assign',                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'description': '',                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'parameters': {                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'properties': {                                                                      โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'assign': {                                                                      โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'description': "The worker to assign the task from members(['PRODUCT_OWNER', โ”‚ โ”‚
โ”‚ โ”‚                     'ENGINEER', 'ARCHIT"+52,                                                                                     โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'type': 'string'                                                             โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   }                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   },                                                                                   โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'required': ['assign'],                                                              โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   'type': 'object'                                                                     โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   }                                                                                        โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   โ”‚   }                                                                                            โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   โ”‚   }                                                                                                โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   โ”‚   ]                                                                                                    โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   },                                                                                                       โ”‚ โ”‚
โ”‚ โ”‚                     โ”‚   extra_json=None                                                                                          โ”‚ โ”‚
โ”‚ โ”‚                     )                                                                                                            โ”‚ โ”‚
โ”‚ โ”‚ remaining_retries = 2                                                                                                            โ”‚ โ”‚
โ”‚ โ”‚           request = <Request('POST', 'https://api.mistral.ai/v1/chat/completions')>                                              โ”‚ โ”‚
โ”‚ โ”‚          response = <Response [422 Unprocessable Entity]>                                                                        โ”‚ โ”‚
โ”‚ โ”‚     retries_taken = 0                                                                                                            โ”‚ โ”‚
โ”‚ โ”‚              self = <openai._ModuleClient object at 0xffff943d26b0>                                                              โ”‚ โ”‚
โ”‚ โ”‚            stream = True                                                                                                         โ”‚ โ”‚
โ”‚ โ”‚        stream_cls = openai.Stream[openai.types.chat.chat_completion_chunk.ChatCompletionChunk]                                   โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
UnprocessableEntityError: Error code: 422 - {'object': 'error', 'message': {'detail': [{'type': 'enum', 'loc': ['body', 'tool_choice'], 
'msg': "Input should be 'auto', 'none' or 'any'", 'input': {'type': 'function', 'function': {'name': 'Assign'}}, 'ctx': {'expected': 
"'auto', 'none' or 'any'"}}, {'type': 'extra_forbidden', 'loc': ['body', 'parallel_tool_calls'], 'msg': 'Extra inputs are not 
permitted', 'input': False}]}, 'type': 'invalid_request_error', 'param': None, 'code': None}

Looks like you need to add ChatMistralAI support from langchain.
https://python.langchain.com/docs/integrations/chat/mistralai/

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions