NVIDIA AI-AGENT 夏季训练营
项目名称:RAG&Vision Enhanced CUDA Coding Agent
报告日期:2024年8月18日
项目负责人:月亮说她晒伤了
项目概述
- 构建了两个CUDA编程Agent,分别是RAG-Agent和VL-Agent
- RAG-Agent运用RAG增强技术,将NVIDIA CUDA Programing Guide作为外部文档进行向量化存储。能够在官方文档中搜索与问题相关的答案,并根据用户需求编写CUDA代码。
❤ 通过先查询官方文档再进行回答编程问题,提高了答案的准确性与权威性。 - VL-Agent借助多模态大模型技术,能够对用于输入的图片进行解析,以此依据图片内容编写符合要求的CUDA代码。
❤ 针对用户CUDA编程时对Grid和Block size不清楚、不直观的痛点,借助模型的视觉能力,帮助用户解决从“心中有图”到“写出代码”的“最后一公里”难题。
技术方案与实施步骤
模型选择
🤖RAG-Agent:
- Chat Model:
microsoft/phi-3-small-128k-instruct
经过instruct后的phi3模型兼具精度和速度 - Embed Model:
NV-Embed-QA
能高效精确的对文档进行embedding
🤖VL-Agent:
- Vision Model:
microsoft/phi-3-vision-128k-instruct
兼具128k上下文以及视觉能力 - Chat Model:
microsoft/phi-3-small-128k-instruct
经过instruct后的phi3模型兼具精度和速度
数据的构建
RAG:
从NVIDIA CUDA官方文档的HTML中获取文档,并使用模型进行embedding,之后存储在本地,待使用时进行读取,高效便捷。
功能整合
构建了两个Agent,通过使用Embedding+RAG的方式构建RAG-Agent,通过读取图片并进行分析构建VL-Agent。
实施步骤
环境搭建
代码实现 & 部署
项目成果与展示
RAG-Agent
VL-Agent
项目总结与展望
- 简单的通过NIM接口构建了两个用于CUDA编程的Agent助手,一个借助RAG技术提高CUDA编程能力,一个借助Vision功能对用户要求的grid size和block size进行分析并以此完成CUDA编程
- 未来可以将两个Agent合二为一成为兼具RAG和Vision功能的Agent plus