LangChain4j integration for Google Vertex AI models including chat, language, embedding, image, and scoring capabilities
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Conversational AI using Google Vertex AI chat models (chat-bison, gemini). Implements LangChain4j ChatModel interface.
public class VertexAiChatModel implements ChatModel {
public ChatResponse chat(ChatRequest chatRequest);
public static Builder builder();
}import dev.langchain4j.model.vertexai.VertexAiChatModel;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.model.chat.request.ChatRequest;
import dev.langchain4j.model.chat.response.ChatResponse;VertexAiChatModel model = VertexAiChatModel.builder()
.endpoint("https://us-central1-aiplatform.googleapis.com/v1/")
.project("your-project-id")
.location("us-central1")
.publisher("google")
.modelName("chat-bison@001")
.build();
ChatRequest request = ChatRequest.builder()
.messages(UserMessage.from("What is LangChain4j?"))
.build();
ChatResponse response = model.chat(request);
System.out.println(response.aiMessage().text());chat-bison@001 - PaLM 2 chat modelchat-bison@002 - PaLM 2 chat model (updated)gemini-pro - Gemini Pro multimodalgemini-ultra - Gemini Ultra (most capable)endpoint - API endpoint URLproject - Google Cloud Project IDlocation - GCP regionpublisher - Model publisher ("google")modelName - Model name/versiontemperature (Double) - Randomness 0.0-1.0 (default: varies by model)maxOutputTokens (Integer) - Max response length (default: 200)topK (Integer) - Top-K samplingtopP (Double) - Nucleus sampling 0.0-1.0maxRetries (Integer) - Retry attempts (default: 2)credentials (GoogleCredentials) - Custom authInstall with Tessl CLI
npx tessl i tessl/maven-dev-langchain4j--langchain4j-vertex-ai