SpringBoot 整合LangChain4j 集成 Tavily 实现联网搜索,如何获取Tavily API_KEY(一篇文章解决AI联网搜索全部问题)

SpringBoot 整合LangChain4j 集成 Tavily 实现联网搜索,如何获取Tavily API_KEY(一篇文章解决AI联网搜索全部问题)

关于LangChain4j+LangGraph4j的完整项目已经基本完成,教程中所有代码均有使用,可以前往KuiCoding ,了解更多LangChain4j相关应用。希望您不吝惜您的starred给新人一点创作鼓励。

要实现联网搜索功能,获取API Key是必不可少的关键步骤。

建议按以下步骤获取Tavily API密钥:

  1. 访问Tavily官网注册账号
  2. 进入API Playground填写申请信息
  3. 返回Overview页面即可查看生成的API密钥我们可以先去Tavily官网 获取一个API密钥,注册一个自己的账号,然后点击API Playground 后面填写申请内容,回到Overview就能看见我们申请好的API密钥了
官网页面


获得API密钥后,即可在项目中完成相应配置。
可以通过max-results 来控制最多搜索结果数量

langchain4j:open-ai:chat-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 api-key: ${QWEN_API_KEY}model-name: qwen-plus log-responses:truelog-requests:truestrict-tools:truestreaming-chat-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 api-key: ${QWEN_API_KEY}model-name: qwen-plus log-responses:truelog-requests:truestrict-tools:trueembedding-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 api-key: ${EMBEDDING_API_KEY}model-name: text-embedding-v4 log-requests:truelog-responses:truemax-segments-per-batch:10web-search-engine:tavily:api-key: ${TAVILY_API_KEY}# 从环境变量读取API Keymax-results:3# 最多返回3条搜索结果

随后我们可以新建一个WebSearchConfig,配置联网搜索需要的bean类,在LangChain4j当中给我们提供了WebSearchEngine来处理联网搜索的需求。

注意引入LangChain4j-tavily依赖

<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-web-search-engine-tavily</artifactId><version>1.0.0-beta3</version></dependency>

网络搜索引擎可以作为RAG管道中的ContentRetriever使用,也可以作为@Tool使用。LangChain4j支持的检索图途径主要有以下几种:

检索途径

新建WebSearchConfig后,可以使用@value注解将我们的配置注入。

@Value("${langchain4j.web-search-engine.tavily.api-key}")privateString tavilyApiKey;@Value("${langchain4j.web-search-engine.tavily.max-results:3}")privateInteger maxResults;

随后完成WebSearchEngine类,创建集中管理 Tavily 搜索引擎配置,统一 API 密钥等参数;

@BeanpublicWebSearchEnginewebSearchEngine(){returnTavilyWebSearchEngine.builder().apiKey(tavilyApiKey).build();}

接着就是完成ContentRetriever内容检索器接口,核心作用是:从数据源(如网络、向量库)中,根据查询语义精准召回相关内容片段,为大模型提供上下文支持(适配 RAG 场景)。也可以专门通过 WebSearchEngine(如 Tavily)从网络检索相关内容,返回给大模型辅助回答。

@BeanpublicContentRetrieverwebContentRetriever(WebSearchEngine webSearchEngine){returnWebSearchContentRetriever.builder().webSearchEngine(webSearchEngine).maxResults(maxResults).build();}

完整代码:

packagecom.example.kui.config;importdev.langchain4j.rag.content.retriever.ContentRetriever;importdev.langchain4j.rag.content.retriever.WebSearchContentRetriever;importdev.langchain4j.web.search.WebSearchEngine;importdev.langchain4j.web.search.tavily.TavilyWebSearchEngine;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassWebSearchConfig{@Value("${langchain4j.web-search-engine.tavily.api-key}")privateString tavilyApiKey;@Value("${langchain4j.web-search-engine.tavily.max-results:3}")privateInteger maxResults;@BeanpublicWebSearchEnginewebSearchEngine(){returnTavilyWebSearchEngine.builder().apiKey(tavilyApiKey).build();}@BeanpublicContentRetrieverwebContentRetriever(WebSearchEngine webSearchEngine){returnWebSearchContentRetriever.builder().webSearchEngine(webSearchEngine).maxResults(maxResults).build();}}

我们可以创建一个专门用于网络检索的Agent接口,命名为WebSearchAgent

借助@AiService注解配置好我们的联网搜索的ContentRetriever,名称应该与类名相同。

@AiService(wiringMode = EXPLICIT,/* 模型,会话记忆等其他配置 */ contentRetriever ="webContentRetriever")

关于@AiService的相关使用也可以看LangChain4j 集成向量存储(PosterSQL + PGVector 、RedisEmbeddingStore)完成RAG检索如何使用 LangChain4j 搭建自己的Agent(超详细教学) 两篇文章。

在接口中实现方法

@SystemMessage("根据检索结果回答")Stringchat(@UserMessageString message);

完整代码:

