| openapi: 3.0.0 | |
| info: | |
| title: Mistral AI API | |
| description: Chat Completion and Embeddings APIs | |
| version: 0.0.1 | |
| servers: | |
| - url: https://api.mistral.ai/v1 | |
| paths: | |
| /chat/completions: | |
| post: | |
| operationId: createChatCompletion | |
| summary: Create Chat Completions | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ChatCompletionRequest' | |
| responses: | |
| '200': | |
| description: OK | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ChatCompletionResponse' | |
| /embeddings: | |
| post: | |
| operationId: createEmbedding | |
| summary: Create Embeddings | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/EmbeddingRequest' | |
| responses: | |
| '200': | |
| description: OK | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/EmbeddingResponse' | |
| /models: | |
| get: | |
| operationId: listModels | |
| summary: List Available Models | |
| responses: | |
| '200': | |
| description: OK | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ModelList' | |
| components: | |
| schemas: | |
| Error: | |
| type: object | |
| properties: | |
| type: | |
| type: string | |
| nullable: false | |
| message: | |
| type: string | |
| nullable: false | |
| param: | |
| type: string | |
| nullable: true | |
| code: | |
| type: string | |
| nullable: true | |
| required: | |
| - type | |
| - message | |
| - param | |
| - code | |
| ErrorResponse: | |
| type: object | |
| properties: | |
| error: | |
| $ref: '#/components/schemas/Error' | |
| required: | |
| - error | |
| ModelList: | |
| type: object | |
| properties: | |
| object: | |
| type: string | |
| data: | |
| type: array | |
| items: | |
| $ref: '#/components/schemas/Model' | |
| required: | |
| - object | |
| - data | |
| ChatCompletionRequest: | |
| type: object | |
| properties: | |
| model: | |
| description: > | |
| ID of the model to use. You can use the [List Available | |
| Models](/api#operation/listModels) API to see all of your available | |
| models, or see our [Model overview](/models) for model descriptions. | |
| type: string | |
| example: mistral-tiny | |
| messages: | |
| description: > | |
| The prompt(s) to generate completions for, encoded as a list of dict | |
| with role and content. The first prompt role should be `user` or | |
| `system`. | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| role: | |
| type: string | |
| enum: | |
| - system | |
| - user | |
| - assistant | |
| content: | |
| type: string | |
| example: | |
| - role: user | |
| content: What is the best French cheese? | |
| temperature: | |
| type: number | |
| minimum: 0 | |
| maximum: 1 | |
| default: 0.7 | |
| example: 0.7 | |
| nullable: true | |
| description: > | |
| What sampling temperature to use, between 0.0 and 1.0. Higher values | |
| like 0.8 will make the output more random, while lower values like | |
| 0.2 will make it more focused and deterministic. | |
| We generally recommend altering this or `top_p` but not both. | |
| top_p: | |
| type: number | |
| minimum: 0 | |
| maximum: 1 | |
| default: 1 | |
| example: 1 | |
| nullable: true | |
| description: > | |
| Nucleus sampling, where the model considers the results of the | |
| tokens with `top_p` probability mass. So 0.1 means only the tokens | |
| comprising the top 10% probability mass are considered. | |
| We generally recommend altering this or `temperature` but not both. | |
| max_tokens: | |
| type: integer | |
| minimum: 0 | |
| default: null | |
| example: 16 | |
| nullable: true | |
| description: > | |
| The maximum number of tokens to generate in the completion. | |
| The token count of your prompt plus `max_tokens` cannot exceed the | |
| model's context length. | |
| stream: | |
| type: boolean | |
| default: false | |
| nullable: true | |
| description: > | |
| Whether to stream back partial progress. If set, tokens will be sent | |
| as data-only server-sent events as they become available, with the | |
| stream terminated by a data: [DONE] message. Otherwise, the server | |
| will hold the request open until the timeout or until completion, | |
| with the response containing the full result as JSON. | |
| safe_mode: | |
| type: boolean | |
| default: false | |
| description: | | |
| Whether to inject a safety prompt before all conversations. | |
| random_seed: | |
| type: integer | |
| default: null | |
| description: > | |
| The seed to use for random sampling. If set, different calls will | |
| generate deterministic results. | |
| required: | |
| - model | |
| - messages | |
| ChatCompletionResponse: | |
| type: object | |
| properties: | |
| id: | |
| type: string | |
| example: cmpl-e5cc70bb28c444948073e77776eb30ef | |
| object: | |
| type: string | |
| example: chat.completion | |
| created: | |
| type: integer | |
| example: 1702256327 | |
| model: | |
| type: string | |
| example: mistral-tiny | |
| choices: | |
| type: array | |
| items: | |
| type: object | |
| required: | |
| - index | |
| - text | |
| - finish_reason | |
| properties: | |
| index: | |
| type: integer | |
| example: 0 | |
| message: | |
| type: object | |
| properties: | |
| role: | |
| type: string | |
| enum: | |
| - user | |
| - assistant | |
| example: assistant | |
| content: | |
| type: string | |
| example: >- | |
| I don't have a favorite condiment as I don't consume food | |
| or condiments. However, I can tell you that many people | |
| enjoy using ketchup, mayonnaise, hot sauce, soy sauce, or | |
| mustard as condiments to enhance the flavor of their | |
| meals. Some people also enjoy using herbs, spices, or | |
| vinegars as condiments. Ultimately, the best condiment is | |
| a matter of personal preference. | |
| finish_reason: | |
| type: string | |
| enum: | |
| - stop | |
| - length | |
| - model_length | |
| usage: | |
| type: object | |
| properties: | |
| prompt_tokens: | |
| type: integer | |
| example: 14 | |
| completion_tokens: | |
| type: integer | |
| example: 93 | |
| total_tokens: | |
| type: integer | |
| example: 107 | |
| required: | |
| - prompt_tokens | |
| - completion_tokens | |
| - total_tokens | |
| EmbeddingRequest: | |
| type: object | |
| properties: | |
| model: | |
| type: string | |
| example: mistral-embed | |
| description: | | |
| The ID of the model to use for this request. | |
| input: | |
| type: array | |
| items: | |
| type: string | |
| example: | |
| - Hello | |
| - world | |
| description: | | |
| The list of strings to embed. | |
| encoding_format: | |
| type: string | |
| enum: | |
| - float | |
| example: float | |
| description: | | |
| The format of the output data. | |
| EmbeddingResponse: | |
| type: object | |
| properties: | |
| id: | |
| type: string | |
| example: embd-aad6fc62b17349b192ef09225058bc45 | |
| object: | |
| type: string | |
| example: list | |
| data: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| object: | |
| type: string | |
| example: embedding | |
| embedding: | |
| type: array | |
| items: | |
| type: number | |
| example: | |
| - 0.1 | |
| - 0.2 | |
| - 0.3 | |
| index: | |
| type: int | |
| example: 0 | |
| example: | |
| - object: embedding | |
| embedding: | |
| - 0.1 | |
| - 0.2 | |
| - 0.3 | |
| index: 0 | |
| - object: embedding | |
| embedding: | |
| - 0.4 | |
| - 0.5 | |
| - 0.6 | |
| index: 1 | |
| model: | |
| type: string | |
| usage: | |
| type: object | |
| properties: | |
| prompt_tokens: | |
| type: integer | |
| example: 9 | |
| total_tokens: | |
| type: integer | |
| example: 9 | |
| required: | |
| - prompt_tokens | |
| - total_tokens | |
| required: | |
| - id | |
| - object | |
| - data | |
| - model | |
| - usage | |
| Model: | |
| title: Model | |
| properties: | |
| id: | |
| type: string | |
| object: | |
| type: string | |
| created: | |
| type: integer | |
| owned_by: | |
| type: string | |
| required: | |
| - id | |
| - object | |
| - created | |
| - owned_by | |