Class MistralAiChatModel

java.lang.Object
dev.langchain4j.model.mistralai.MistralAiChatModel
All Implemented Interfaces:
ChatLanguageModel

public class MistralAiChatModel extends Object implements ChatLanguageModel
Represents a Mistral AI Chat Model with a chat completion interface, such as open-mistral-7b and open-mixtral-8x7b This model allows generating chat completion of a sync way based on a list of chat messages. You can find description of parameters here.
  • Constructor Details

    • MistralAiChatModel

      public MistralAiChatModel(String baseUrl, String apiKey, String modelName, Double temperature, Double topP, Integer maxTokens, Boolean safePrompt, Integer randomSeed, String responseFormat, Duration timeout, Boolean logRequests, Boolean logResponses, Integer maxRetries)
      Constructs a MistralAiChatModel with the specified parameters.
      Parameters:
      baseUrl - the base URL of the Mistral AI API. It uses the default value if not specified
      apiKey - the API key for authentication
      modelName - the name of the Mistral AI model to use
      temperature - the temperature parameter for generating chat responses
      topP - the top-p parameter for generating chat responses
      maxTokens - the maximum number of new tokens to generate in a chat response
      safePrompt - a flag indicating whether to use a safe prompt for generating chat responses
      randomSeed - the random seed for generating chat responses
      responseFormat - the response format for generating chat responses.

      Current values supported are "text" and "json_object".

      timeout - the timeout duration for API requests

      The default value is 60 seconds

      logRequests - a flag indicating whether to log API requests
      logResponses - a flag indicating whether to log API responses
      maxRetries - the maximum number of retries for API requests. It uses the default value 3 if not specified
  • Method Details

    • withApiKey

      @Deprecated(forRemoval=true) public static MistralAiChatModel withApiKey(String apiKey)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Please use builder() instead, and explicitly set the model name and, if necessary, other parameters. The default value for the model name will be removed in future releases!
    • generate

      public Response<AiMessage> generate(List<ChatMessage> messages)
      Generates chat response based on the given list of messages.
      Specified by:
      generate in interface ChatLanguageModel
      Parameters:
      messages - the list of chat messages
      Returns:
      The response generated by the model.
    • generate

      public Response<AiMessage> generate(List<ChatMessage> messages, List<ToolSpecification> toolSpecifications)
      Generates an AI message response based on the given list of chat messages and tool specifications.
      Specified by:
      generate in interface ChatLanguageModel
      Parameters:
      messages - the list of chat messages
      toolSpecifications - the list of tool specifications. tool_choice is set to AUTO.
      Returns:
      a Response containing the generated AI message
    • generate

      public Response<AiMessage> generate(List<ChatMessage> messages, ToolSpecification toolSpecification)
      Generates an AI message response based on the given list of chat messages and a tool specification.
      Specified by:
      generate in interface ChatLanguageModel
      Parameters:
      messages - the list of chat messages
      toolSpecification - the tool specification that must be executed. tool_choice is set to ANY.
      Returns:
      a Response containing the generated AI message
    • builder