0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定制本地的ChatFile的AI问答系统

谷歌开发者 来源:谷歌开发者 2025-01-03 09:26 次阅读

写在前面

"这份 200 页的威廉希尔官方网站 文档,能帮我总结一下核心内容吗?" "刚收到客户 100 页的需求文档,有办法快速理解吗?" "团队的知识库太庞大了,想问个问题都要翻半天..."

是不是经常会遇到这样的困扰?今天,我们将利用下面两个威廉希尔官方网站 为自己定制一个本地的 ChatFile 的 AI 问答系统:

1. Google 最新开源的生成式 AI 模型:Gemma 2

2. 检索增强生成威廉希尔官方网站 : RAG (Retrieval - Augmented Generation)

Gen AI 威廉希尔官方网站 发展

LLM 威廉希尔官方网站 生态全景

90f62b3a-c692-11ef-9310-92fbcf53809c.png

Google 生成式 AI

9110ba5e-c692-11ef-9310-92fbcf53809c.png

Google 在 AI 领域采取了双轨制战略:

闭源商业模型

Gemini 系列 (1.0/1.5 Flash/1.5 Pro/2.0 等) - 语言文本模型/多模态模型

Imagen 系列 - 文生图模型

Embedding Models - 文本 embedding/多模态 embedding

开放模型

Gemma 系列 (Gemma 1|2, Code Gemma, Pali Gemma 等)

Gemma 是 Google 的一系列轻量级开放模型,继承了 Gemini 的核心威廉希尔官方网站 。其中 Gemma 2 是截止目前最新的模型版本。

Gemma 2 提供了三个不同规模的版本:

2B 参数版本:适合边缘计算场景

9B 参数版本: 平衡性能和资源需求

27B 参数版本:提供最佳性能

快速了解 RAG

9129ba9a-c692-11ef-9310-92fbcf53809c.jpg

△ Comparison between the three paradigms of RAG

