一、赛事简介
NVIDIA Sky Hackathon是由NVIDIA主办的一场全球性技术盛会,旨在推动深度学习技术的创新和应用。本届比赛以“基于RAG技术创新构建智能对话机器人”为核心议题,鼓励参赛者运用RAG(Retrieval-Augmented Generation)技术,结合NVIDIA的SDK工具,自主设计和搭建对话机器人。通过这一过程,我们有机会深入了解RAG技术、掌握搭建对话机器人的核心技能,并与同行交流学习,共同探索生成式AI的更多可能性。
二、作品设计初衷
随着工业4.0的推进,工业生产和管理过程中产生大量数据和信息,这些数据包含了丰富的知识。工业领域的知识库庞大且复杂,传统的信息检索方法效率低下,难以满足现代工业在信息获取方面的速度需求。近年来,NLP和机器学习为代表的深度学习模型在文本理解和生成方面表现出色,尤其是RAG模型,通过结合信息检索和生成技术,显著提高了问答系统的性能和准确性。我们的项目旨在构建一个高效、准确的工业级知识问答系统,帮助用户快速获取所需信息,提升工作效率。
三、项目亮点
3.1 信息检索:可以从连接的本地向量数据库中快速检索与用户查询相关的信息,提升检索的准确性和效率。系统能够处理多种类型的数据,如txt和pdf格式,确保用户查询到的信息全面且相关。利用高效的嵌入向量技术,系统能够更快速地响应用户查询需求,提供精准的检索结果。
3.2 内容生成:通过多模态技术,生成连贯且有意义的文本和图像内容,确保回答的全面性和生动性。系统利用检索到的信息生成符合用户预期的回答,使得回答不仅准确,而且连贯生动,能够综合利用文本和图像两种形式的数据,提供更加全面和生动的回答。
3.3 用户交互:用户在使用清湛RAG时可以通过左侧的菜单栏选择不同的功能模块。在界面中央底部的输入框中输入查询,系统会快速检索相关信息,并在右侧展示生成的回答,包括文本和图像内容。我们提供了一个新的界面,用户可以在这里方便地上传文件、新建知识库以及选择当前使用的知识库。整体设计确保了操作的流畅和便捷,有助于提升用户在信息获取过程中的效率和满意度。
3.4 AIGC工具的应用:我们利用NIM(Natural Intelligence Model)作为AIGC工具生成多种形式的内容,包括文字和图片。以下是具体的实现步骤和过程。
3.4.1 向量存储:
我们选择了NVIDIAEmbeddings模型来创建和存储向量。这个过程包括创建嵌入向量并存储在本地,方便后续的快速检索。
3.4.2 实现步骤:
3.4.2.1 创建嵌入向量:使用ai-embed-ga-4模型创建嵌入向量,并将其存储到本地的向量存储中。
3.4.2.2 默认向量存储初始化:初始化一个空的FAISS向量存储,方便后续存储对话向量。
通过这些步骤,我们确保了系统能够快速高效地进行信息检索,提供精准的查询结果。
3.4.3 内容生成:
通过NIM工具,我们能够生成连贯且有意义的文字和图片内容。以下是具体的实现步骤:
3.4.4 文字生成:
3.4.4.1 判断是否需要生成图片:使用AI-NemoTron-4-340B-Instruct模型,通过调用API接口,根据用户输入的消息判断是否需要生成图片。
3.4.4.2 生成文字内容:如果不需要生成图片,系统会调用检索功能并流式返回生成的文字内容。清湛RAG会根据用户的输入消息进行文档检索,确保生成的文本回答连贯且有意义。
3.5 UI优化:在优化UI界面时,我们一共进行了四步优化:
3.5.1 界面布局优化:我们保持界面元素的统一布局,确保最重要的导航栏、按钮和输入框的位置固定。采用栅格系统,确保各部分之间的对齐和间距一致,以提升界面的整洁性和用户体验。
3.5.2 导航栏优化:简化导航栏设计,使用户能够一目了然地找到主要功能模块,如“上传文件”、“切换知识库”和“历史记录”。这种优化使用户操作更加直观和便捷。
3.5.3 界面配色优化:我们确保文字和背景的对比度足够高,以提高文本的可读性。同时,保持整个界面的配色方案一致,避免使用过多颜色,减少视觉疲劳,提升用户的视觉体验。
3.5.4 响应式设计:确保界面在不同设备和屏幕尺寸上都能良好显示。根据屏幕尺寸自动调整布局,确保界面元素不重叠、不变形,提供一致且优质的跨设备用户体验。
3.6 使用fastapi构建前后端不分离项目:构建了一个简单的fastapi后端服务器,把重构embed向量数据库、调用模型等步骤封装成函数并在接口中调用。同时把前端页面也放在后端项目中,使用jinjia2去渲染。
四、技术创新
清湛RAG系统的一个重要技术创新在于其能够自动切换知识库进行查询,而不是局限于当前选择的知识库。这种灵活的知识库管理和查询机制显著提高了系统的适应性和实用性。
实践步骤:
4.1 动态切换知识库:系统提供了一个接口,允许用户输入新的知识库路径。通过此接口,用户可以根据需求切换不同的知识库,确保查询的灵活性。
4.2 重新构建嵌入向量:在切换知识库后,系统会自动重新构建嵌入向量,以确保新知识库中的信息能够被快速准确地检索。我们使用NVIDIA的先进模型来生成这些嵌入向量,确保数据处理的高效性和准确性。
4.3 新界面功能:我们还提供了一个新的用户界面,用户可以在这里上传文件、新建知识库和选择当前使用的知识库。通过这个界面,用户可以方便地管理和扩展知识库,进一步提升系统的灵活性和实用性。
该功能通过调整路径和重新构建嵌入向量,实现了快速切换知识库并保证查询的准确性。这种创新使得系统在处理复杂查询和多样化需求时表现更加出色,显著提升了用户体验和系统的整体性能。用户不仅可以动态切换知识库,还可以在新的界面上轻松管理知识库,上传文件和新建知识库。这种设计使系统更加直观和易用,满足了用户在不同场景下的多样化需求。
五、总结
5.1 收获:我们深入了解了RAG模型的运行原理和流程,提升了自然语言处理和人工智能应用方面的技能。通过构建智能对话系统,我们学会了组合LLM系统,使其能够与用户进行可预测的交互。利用嵌入模型进行高效相似度查询,显著提升了对话机器人的用户体验和检索效率。
5.2 遗憾:遗憾的是,我们未能将语音功能集成到系统中。这限制了系统在多模态交互上的进一步提升。我们也未能实现中断AI生成的功能,导致用户在生成过程中无法终止或调整请求。此外,系统在开启新对话后无法查看已有的对话记录,这对用户体验造成了一定影响,尤其是在需要参考先前对话内容的情况下。
5.3 希望:未来,我们希望能够继续优化和扩展系统功能,特别是将语音识别和生成技术结合进来,打造更加全面和智能的用户交互体验。同时,我们期望我们的研究和成果能在实际应用中发挥更大作用,为行业和社会创造更大的价值。通过不断的努力和创新,我们相信清湛RAG系统将成为一个更加完善和强大的智能对话解决方案。
团队介绍:
tsingzhan_RAG是来自南京清湛人工智能研究院(以下简称清湛研究院)的团队。清湛研究院致力于成为中国人工智能领域具有“四高一强”水准(高水平人才、高精尖技术、高创新能力、高价值创造、强大影响力和竞争力),同时具备引领、辐射和带动作用的高端应用研究院和高能级产业创新平台。我们团队秉持着“四高一强”的水准,专注于开发和优化基于RAG模型的创新解决方案。团队成员包括经验丰富的机器学习工程师和软件开发者,致力于利用最先进的技术,提升文本生成的准确性和效率,为各种应用场景提供强大的智能辅助工具。
总结
**文章总结**NVIDIA Sky Hackathon是一场由NVIDIA主办的全球性技术盛会,聚焦于“基于RAG技术创新构建智能对话机器人”。来自南京清湛人工智能研究院的团队tsingzhan_RAG参与了此次比赛,设计并实现了一个针对工业领域的知识问答系统——清湛RAG。
**项目设计初衷**:
面对工业4.0时代数据激增和需求加速,传统信息检索方法效率低下。项目利用RAG(检索增强生成)技术,结合NVIDIA SDK工具,构建一个高效、准确的工业级知识问答系统,以提升信息获取效率和工作效率。
**项目亮点**:
1. **信息检索**:快速检索本地向量数据库,支持txt、pdf等格式,高效嵌入向量技术确保准确响应。
2. **内容生成**:结合多模态技术,生成连贯、有意义的文本和图像回答,一站式提供丰富信息。
3. **用户交互**:界面友好,操作便捷,支持文件上传、知识库管理与选择,提升用户体验。
4. **AIGC工具应用**:基于NIM模型,高效生成文本和图片内容,实现智能化回答。
5. **UI优化**:优化界面布局、导航栏、配色和响应式设计,确保跨设备良好体验。
6. **技术架构**:使用fastapi构建前后端不分离项目,简化部署与扩展,提升系统稳定性。
**技术创新**:
系统支持用户动态切换知识库,并自动重构嵌入向量,提升系统的灵活性与适应性。此外,新界面提供文件上传、新建知识库等功能,更加贴近用户需求。
**总结与展望**:
该系统不仅提升了团队在自然语言处理与AI应用方面的技能,还为后续优化提供了方向。尽管存在未集成语音功能、无法中断AI生成及无法查看历史对话记录等遗憾,但团队对未来充满期待,计划将语音技术融入系统,进一步完善功能,提升用户体验,为行业和社会创造更大价值。
**团队介绍**:
tsingzhan_RAG团队来自南京清湛人工智能研究院,秉持“四高一强”水准,专注于RAG模型创新解决方案的开发与优化,拥有丰富的机器学习工程和软件开发经验。