NVIDIA AI-AGENT夏季训练营
项目名称:AI-AGENT夏季训练营 — RAG智能对话机器人
报告日期:2024年8月18日
项目负责人:LiangJi Zhong
---------------------------------------------------------------------------------------------------------------------------------
1. 项目概述
本项目基于NVIDIA AI-AGENT夏季训练营,借助Nvidia NIM 平台实现RAG智能对话机器人,实现从文档图片中提取数据,并将数据进行可视化,并将可视化数据保存为图片。整体功能封装后,可在UI界面操作
应用场景:可提高日常文职办公的效率,更自由灵活的实现定制化需求
整体效果如下:
2. 技术方案
2.1 模型构建
基于大模型“Microsoft Phi 3 vision”和“llama-3.1-405b-instruct”,构建RAG智能对话机器人,
2.2. 数据构建
数据库的构建,为图片数据。通过大模型理解图文内容,提取数据,并进行向量化存储
2.3.功能整合
基于提取的向量数据和语言大模型prompt,作为agent的输入,去进行新的图片生成。实现图片转文字再到文字转图片的多模态应用
3. 实施步骤
3.1 环境搭建
创建python 3.8虚拟环境
conda create --name ai_endpoint python=3.8
进入虚拟环境
conda activate ai_endpoint
安装nvidia_ai_endpoint工具
pip install langchain-nvidia-ai-endpoints
安装Jupyter Lab
pip install jupyterlab
安装langchain_core
pip install langchain_core
安装langchain
pip install langchain
安装matplotlib
pip install matplotlib
安装Numpy
pip install numpy
安装faiss, 这里如果没有GPU可以安装CPU版本
pip install faiss-cpu==1.7.2
安装OPENAI库
pip install openai
3.2 代码实现
3.2.1 将图片数据转为base64
3.2.2 将base64数据给到大模型Microsoft Phi 3 vision , 利用其解析图片中数据,以文本形式输出打印
3.2.3 构建多模态agent智能体,解析图片数据
3.2.4 运行Agent,输入图片数据和Prompt,传给大模型meta/llama-3.1-405b-instruct,自动生成新的数据
3.2.5 使用python,对生成的数据进行可视化
3.3 测试与调优
使用大模型理解图文内容时,对中文字符的理解不够透彻,会有错别字,需要数据预处理,进行清洗,提高RAG数据库的质量,减少大模型幻觉,提高生成内容的准确性
3.4 集成与部署
将多模态智能体封装进Gradio,供用户在Web端的UI界面上操作
4. 成果展示