引言
在当今人工智能技术飞速发展的时代,如何高效获取实时、准确的信息已成为人们的迫切需求。许多社群中都会分享每日AI新闻,因此本文将介绍一种自动化实现新闻追踪的方法,该方法结合了Tavily Search API和OpenAI API的调用。
Tavily Search API是专为大语言模型(LLM)设计的搜索引擎,旨在帮助开发者和自主人工智能体实现高效、精准的信息检索。本文将详细介绍Tavily Search API的功能、使用方法及其在新闻总结助手中的实际应用,并通过代码实例展示如何结合OpenAI API构建一个强大的实时新闻总结工具。
Tavily Search API的主要功能和特点

Tavily Search API既然是为LLM优化的搜索引擎,那与传统的搜索引擎API(如Google或Bing)相比有什么不同呢?以下是Tavily Search API的主要特点:
-
专为LLM优化
- Tavily Search API针对RAG(检索增强生成)场景进行了优化,可在单次API调用中完成搜索、抓取、过滤和信息提取,极大地降低了开发者的工作量。
- 搜索结果以结构化方式返回,便于直接传递给LLM作为上下文。
-
高度定制化
- 提供可调节的搜索深度、领域管理和 HTML 内容解析等功能,开发者可以根据需求自定义搜索范围和结果格式。
- 支持包括或排除特定域名,确保搜索结果的相关性和精准性。
-
性能卓越
- API 保证实时响应和高效的信息提取,通过专有算法对结果进行评分和排名,确保返回最相关的内容。
-
友好的集成性
- Tavily 提供 Python SDK 和 REST API 文档,开发者可以轻松将其集成到现有系统中。
- 支持与 Langchain 和 LLamaIndex 等工具集成,进一步提升开发效率。
-
透明与信息丰富
- Tavily 提供详细的文档支持,从基础设置到高级功能均有详解,帮助开发者快速上手。
Tavily Search API的使用方法和技术原理
使用Tavily Search API的基础步骤
-
注册并获取API Key
开发者需要在Tavily平台,网址:https://app.tavily.com/注册账号, 并获取Tavily API Key。 -
在API Playground测试
在Tavily API Playground,网址:https://app.tavily.com/playground, 中测试搜索功能,熟悉API的输入输出格式。 -
集成Tavily SDK或REST API
Tavily提供Python SDK和REST API,开发者可以根据需求选择适合的方式进行集成。
下图是Tavily API Playground的界面:

Tavily Search API方法详解
Tavily Search API提供了多种搜索方法,以下是主要功能的介绍:
-
search方法
执行搜索查询并返回结构化的字典格式结果。支持的参数包括:search_depth:搜索深度,可选值为"basic"或"advanced"。topic:搜索主题,如"general"或"news"。max_results:返回的最大结果数。include_domains和exclude_domains:指定包含或排除的域名。
-
get_search_context方法
返回指定token限制内的上下文内容和来源,适用于需要直接从搜索结果中提取相关内容的场景。 -
qna_search方法
返回针对查询的简短答案,适合用作AI工具的辅助功能。 -
错误处理机制
Tavily API提供全面的错误处理机制,包括缺少API Key、无效API Key和超出使用限制等常见问题的提示,确保开发者能够快速定位并解决问题。
使用Tavily Search API构建AI新闻总结助手
下面我们就使用Tavily Search API和OpenAI API,构建一个强大的新闻总结助手,实现以下功能:
- 搜索指定主题的最新新闻。
- 提取新闻内容并翻译成中文。
- 生成新闻摘要并保存为Markdown文件。
功能说明
-
搜索新闻
我们主要使用Tavily Search API的search方法,按主题查询最近n天的新闻,并返回结构化的搜索结果。 -
翻译内容
因为搜索返回的结果可能是各种语言,所以需要调用OpenAI API,将新闻标题和内容翻译成中文,方便我们本地化使用。 -
输出结果
将翻译后的新闻内容保存为Markdown文件,便于后续查看和分享。
以下是具体实现代码及其说明。
代码实现
让我们分步骤来实现这个新闻总结助手。
1.环境准备
首先导入所需的库并设置环境变量:
from tavily import TavilyClient
import os
from datetime import datetime
from openai import OpenAI
from dotenv import load_dotenv
# 加载环境变量
load_dotenv()
这里我们使用了:
tavily- Tavily Search API的Python SDKopenai- OpenAI API的官方客户端python-dotenv- 用于管理环境变量
环境变量设置
在开始之前,我们需要正确设置环境变量。推荐使用.env文件来管理环境变量,这是一种安全且便捷的方式。
1. 创建.env文件
在项目根目录下创建.env文件,内容如下:
TAVILY_API_KEY=your_tavily_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
2. 安装依赖
确保已安装python-dotenv包:
pip install python-dotenv
3. 环境变量说明
TAVILY_API_KEY:之前已介绍OPENAI_API_KEY:从OpenAI平台,网址:https://platform.openai.com/api-keys获取
4. 安全提示
-永远不要将包含实际API密钥的.env文件提交到代码仓库
-建议在.gitignore文件中添加`.env:
.env
设置好环境变量后,我们就可以开始实现新闻总结助手的核心功能了。
2.环境变量检查
为了确保程序能正常运行,我们需要检查必要的环境变量:
def check_env_vars():
missing_vars = []
for var in ['TAVILY_API_KEY'


4701

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



