
开启洞察力:使用 Gemini 2.0 Flash 高效处理大型文档,进行 Ai-powered 销售分析
- Rifx.Online
- Large Language Models , AI Applications , Case Studies
- 05 Mar, 2025
凭借一百万个标记的巨大上下文窗口,Gemini 2.0 Flash 被优化用于高速处理大型文档。在本教程中,我将解释如何使用 Gemini 2.0 Flash 构建一个 AI 驱动的 SaaS 销售洞察工具,能够:
- 总结各行业和产品的销售趋势。
- 对销售业绩进行 sentiment analysis。
- 回答有关销售和收入趋势的商业相关查询。
为什么使用 Gemini 2.0 Flash 而不是 RAG?
Gemini 2.0 Flash 的上下文窗口为 1,000,000 个 tokens,这使得可以在不需要分块或检索机制的情况下处理完整数据集。此外,与像 Gemini Ultra 这样的大型模型相比,它的成本效益更高。
许多应用程序使用检索增强生成(RAG)进行结构化数据分析,但 Gemini 2.0 Flash 消除了对 RAG 的需求,因为:
- 它的大 token 限制使得可以在单个请求中处理完整数据集。
- 它允许直接进行结构化数据分析,消除了检索复杂性。
- 与基于 RAG 的方法相比,它提供了更快且更具成本效益的处理。
如果您想使用 Gemini 2.0 Flash Lite 来优化成本,您可以这样做,但请注意,在本文发布时,它的限制为每分钟 60 个查询,并且仅在 us-central1 区域可用。
使用 Gemini 2.0 Flash 构建企业销售洞察工具
让我们概述一下我们将采取的主要步骤:
- 该过程首先从 Kaggle 加载和准备 AWS SaaS 销售数据集。
- 然后,我们将初始化 Google Cloud Vertex AI 和 Gemini 2.0 Flash 进行 AI 处理。
- 接下来,我们将提取独特的行业和产品供用户选择。
- 我们将使用 Tiktoken 管理数据集的大小,以符合令牌限制。
- 用户选择的过滤器将触发关键销售指标和 AI 驱动的洞察的计算。
- sentiment analysis 将对表现进行分类,问答功能将提供与销售相关的洞察。
- 最后,我们将工具集成到 Gradio 中,以实现动态用户交互和实时探索。
第一步:先决条件
在我们开始之前,确保我们已安装以下工具和库:
- Python 3.8+
- Kaggle
- Google-genai
- Datasets
- Tiktoken
- Gradio
运行以下命令以安装必要的依赖项:
安装上述依赖项后,运行以下导入命令:
Step 2: Load the Dataset
我们将使用 AWS SaaS 销售数据集进行此项目,该数据集可在 Kaggle 上获得。首先设置 Kaggle 凭据,并分别传递作者和数据集名称。
现在数据集已下载到我们的环境中,我们可以开始使用它。我们将使用 pandas 库从路径加载和读取数据集。
该数据集包含 9,994 笔交易,列包括:
- Industry: 公司的行业类别。
- Product: 销售的 SaaS 产品。
- Sales: 交易收入。
- Quantity: 销售的许可证数量。
- Profit: 交易利润。
- Discount: 任何适用的折扣。
第3步:设置Google Cloud Vertex AI
要使用Gemini 2.0 Flash,我们需要进行Google Cloud的身份验证。
要初始化Vertex AI,请搜索Vertex AI API并启用它(确保您的帐户已启用计费)。
保存项目的ID和位置以供将来参考。运行此项目的Gemini 2.0 Flash大约花费$0.07,约进行五次API调用。
要了解有关Vertex AI的更多信息,请查看Vertex AI的入门教程。
第4步:数据预处理
为了确保正确的数据处理,规范化列名并提取关键类别。我们找到独特的行业和产品,作为我们演示中markdown的来源。如果您使用的是不同的数据集,请相应选择您的类别。
第5步:计算数据集中的令牌
现在我们已经处理了数据集,我们将计算令牌。由于 Gemini 2.0 Flash 具有 1,000,000 令牌限制,因此在将数据传递给模型之前,计算数据集中的令牌数量非常重要。该数据集有 805447 个令牌。
我们使用 Tiktoken 进行令牌化,具体如下:
- 初始化令牌器: 使用 Tiktoken 的
cl100k_base
令牌器,针对 Gemini 和 GPT 模型进行了优化。 - 选择相关文本列: 确定用于 AI 分析的关键列(行业、产品、销售、数量、折扣、利润)。
- 将选定的列合并为单个文本字段: 将列转换为字符串以避免类型不匹配,并使用“ | ”作为分隔符将它们合并为
combined_text
。 - 定义一个函数来计算令牌: 对
combined_text
中的每一行进行令牌化,并计算所有行的总令牌数。 - 计算数据集中的总令牌数: 删除 NaN 值,应用令牌计数函数,并打印总令牌数以确保符合 Gemini 2.0 Flash 的 1M 令牌限制。
第6步:总结销售趋势
现在,我们可以处理演示的分析师部分。此功能根据所选行业和产品生成销售摘要。
summarize_sales()
函数根据所选行业和产品过滤数据集,计算关键销售指标,如总销售额、销售数量、利润和平均折扣,并将数据格式化为结构化提示。然后将此提示传递给 Gemini 2.0 Flash 模型,以生成简明的销售摘要。
步骤 7:执行销售情感分析
类似地,我们定义了另一个基于总利润执行情感分析的函数。
analyze_sales_sentiment()
函数通过根据所选行业和产品过滤数据集,计算总销售额和总利润,并使用 Gemini 2.0 Flash 生成 AI 驱动的情感分析来分析销售情感。然后,模型会根据销售表现的结构化摘要进行提示,使其能够动态评估情感,而不是仅仅依赖固定的利润阈值。
第8步:构建Gradio界面
现在,我们已经具备了所有关键逻辑功能。接下来,我们将使用Gradio构建交互式用户界面。
这段代码创建了一个用于AI驱动的SaaS销售分析的交互式Gradio UI,用户可以从下拉菜单中选择行业和产品,并点击按钮生成销售摘要。所选输入被传递给summarize_sales()
函数,该函数处理数据并返回见解,结果显示在文本框中。然后启动Gradio应用程序以进行实时交互。
这是我进行快速测试时的输出。我选择了所有行业和产品,然后要求模型生成销售摘要并对所选参数进行sentiment analysis。
结论
在本教程中,我们使用 Gemini 2.0 Flash 构建了一个 AI 驱动的销售洞察工具,实现了对销售数据的实时分析。我们利用 Gemini 2.0 Flash 的大上下文窗口处理结构化数据而不使用 RAG,并集成了基于 Gradio 的交互式界面,以便于用户交互。
感谢您成为社区的一部分
在您离开之前:
- 一定要点赞并关注作者
- 关注我们:X | LinkedIn | YouTube | Newsletter | Podcast
- 查看 CoFeed,这是跟进最新科技的智能方式
- 在 Differ 上开始您自己的免费 AI 驱动博客
- 欲获取更多内容,请访问 plainenglish.io + stackademic.com