google / google/adk-java

Remove mandatory model name in LangChain4j integration

Open
#1,124 3 comments 0 reactions 1 assignee Claimed by @hemasekhar-p View on GitHub
needs review
Dominant language
Java
Stars
1.7k
Forks
420
Avg merge
4d 12h
Merged PRs (30d)
31

Description

## 🔴 Required Information
*Please ensure all items in this section are completed to allow for efficient
triaging. Requests without complete information may be rejected / deprioritized.
If an item is not applicable to you - please mark it as N/A*

### Is your feature request related to a specific problem?
When I'm using the LangChain4J integration I need to set twice the model name: once in the LangCHain4j configuration and one when using the LangChain4j builder.

```java
import com.google.adk.agents.LlmAgent;
import com.google.adk.models.langchain4j.LangChain4j;
import dev.langchain4j.model.anthropic.AnthropicChatModel;

// 1. Initialize LangChain4j model
AnthropicChatModel claudeModel = AnthropicChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName("claude-sonnet-4-6")
.build();

// 2. Wrap the LangChain4j model for ADK
LangChain4j adkModel = LangChain4j.builder()
.chatModel(claudeModel)
.modelName("claude-sonnet-4-6") // <--- 👀 here
.build();

// 3. Create your agent
LlmAgent agent = LlmAgent.builder()
.name("science-teacher")
.description("A helpful science teacher")
.model(adkModel)
.instruction("You are a helpful science teacher that explains concepts clearly.")
.build();
```

### Describe the Solution You'd Like
As the model name is configured in the LangChain4j configuration, it should be more maintenable to not set it again with the LangChain4J builder.

```java
import com.google.adk.agents.LlmAgent;
import com.google.adk.models.langchain4j.LangChain4j;
import dev.langchain4j.model.anthropic.AnthropicChatModel;

// 1. Initialize LangChain4j model
AnthropicChatModel claudeModel = AnthropicChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName("claude-sonnet-4-6")
.build();

// 2. Wrap the LangChain4j model for ADK
LangChain4j adkModel = LangChain4j.builder()
.chatModel(claudeModel)
.build();

// 3. Create your agent
LlmAgent agent = LlmAgent.builder()
.name("science-teacher")
.description("A helpful science teacher")
.model(adkModel)
.instruction("You are a helpful science teacher that explains concepts clearly.")
.build();
```

### Impact on your work
Minore impact, it's just more readable and maintainable.

### Willingness to contribute
Are you interested in implementing this feature yourself or submitting a PR?
No

---

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.