序
本文主要研究一下langchain4j的Web Search Engine
步骤
pom.xml
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-web-search-engine-searchapi</artifactId>
<version>1.0.0-beta2</version>
</dependency>
example
@Test
public void testSearchEngine() {
SearchApiWebSearchEngine searchEngine = SearchApiWebSearchEngine.builder()
.apiKey(System.getenv("SEARCH_API_KEY"))
.engine("baidu")
.build();
WebSearchTool webTool = WebSearchTool.from(searchEngine);
Assistant assistant = AiServices.builder(Assistant.class)
.chatLanguageModel(model)
.tools(webTool)
.chatMemory(MessageWindowChatMemory.withMaxMessages(10))
.build();
String result = assistant.search("今天日期是哪一天");
System.out.println(result);
}
输出如下:
根据搜索结果,今天的日期为2025年3月25日(星期二),在农历中则是2025年二月廿六。
更多详细信息您可以访问以下网站:
- [易灵算命网](http://old.d02.cn/suanming/nongli.php)
- [今天几号网](https://www.jintianjihao.com/)
- [快乐日历 - 今天什么日子,今天星期几,农历几月几日@快乐家园](http://www.joyurl.cn/)
源码
WebSearchEngine
dev/langchain4j/web/search/WebSearchEngine.java
public interface WebSearchEngine {
/**
* Performs a search query on the web search engine and returns the search results.
*
* @param query the search query
* @return the search results
*/
default WebSearchResults search(String query) {
return search(WebSearchRequest.from(query));
}
/**
* Performs a search request on the web search engine and returns the search results.
*
* @param webSearchRequest the search request
* @return the web search results
*/
WebSearchResults search(WebSearchRequest webSearchRequest);
}
langchain4j定义了WebSearchEngine接口,它定义了search方法,根据WebSearchRequest返回WebSearchResults
WebSearchRequest
dev/langchain4j/web/search/WebSearchRequest.java
public class WebSearchRequest {
private final String searchTerms;
private final Integer maxResults;
private final String language;
private final String geoLocation;
private final Integer startPage;
private final Integer startIndex;
private final

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



