Class MistralAiApi
java.lang.Object
org.springframework.ai.mistralai.api.MistralAiApi
Single-class, Java Client library for Mistral AI platform. Provides implementation for
the MistralAI
Embedding API and the
Chat
Completion APIs.
Implements Synchronous and Streaming chat completion and supports latest Function Calling features.
- Since:
- 1.0.0
- Author:
- Ricken Bazolo, Christian Tzolov, Thomas Vitale
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final record
Represents a chat completion response returned by model, based on the provided input.static final record
Represents a streamed chunk of a chat completion response returned by model, based on the provided input.static enum
The reason the model stopped generating tokens.static final record
Message comprising the conversation.static final record
Creates a model request for chat conversation.static enum
List of well-known Mistral chat models.static final record
Represents an embedding vector returned by embedding endpoint.static final record
List of multiple embedding responses.static enum
List of well-known Mistral embedding models.static final record
Creates an embedding vector representing the input text.static class
Represents a tool the model may call.static final record
Log probability information for the choice.static final record
Usage statistics. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionMistralAiApi
(String mistralAiApiKey) Create a new client api with DEFAULT_BASE_URLMistralAiApi
(String baseUrl, String mistralAiApiKey) Create a new client api.MistralAiApi
(String baseUrl, String mistralAiApiKey, org.springframework.web.client.RestClient.Builder restClientBuilder, org.springframework.web.client.ResponseErrorHandler responseErrorHandler) Create a new client api.MistralAiApi
(String baseUrl, String mistralAiApiKey, org.springframework.web.client.RestClient.Builder restClientBuilder, org.springframework.web.reactive.function.client.WebClient.Builder webClientBuilder, org.springframework.web.client.ResponseErrorHandler responseErrorHandler) Create a new client api. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<MistralAiApi.ChatCompletion>
chatCompletionEntity
(MistralAiApi.ChatCompletionRequest chatRequest) Creates a model response for the given chat conversation.reactor.core.publisher.Flux<MistralAiApi.ChatCompletionChunk>
chatCompletionStream
(MistralAiApi.ChatCompletionRequest chatRequest) Creates a streaming chat response for the given chat conversation.<T> org.springframework.http.ResponseEntity<MistralAiApi.EmbeddingList<MistralAiApi.Embedding>>
embeddings
(MistralAiApi.EmbeddingRequest<T> embeddingRequest) Creates an embedding vector representing the input text or token array.
-
Field Details
-
PROVIDER_NAME
-
-
Constructor Details
-
MistralAiApi
Create a new client api with DEFAULT_BASE_URL- Parameters:
mistralAiApiKey
- Mistral api Key.
-
MistralAiApi
Create a new client api.- Parameters:
baseUrl
- api base URL.mistralAiApiKey
- Mistral api Key.
-
MistralAiApi
public MistralAiApi(String baseUrl, String mistralAiApiKey, org.springframework.web.client.RestClient.Builder restClientBuilder, org.springframework.web.client.ResponseErrorHandler responseErrorHandler) Create a new client api.- Parameters:
baseUrl
- api base URL.mistralAiApiKey
- Mistral api Key.restClientBuilder
- RestClient builder.responseErrorHandler
- Response error handler.
-
MistralAiApi
public MistralAiApi(String baseUrl, String mistralAiApiKey, org.springframework.web.client.RestClient.Builder restClientBuilder, org.springframework.web.reactive.function.client.WebClient.Builder webClientBuilder, org.springframework.web.client.ResponseErrorHandler responseErrorHandler) Create a new client api.- Parameters:
baseUrl
- api base URL.mistralAiApiKey
- Mistral api Key.restClientBuilder
- RestClient builder.responseErrorHandler
- Response error handler.
-
-
Method Details
-
embeddings
public <T> org.springframework.http.ResponseEntity<MistralAiApi.EmbeddingList<MistralAiApi.Embedding>> embeddings(MistralAiApi.EmbeddingRequest<T> embeddingRequest) Creates an embedding vector representing the input text or token array.- Type Parameters:
T
- Type of the entity in the data list. Can be aString
orList
of tokens (e.g. Integers). For embedding multiple inputs in a single request, You can pass aList
ofString
orList
ofList
of tokens. For example:List.of("text1", "text2", "text3") or List.of(List.of(1, 2, 3), List.of(3, 4, 5))
- Parameters:
embeddingRequest
- The embedding request.- Returns:
- Returns list of
MistralAiApi.Embedding
wrapped inMistralAiApi.EmbeddingList
.
-
chatCompletionEntity
public org.springframework.http.ResponseEntity<MistralAiApi.ChatCompletion> chatCompletionEntity(MistralAiApi.ChatCompletionRequest chatRequest) Creates a model response for the given chat conversation.- Parameters:
chatRequest
- The chat completion request.- Returns:
- Entity response with
MistralAiApi.ChatCompletion
as a body and HTTP status code and headers.
-
chatCompletionStream
public reactor.core.publisher.Flux<MistralAiApi.ChatCompletionChunk> chatCompletionStream(MistralAiApi.ChatCompletionRequest chatRequest) Creates a streaming chat response for the given chat conversation.- Parameters:
chatRequest
- The chat completion request. Must have the stream property set to true.- Returns:
- Returns a
Flux
stream from chat completion chunks.
-