Class AzureOpenAiChatModel

java.lang.Object
io.quarkiverse.langchain4j.azure.openai.AzureOpenAiChatModel
All Implemented Interfaces:
dev.langchain4j.model.chat.ChatLanguageModel, dev.langchain4j.model.chat.TokenCountEstimator

public class AzureOpenAiChatModel extends Object implements dev.langchain4j.model.chat.ChatLanguageModel, dev.langchain4j.model.chat.TokenCountEstimator
Represents an OpenAI language model, hosted on Azure, that has a chat completion interface, such as gpt-3.5-turbo.

Mandatory parameters for initialization are: apiVersion, apiKey, and either endpoint OR resourceName and deploymentName.

There are two primary authentication methods to access Azure OpenAI:

1. API Key Authentication: For this type of authentication, HTTP requests must include the API Key in the "api-key" HTTP header.

2. Azure Active Directory Authentication: For this type of authentication, HTTP requests must include the authentication/access token in the "Authorization" HTTP header.

More information

Please note, that currently, only API Key authentication is supported by this class, second authentication option will be supported later.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    AzureOpenAiChatModel(String endpoint, String apiVersion, String apiKey, String adToken, dev.langchain4j.model.Tokenizer tokenizer, Double temperature, Double topP, Integer maxTokens, Double presencePenalty, Double frequencyPenalty, Duration timeout, Integer maxRetries, Proxy proxy, String responseFormat, Boolean logRequests, Boolean logResponses)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    int
    estimateTokenCount(List<dev.langchain4j.data.message.ChatMessage> messages)
     
    dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage>
    generate(List<dev.langchain4j.data.message.ChatMessage> messages)
     
    dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage>
    generate(List<dev.langchain4j.data.message.ChatMessage> messages, dev.langchain4j.agent.tool.ToolSpecification toolSpecification)
     
    dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage>
    generate(List<dev.langchain4j.data.message.ChatMessage> messages, List<dev.langchain4j.agent.tool.ToolSpecification> toolSpecifications)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface dev.langchain4j.model.chat.ChatLanguageModel

    generate, generate

    Methods inherited from interface dev.langchain4j.model.chat.TokenCountEstimator

    estimateTokenCount, estimateTokenCount, estimateTokenCount, estimateTokenCount
  • Constructor Details

  • Method Details

    • generate

      public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(List<dev.langchain4j.data.message.ChatMessage> messages)
      Specified by:
      generate in interface dev.langchain4j.model.chat.ChatLanguageModel
    • generate

      public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(List<dev.langchain4j.data.message.ChatMessage> messages, List<dev.langchain4j.agent.tool.ToolSpecification> toolSpecifications)
      Specified by:
      generate in interface dev.langchain4j.model.chat.ChatLanguageModel
    • generate

      public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(List<dev.langchain4j.data.message.ChatMessage> messages, dev.langchain4j.agent.tool.ToolSpecification toolSpecification)
      Specified by:
      generate in interface dev.langchain4j.model.chat.ChatLanguageModel
    • estimateTokenCount

      public int estimateTokenCount(List<dev.langchain4j.data.message.ChatMessage> messages)
      Specified by:
      estimateTokenCount in interface dev.langchain4j.model.chat.TokenCountEstimator
    • builder

      public static AzureOpenAiChatModel.Builder builder()