Class LlmChatBinding

java.lang.Object
com.codename1.ai.LlmChatBinding

public final class LlmChatBinding extends java.lang.Object

Convenience wiring that turns a ChatView into an LLM-driven chat surface in one call. Pulls the user's input out of the view's ChatInput, appends it as a USER message, opens a streaming chat call against the supplied LlmClient, and pipes deltas into a freshly-appended assistant bubble.

ChatView itself has no dependency on the AI package, so apps that want a peer-to-peer messaging UI (a WhatsApp clone, for example) can keep using ChatView without pulling LlmClient onto their classpath -- it's only when you call bind(ChatView, LlmClient, ChatRequest) that the binding is established.

Example
LlmClient client = LlmClient.openai(SecureStorage.getInstance().get("openai_key"));
ChatRequest base = ChatRequest.builder()
        .model("gpt-4o-mini")
        .addMessage(ChatMessage.system("You are a terse assistant."))
        .build();
ChatView view = new ChatView();
LlmChatBinding.bind(view, client, base);
// ...add view to a Form and that's it.

The view's accumulated history is replayed on every turn so the model has full conversation context. The original baseRequest is treated as a template -- its model, tools, temperature, etc. are preserved across turns; its messages are used only when the view's own history is empty (e.g. to seed a system prompt).

  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    bind(ChatView view, LlmClient client, ChatRequest baseRequest)
     

    Methods inherited from class java.lang.Object

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