(来源: https://arxiv.org/abs/2312.10997v5)

913765be-c692-11ef-9310-92fbcf53809c.png

RAG 通过几个主要步骤来帮助增强生成式 AI 输出:

检索和预处理: RAG 利用强大的搜索算法查询外部数据,例如网页、知识库和数据库。检索完毕后,相关信息会进行预处理,包括标记化、词干提取和停用词移除。

生成: 经过预处理的检索到的信息接着会无缝整合到预训练的 LLM 中。此整合增强了 LLM 的上下文,使其能够更全面地理解主题。这种增强的上下文使 LLM 能够生成更精确、更翔实且更具吸引力的回答。

RAG 的运行方式是:首先, 使用 LLM 生成的查询从数据库中检索相关信息。然后, 将这种检索到的信息整合到 LLM 的查询输入中,使其能够生成更准确且与上下文更相关的文本

实战从 0-1 构建智能文档助手

在本教程中,我们将带您了解如何设置和使用一个命令行工具,通过它您可以使用最先进的语言模型 Gemma 2 与您的 PDF 文件进行对话交互。

公开源代码

https://github.com/Julian-Cao/chat-file-with-gemma.git

项目概述

我们将构建一个 Python 的命令行应用程序,实现:

1. PDF 文本提取

2. 文本向量化

3. 智能问答生成

系统模块

91456a92-c692-11ef-9310-92fbcf53809c.png

文档解析处理器 (Parser Chunks)

使用 PyMuPDF 处理 PDF 等办公文件

实现文本分块和预处理

向量化处理 (Embedding Model)

使用 text-multilingual-embedding-002 模型

将文本转换为高维向量表示

向量数据库 (Vector Database)

实现基于本地文件的向量存储

支持高效的相似度检索

生成式 AI 模型 (Gen AI Model)

通过 Groq 直接使用 Gemma 2

处理自然语言理解和生成

对话记忆管理 (Chat Memory)

基于本地文件系统

维护上下文连贯性

前置条件

在开始之前,请确保您已准备:

1. Python 3.7 或更高版本

2. 系统已安装 Git

3. 用于 Vertex AI 的 Google Cloud 账号

4. 申请用于访问 Gemma 2 的 Groq API 密钥

5. 安装 Python Typer 库命令行应用程序构建工具

步骤 1: 环境设置

首先,让我们克隆代码仓库并设置环境:

# Clone the repository
git clone https://github.com/Julian-Cao/chat-file-with-gemma.git
cd chat-file-with-gemma
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`
# Install the required dependencies
pipinstall-rrequirements.txt

步骤 2: 配置

在项目根目录创建 config.json 文件,包含您的 Google Cloud 和 Groq API 凭证:

{
"project_id": "your-google-cloud-project-id",
"region": "your-google-cloud-region",
"groq_key": "your-groq-api-key"
}

步骤 3: 了解项目结构

项目的主要组件包括:

1. chat.py: 包含文本处理和交互的核心功能

2. requirements.txt: 列出所有 Python 依赖

3. demo.pdf: 示例 PDF 文件 — Attention Is All You Need

4. config.json: 存储你的 API 凭证 (需要自行创建)

5. README.md

Attention Is All You Need

https://arxiv.org/abs/1706.03762

步骤 4: 工作原理

让我们来分析 chat.py 文件的关键组件:

文本提取:应用程序使用 PyMuPDF (以 fitz 导入) 从 PDF 文件中提取文本并将其分割成可管理的块。

文本嵌入:使用 Vertex AI 的文本嵌入模型为文本块创建向量表示。这使得后续可以进行高效的相似度搜索。

相似度搜索:当你提出问题时,应用程序通过比较问题的嵌入向量与文档块的嵌入向量找到最相关的内容。

响应生成:通过 Groq API 使用 Gemma 2 基于相关上下文和你的问题生成响应。

步骤 5:运行你的 ChatFile 应用程序

现在你可以运行应用程序:

python chat.py

应用程序会提示你提供 PDF 文件路径。处理完文档后,你就可以开始询问关于其内容的问题。

开始使用

根据提示,输入 PDF 文件的路径。

应用程序将处理文档,这可能需要一些时间,具体取决于文件大小。

处理完成后,你就可以开始询问文档相关的问题。

输入你的问题并按回车。应用程序将根据文档内容提供答案。

要切换到不同的文档,在提示输入问题时输入 **'c'**。

要退出应用程序,在提示输入问题时输入 **'q'**。

示例交互

> python chat.py
Please enter the path to your file (or 'q' to quit): /path/to/your/document.pdf
Initializing with file: /path/to/your/document.pdf
Extracting text chunks…
Processing chunks…
Embedded all chunks
Saved embedded chunks to embedded_chunks_1234567890abcdef.json
Initialization complete. You can now start asking questions.
Enter your question below
(or 'q' to quit, 'c' to change file)
Question: What is the main topic of this document?
[Answer will appear here]
- -
Enter your question below
(or 'q' to quit, 'c' to change file)
Question: q
ThankyouforusingtheInteractiveFileQ&ASystem.Goodbye!

最后

恭喜!你已经设置并使用了由 Gemma 2 驱动的本地 ChatFile 应用。这个工具让你能够以对话方式与 PDF 文档交互。

此工具实现包含以下特性:

缓存嵌入,使用相同文档时能更快地运行

具有丰富文本格式的交互式命令行界面

无需重启应用程序即可在不同文档之间切换

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Google
    +关注

    关注

    5

    文章

    1766

    浏览量

    57591
  • AI
    AI
    +关注

    关注

    87

    文章

    31027

    浏览量

    269363
  • LLM
    LLM
    +关注

    关注

    0

    文章

    292

    浏览量

    351

原文标题:【GDE 分享】Gemma 2 + RAG: 打造个人 AI 文档问答系统

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AI健康助手超值之选:问答AI智能体套件29.9元拿下!

    问答AI智能体套件是一款集成高性能PCBA主板、LED触摸灯板、高品质喇叭与麦克风、嵌入式软件、大模型云平台以及用户友好的小程序的AI套件,29.9元的超值价格,就能为企业提供一套端到端的智能解决方案。
    的头像 发表于 01-02 10:35 76次阅读
    <b class='flag-5'>AI</b>健康助手超值之选:<b class='flag-5'>问答</b>式<b class='flag-5'>AI</b>智能体套件29.9元拿下!

    仪器知识问答小课堂

    关于仪器设备实验中的各种知识问题的问答
    的头像 发表于 12-27 16:21 97次阅读
    仪器知识<b class='flag-5'>问答</b>小课堂

    苹果利用AWS定制AI芯片提升服务

    近日,苹果公司在AWS Reinvent大会上透露,正借助亚马逊云计算部门AWS的定制人工智能(AI)芯片来强化其搜索等服务。此举显示了苹果在AI威廉希尔官方网站 领域的深入布局和对提升服务质量的持续追求
    的头像 发表于 12-05 14:14 204次阅读

    NVIDIA助力企业创建定制AI应用

    NVIDIA 近日宣布与众多威廉希尔官方网站 领导者一同使用最新NVIDIA NIM Agent Blueprint以及NVIDIA NeMo和NVIDIA NIM微服务,帮助企业创建定制 AI 应用,改变全球各行各业。
    的头像 发表于 11-20 09:12 352次阅读

    浪潮信息发布KOS AI定制版,大幅提升大模型训练效率

    浪潮信息近期推出了“元脑服务器操作系统KOS AI定制版”,为人工智能领域带来了革命性的变化。这款定制版操作系统通过简单的两步操作,即可实现
    的头像 发表于 10-30 17:23 526次阅读

    AI智能化问答:自然语言处理威廉希尔官方网站 的重要应用

    自然语言处理(NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、解释和生成人类语言。问答系统作为NLP的一个重要应用,能够精确地解析用户以自然语言提出的问题,并从包含丰富信息的异构
    的头像 发表于 10-12 10:58 471次阅读
    <b class='flag-5'>AI</b>智能化<b class='flag-5'>问答</b>:自然语言处理威廉希尔官方网站
的重要应用

    给Java同仁单点的AI&quot;开胃菜&quot;--搭建一个自己的本地问答系统

    搭建一个简易的AI问答系统,主要用java来实现,也有一些简单的python知识;网上很多例子都是以 ChatGPT来讲解的,但因为它对国内访问有限制,OpeAi连接太麻烦,又要虚拟账号注册账号啥的,第一步就劝退了,所以选择了
    的头像 发表于 09-27 14:40 281次阅读
    给Java同仁单点的<b class='flag-5'>AI</b>&quot;开胃菜&quot;--搭建一个自己的<b class='flag-5'>本地</b><b class='flag-5'>问答</b><b class='flag-5'>系统</b>

    联想印度布局AI服务器生产,加速AI威廉希尔官方网站 本地化进程

    联想集团近日宣布了一项重大战略举措,正式在印度南部启动人工智能服务器的本地化生产,并配套在班加罗尔科技中心设立专注于AI服务器的研发实验室。此举标志着联想在全球AI领域布局的进一步深化,尤其是在亚洲市场的重要一步。
    的头像 发表于 09-19 16:46 351次阅读

    NVIDIA RTX AI套件简化AI驱动的应用开发

    NVIDIA 于近日发布 NVIDIA RTX AI套件,这一工具和 SDK 集合能够帮助 Windows 应用开发者定制、优化和部署适用于 Windows 应用的 AI 模型。该套件免费提供,不要求使用者具备
    的头像 发表于 09-06 14:45 464次阅读

    涂鸦HEDV本地化部署方案,助你低成本实现定制化开发!

    在日新月异的信息科技领域,软件定制化需求不断增长,尤其在智慧校园、智慧园区和智慧能源等多元化业务场景中,许多企业和组织对本地化部署的需求日益强烈。然而,传统软件应用往往难以跟上企业智能化转型的步伐
    的头像 发表于 07-06 08:15 794次阅读
    涂鸦HEDV<b class='flag-5'>本地</b>化部署方案,助你低成本实现<b class='flag-5'>定制</b>化开发!

    技嘉科技推出GIGABYTE AI TOP,引领本地AI训练新纪元

    技嘉科技在COMPUTEX 2024前夕推出GIGABYTE AI TOP,引领本地AI训练新纪元   在即将到来的COMPUTEX 2024科技盛会前夕,全球知名的计算机硬件制造商技嘉
    的头像 发表于 06-11 14:11 937次阅读

    技嘉科技于 COMPUTEX 2024 发布 AI TOP 本地 AI 训练解决方案

    台北2024年6月4日 /美通社/ -- 技嘉科技(GIGABYTE)于 COMPUTEX 2024 展前举行发布会,推出旨在满足本地 AI 训练需求的全新解决方案-GIGABYTE AI TOP
    的头像 发表于 06-07 10:54 284次阅读

    Reddit与OpenAI达成合作,引入问答内容及AI功能

    消息指出,Reddit 与 OpenAI今日宣布建立“战略联盟”,共同推动Reddit问答内容在OpenAI旗下产品中的应用,OpenAI亦将成为Reddit的广告合作商。
    的头像 发表于 05-17 10:58 325次阅读

    微软将在PowerToys中运用本地AI模型优化粘贴功能

    据微软官方宣布,在Build 2024开发者大会上,公司将升级PowerToys,增加基于本地AI模型的高级粘贴功能。
    的头像 发表于 04-11 11:37 394次阅读

    虹科分享 | 用Redis为LangChain定制AI代理——OpenGPTs

    OpenAI最近推出了OpenAI GPTs——一个构建定制AI代理的无代码“应用商店”,随后LangChain开发了类似的开源工具OpenGPTs。OpenGPTs是一款低代码的开源框架,专用于构建定制化的人工智能代理。
    的头像 发表于 01-18 10:39 356次阅读
    虹科分享 | 用Redis为LangChain<b class='flag-5'>定制</b><b class='flag-5'>AI</b>代理——OpenGPTs