谷歌的Java代理开发工具包新增与LangChain4j的集成

2025年09月28日 由 佚名 发表 27 0

Java代理开发工具包的最新版本0.2.0通过与LangChain4j LLM框架的集成,显著扩展了其功能,使其支持框架支持的所有大型语言模型。


在集成LangChain4j之前,Java的ADK仅支持两个模型,Google Gemini和Anthropic Claude。这与Python ADK形成对比,后者通过LiteLLM提供了更广泛的支持。通过LangChain4j,Java开发者现在可以使用来自OpenAI、Anthropic、Mistral的模型,以及Ollama或Docker Model Runner支持的所有模型,如Gemma、Qwen、Phi和其他模型。


谷歌开发者关系工程师Guillaume Laforge,他也是LangChain4j的贡献者之一,并参与了其在ADK中的集成,他解释说,使用LangChain4j可以在多代理场景中混合使用模型。这可以通过代理工具实现,允许一个代理像工具一样使用另一个代理。

在多代理场景中混合不同的模型非常有趣,因为你可以使用最适合工作的模型。也许你需要使用一个超快的模型来执行简单的分类任务,以根据请求进行路由,而对于需要更高级思考的主要任务(如Gemini 2.5思考模型),你将使用一个更强大的模型。


Laforge还提供了一个基本实现,其中一个主要代理由Claude驱动,另一个工具代理使用OpenAI提供天气信息。一旦你实例化了这两个代理,我们称它们为weatherAgent和claudeModel,你可以通过如下实例化一个代理来组合它们:


LlmAgent agent = LlmAgent.builder()
    .name("friendly-weather-app")
    .description("Friend agent that knows about the weather")
    .model(new LangChain4j(claudeModel, CLAUDE_3_7_SONNET_20250219))
    .instruction("""
        You are a friendly assistant.
        If asked about the weather forecast for a city,
        you MUST call the `weather-agent` function.
        """)
    .tools(AgentTool.create(weatherAgent))
    .build();


除了LangChain4j的集成,ADK 0.2.0还引入了一系列重要的增强功能,旨在提高工具能力和代理性能。在代理工具方面,它增加了从对象实例创建FunctionTools的支持,改进了异步工具操作,并提供了更精细的程序化控制以管理代理执行。在代理逻辑和内存方面,它通过回调链和新的内存管理原语加强了逻辑和内存处理,提供了更大的灵活性来控制代理如何存储、检索和处理信息。


作为其更广泛的代理开发工具包的一部分,今年早些时候推出的Java的ADK仍处于早期阶段。要开始使用Java的ADK文档,请前往入门指南,或从GitHub上fork Laforge的模板项目。


文章来源:https://www.infoq.com/news/2025/09/goodle-adk-langchain4j/
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消