Class ChatModelExtensionsKt

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final static ChatResponse chatAsync(ChatModel $self, ChatRequest request, CoroutineContext coroutineContext) Asynchronously processes a chat request using the language model within a coroutine scope.
      final static ChatResponse chatAsync(ChatModel $self, ChatRequest request) Asynchronously processes a chat request using the language model within a coroutine scope.
      final static ChatResponse chat(ChatModel $self, ChatRequest.Builder requestBuilder, CoroutineContext coroutineContext) Asynchronously processes a chat request using a ChatRequest.Builder for convenient request configuration.
      final static ChatResponse chat(ChatModel $self, ChatRequest.Builder requestBuilder) Asynchronously processes a chat request using a ChatRequest.Builder for convenient request configuration.
      final static ChatResponse chat(ChatModel $self, CoroutineContext coroutineContext, Function1<ChatRequestBuilder, Unit> block) Asynchronously processes a chat request by configuring a ChatRequest using a provided builder block.
      final static ChatResponse chat(ChatModel $self, Function1<ChatRequestBuilder, Unit> block)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • chatAsync

        @JvmOverloads() final static ChatResponse chatAsync(ChatModel $self, ChatRequest request, CoroutineContext coroutineContext)

        Asynchronously processes a chat request using the language model within a coroutine scope. This extension function provides a structured concurrency wrapper around the synchronous dev.langchain4j.model.chat.ChatModel.chat method.

        Example usage:

        val response = model.chatAsync(ChatRequest(messages))
        val response2 = model.chatAsync(request = chatRequest, coroutineContext = Dispatchers.IO)
        Parameters:
        request - The chat request containing messages and optional parameters for the model.
        coroutineContext - processes a chat request in provided CoroutineContext
        Returns:

        ChatResponse containing the model's response and any additional metadata.

      • chatAsync

        @JvmOverloads() final static ChatResponse chatAsync(ChatModel $self, ChatRequest request)

        Asynchronously processes a chat request using the language model within a coroutine scope. This extension function provides a structured concurrency wrapper around the synchronous dev.langchain4j.model.chat.ChatModel.chat method.

        Example usage:

        val response = model.chatAsync(ChatRequest(messages))
        val response2 = model.chatAsync(request = chatRequest, coroutineContext = Dispatchers.IO)
        Parameters:
        request - The chat request containing messages and optional parameters for the model.
        Returns:

        ChatResponse containing the model's response and any additional metadata.

      • chat

        @JvmOverloads() final static ChatResponse chat(ChatModel $self, ChatRequest.Builder requestBuilder, CoroutineContext coroutineContext)

        Asynchronously processes a chat request using a ChatRequest.Builder for convenient request configuration. This extension function combines the builder pattern with coroutine-based asynchronous execution.

        Example usage:

        val response = model.chat(
            ChatRequest.builder()
                .messages(listOf(UserMessage("Hello")))
                .temperature(0.7)
                .maxTokens(100)
        )
        Parameters:
        requestBuilder - The builder instance configured with desired chat request parameters.
        coroutineContext - processes a chat request in provided CoroutineContext
        Returns:

        ChatResponse containing the model's response and any additional metadata.

      • chat

        @JvmOverloads() final static ChatResponse chat(ChatModel $self, ChatRequest.Builder requestBuilder)

        Asynchronously processes a chat request using a ChatRequest.Builder for convenient request configuration. This extension function combines the builder pattern with coroutine-based asynchronous execution.

        Example usage:

        val response = model.chat(
            ChatRequest.builder()
                .messages(listOf(UserMessage("Hello")))
                .temperature(0.7)
                .maxTokens(100)
        )
        Parameters:
        requestBuilder - The builder instance configured with desired chat request parameters.
        Returns:

        ChatResponse containing the model's response and any additional metadata.

      • chat

         final static ChatResponse chat(ChatModel $self, CoroutineContext coroutineContext, Function1<ChatRequestBuilder, Unit> block)

        Asynchronously processes a chat request by configuring a ChatRequest using a provided builder block. This method facilitates the creation of well-structured chat requests using a ChatRequestBuilder and executes the request using the associated dev.langchain4j.model.chat.ChatModel.

        Example usage:

        model.chat {
            messages += systemMessage("You are a helpful assistant")
            messages += userMessage("Say 'Hello'")
            parameters {
                temperature = 0.1
            }
        }
        Parameters:
        coroutineContext - processes a chat request in provided CoroutineContext
        block - A lambda with receiver on ChatRequestBuilder used to configure the messages and parameters for the chat request.
        Returns:

        A ChatResponse containing the response from the model and any associated metadata.