Class AnthropicChatModel

java.lang.Object
dev.langchain4j.model.anthropic.AnthropicChatModel
All Implemented Interfaces:
dev.langchain4j.model.chat.ChatLanguageModel

public class AnthropicChatModel extends Object implements dev.langchain4j.model.chat.ChatLanguageModel
Represents an Anthropic language model with a Messages (chat) API.
More details are available here.

It supports tools. See more information here.

It supports Images as inputs. UserMessages can contain one or multiple ImageContents. Images must not be represented as URLs; they should be Base64-encoded strings and include a mimeType.

The content of SystemMessages is sent using the "system" parameter. If there are multiple SystemMessages, they are concatenated with a double newline (\n\n).

Sanitization is performed on the ChatMessages provided to conform to Anthropic API requirements. This process includes verifying that the first message is a UserMessage and removing any consecutive UserMessages. Any messages removed during sanitization are logged as warnings and not submitted to the API.
  • Nested Class Summary

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

    Modifier and Type
    Method
    Description
    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, List<dev.langchain4j.agent.tool.ToolSpecification> toolSpecifications)
     
    Creates an instance of AnthropicChatModel with the specified API key.

    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

    chat, generate, generate, generate, supportedCapabilities
  • Method Details

    • withApiKey

      public static AnthropicChatModel withApiKey(String apiKey)
      Creates an instance of AnthropicChatModel with the specified API key.
      Parameters:
      apiKey - the API key for authentication
      Returns:
      an AnthropicChatModel instance
    • 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