@AiService(wiringMode = EXPLICIT, chatModel ="openAiChatModel", streamingChatModel ="openAiStreamingChatModel", chatMemory ="chatMemory", chatMemoryProvider ="chatMemoryProvider", contentRetriever ="webContentRetriever")publicinterfaceWebSearchAgent{@SystemMessage("根据检索结果回答")Stringchat(@UserMessageString message);}

此时我们只需要调用WebSearchAgent chat方法就能得到网络搜索结果了。

@PostMapping("/search")publicStringwebSearch(@RequestBodyString userMessage){return webSearchAgent.chat(userMessage);}
测试结果
日志

Read more

OpenClaw Web Search 完全指南(2026年3月最新)

OpenClaw Web Search 完全指南(2026年3月最新) 本文详细介绍 OpenClaw 内置 web_search 工具的 5 个官方搜索渠道,以及 Tavily 技能的使用方法。帮助你选择最适合的免费/付费方案。 目录 * OpenClaw 搜索功能概述 * 5 个官方搜索渠道详解 * 1. Brave Search API * 2. Google Gemini * 3. Grok (xAI) * 4. Kimi (Moonshot) * 5. Perplexity * 免费额度对比表 * 推荐配置方案 * Tavily Web Search 技能 * 配置步骤详解 * 常见问题 OpenClaw 搜索功能概述 OpenClaw 提供两种搜索能力:

编程小白也能玩转AI!零基础入门指南

编程小白也能玩转AI!零基础入门指南

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【前言】 你是不是也经常听到“AI时代来了”,却总觉得那是程序员、算法工程师的专属领域?自己连代码都没写过,是不是就只能旁观?别急——2025年,AI早已不是高不可攀的黑科技,而是一套普通人也能上手的实用工具。本文专为零编程基础的小白量身打造,不讲公式、不谈理论,只教你怎么用最简单的方式,把大模型变成你的“智能外挂”:写周报、回邮件、分析数据、做方案……从注册账号到跑通第一段代码,手把手带你迈出第一步。你会发现,会打字,就能玩转AI。 一、别被“AI”吓到!你不需要成为科学家 很多人一听“人工智能”,立刻想到: * 要懂数学?要会微积分? * 要会写复杂代码? * 要有GPU服务器? 错!2025年了,AI已经像Word、

8款高效科研绘图工具推荐:从流程图到专业结构图,AI助力学术可视化

8款高效科研绘图工具推荐:从流程图到专业结构图,AI助力学术可视化

在现代科研工作中,数据的可视化表达已成为论文撰写、项目汇报、成果展示中不可或缺的一环。一张清晰、专业、美观的图表不仅能提升论文的可读性与说服力,更能帮助研究者更直观地梳理逻辑、传达思想。然而,对于许多非设计背景的研究人员而言,使用传统绘图软件(如Visio、PPT、Adobe Illustrator)制作高质量科研图表往往耗时费力、学习成本高、易出错。 幸运的是,随着人工智能和自动化技术的发展,一批专为科研人员打造的智能绘图工具应运而生。它们支持通过自然语言描述自动生成各类图表,涵盖流程图、机制图、结构图、时序图等常见类型,极大降低了科研可视化的门槛。 本文将为您详细介绍8款当前主流且实用的科研绘图工具,涵盖不同学科领域与应用场景。其中,我们将重点解析“PaperXie AI科研绘图模块”,并结合其界面截图进行详细功能说明,确保内容真实、贴合产品实际,避免任何夸大或误导性描述。 一、PaperXie AI科研绘图模块 —— 面向多学科的专业级智能绘图助手 官网地址:点击直达https://www.paperxie.cn/tools/drawing 核心亮点:

我把OpenClaw调教成了能替我干活的AI员工,以后上班可以摸鱼了!

我把OpenClaw调教成了能替我干活的AI员工,以后上班可以摸鱼了!

手把手教你一键部署OpenClaw(Clawdbot),2分钟搞定! 网上教你装OpenClaw(小龙虾)的文章满大街都是,但装好后怎么让它真正派上用场,几乎没人讲透。 这半个月我为了折腾搜索、浏览器、文件同步和人格配置,前前后后烧掉不少钱,最后理出了这份实战清单。 文章挺长,建议把配置方法直接丢给你家的AI,让它手把手带你弄。 动手之前,咱们先得换个思路:别把小龙虾当成ChatGPT那种助手,把它想成你刚招的一个远程员工。 既然是员工,你就得给人家配电脑、开网络、装工具,还得讲清楚你是谁、你平时干活的习惯是什么。 下面分享的,就是我给这位“远程同事”搭工位的全过程。 手把手教你一键部署OpenClaw(Clawdbot),2分钟搞定! 一、 准备工作:电脑、大脑、部署 1、 搞台云服务器 首先,小龙虾得有个安身立命的电脑。 虽然很多人喜欢部署在Mac mini或者闲置本子上,但我更建议买云服务器。 服务器24小时不关机,你随时随地都能用,不像家里的电脑关了就断了。 这里有两个坑得避开: 第一,