首页 > 其他分享 >现代科技智能问答助手

现代科技智能问答助手

时间:2024-09-10 19:24:04浏览次数:13  
标签:OpenVINO -- 现代科技 模型 助手 文档 model 问答 封神

一. 部署背景

为了确保现代科技智能问答助手的性能和可靠性,我们选择在阿里云的英特尔至强可扩展处理器的G8i云环境实例上进行部署。G8i实例提供高性能计算能力,适用于需要大量计算资源和高并发处理能力的应用场景。

二. 部署目标

- 确保问答助手的高响应速度和处理能力。

- 提供稳定的服务,以应对高并发的用户查询。

- 优化资源使用,降低运营成本。

三.阿里云G8i云环境实例概述


G8i实例是阿里云推出的基于英特尔至强可扩展处理器的GPU计算型实例,具有以下特点:


- 高性能的CPU和GPU,适合进行大规模数据处理和机器学习任务。

- 高速的本地SSD存储,提供低延迟的数据读写能力。

- 支持弹性扩展,可以根据业务需求动态调整资源。


四.部署架构

4.1 硬件配置


- CPU:英特尔至强可扩展处理器,提供强大的计算能力。

- 内存:高容量内存,确保多任务处理和大数据处理的流畅性。

- 存储:本地SSD存储,用于存放系统和应用数据。

- 网络:高速网络连接,支持大量并发用户访问。


4.2 软件配置


- 操作系统:Linux操作系统,提供稳定的运行环境。

- Web框架:Flask,用于构建问答助手的Web服务。

- 数据库:ElasticSearch和Milvus,用于文档存储和检索。

- 大模型:百川大模型,用于处理自然语言理解和生成。


4.3 部署流程


1. 环境准备:在阿里云控制台创建G8i实例,配置所需的CPU、内存和存储资源。

2. 系统安装:安装Linux操作系统和必要的软件环境。

3. 服务部署:

- 部署Flask Web框架,设置API接口。

- 配置ElasticSearch和Milvus数据库,创建索引和集合。

- 部署百川大模型,确保模型加载和运行。

4. 性能优化:

- 优化ElasticSearch和Milvus的配置,提高检索效率。

- 对Flask应用进行性能调优,提高响应速度。

5. 安全配置:

- 配置防火墙和安全组,限制不必要的网络访问。

- 使用SSL/TLS加密数据传输,保护用户数据安全。

6. 测试验证:

- 进行系统测试,确保所有服务正常运行。

- 进行性能测试,验证系统的响应速度和稳定性。


5. 监控与维护


- 监控:使用阿里云监控服务,实时监控系统性能和资源使用情况。

- 日志:配置日志收集和分析,便于问题诊断和性能优化。

- 备份:定期备份系统和数据,确保数据安全和快速恢复。


6. 风险评估与应对措施


- 硬件故障:通过阿里云的自动备份和快速恢复功能,减少硬件故障的影响。

- 网络攻击:加强网络安全防护,定期更新安全策略和补丁。

- 性能瓶颈:通过监控和日志分析,及时发现并解决性能瓶颈。


7. 结论


通过在阿里云G8i云环境实例上部署现代科技智能问答助手,我们能够提供高性能、高稳定性的服务,满足用户对现代科技知识的需求。通过持续的监控和优化,我们确保服务的长期稳定运行。

五.项目流程。

现代科技智能文档问答助手的流程图如下:

现代科技智能问答助手_python

文档问答流程图

  1. 文档加载(Document Loading):加载文档,文档格式为URL,PDF,Database。本项目暂时先支持txt文件,后续将支持更多文件格式;
  2. 文档划分(Splitting):将文档按照特定格式进行划分,形成文档片段。本项目采用的文档划分方式为LangChain中的RecursiveCharacterTextSplitter,参考网址为:https://python.langchain.com/docs/modules/data_connection/document_transformers/text_splitters/recursive_text_splitter。
  3. 文档存储(Storage):将划分后的文档进行向量嵌入,再插入至向量数据库。本项目采用的储存方式为ElasticSearch及向量数据库Milvus。
  4. 文档召回:对于输入query,从文档存储中召回相关文档片段。本项目采用的召回方式为ElasticSearch中的内置BM25相似度算法及Milvus中的向量距离。
  5. 问答输出:对于召回文档和输入query,构建合适的Prompt,利用大模型(LLM)输出最终答案。


本项目开发的Web框架为Flask,API接口两个:文件上传接口和文档问答接口。文件上传接口如下:


现代科技智能问答助手_加载_02


现代科技智能问答助手_bash_03


演示一:选择百川模型并提问

现代科技智能问答助手_bash_04


演示二:选择百川模型并上传文件


文档召回采用ElasticSearch和Milvus相结合的方式,设置ElasticSearch和Milvus召回最相似文本数量为2。
ElasticSearch中创建的index为docs,mapping结构如下:

{
"docs" : {
"mappings" : {
"properties" : {
"cont_id" : {
"type" : "integer"
},
"content" : {
"type" : "text",
"analyzer" : "ik_smart"
},
"source" : {
"type" : "text"
}
}
}
}
}

其中source代表上传文档名称,cont_id为文本片段编号,content为文本片段。content字段采用的analyzer为ik_smart,该analyzer可较好地对中文进行分词。

Milvus创建的collection为docs_qa,schema如下:

本文使用的文档为《封神》耗资30亿,第一部上映第次日,北京文化跌停,访问网址为:https://m.jrj.com.cn/madapter/stock/2023/07/22141537710254.shtml ,将其文本内容保存为txt文件,并通过文件上传接口,将数据内容插入至ES和Milvus。

六、项目测试:

我们的问题(输入query)为:封神第一部什么时候上映的?,对其进行向量嵌入,在ES和Milvus中召回的相似文本为:


《封神》耗资30亿,第一部上映第次日,北京文化跌停热点快报 2023-07-22 14:15:04《封神第一部》刚刚上映,北京文化股价却出现下跌。7月21日,A股影视传媒板块震荡下挫,北京文化收于跌停,报7.56元,总市值54.12亿元,板块内个股慈文传媒、荣信文化、中国出版、上海电影等跟跌。值得关注的是,《封神第一部》7月20日才正式上映,北京文化为该影片的出品方。
落地误差只有1公里,3条飞船实现了第一阶段的全部任务。
北京文化曾成功投资《我不是药神》《战狼》《流浪地球》《你好,李焕英》等多部爆款影片。此前《封神第一部》宣布定档,北京文化曾迎来3连板。


大模型问答的Prompt为:

[
{
"role": "system",
"content": "你是一个出色的文档问答助手,回答要合理、简洁,回复语言采用中文。若问题与文本片段相关,请根据给定的文本片段和问题,答案以\"根据文档知识\"开头若问题与文本片段相关性较小,则使用外部知识回答问题,答案以\"根据外部知识\"开头。"
},
{
"role": "user",
"content": "使用下面的文本片段列表,回答问题:封神第一部什么时候上映的?\n\n文本片段1: 《封神》耗资30亿,第一部上映第次日,北京文化跌停热点快报 2023-07-22 14:15:04《封神第一部》刚刚上映,北京文化股价却出现下跌。7月21日,A股影视传媒板块震荡下挫,北京文化收于跌停,报7.56元,总市值54.12亿元,板块内个股慈文传媒、荣信文化、中国出版、上海电影等跟跌。值得关注的是,《封神第一部》7月20日才正式上映,北京文化为该影片的出品方。\n文本片段2: 落地误差只有1公里,3条飞船实现了第一阶段的全部任务。\n文本片段3: 北京文化曾成功投资《我不是药神》《战狼》《流浪地球》《你好,李焕英》等多部爆款影片。此前《封神第一部》宣布定档,北京文化曾迎来3连板。\n"
}
]

输出答案为:

根据文档知识,《封神第一部》于2023年7月20日上映。


六.英特尔优化技术实现细节


在本项目中,我们深入采用了多种英特尔优化工具,以确保模型在性能和效率上达到最佳状态。以下是我们使用的技术和工具的详细说明:



详细技术实现:OpenVINO™ Toolkit


OpenVINO™ Toolkit** 是一个强大的工具集,用于深度学习模型的推理加速和优化。它支持多种英特尔硬件,包括CPU、GPU、VPU和FPGA,使得开发者能够充分利用这些硬件的计算能力。以下是我们如何使用OpenVINO™ Toolkit来优化和加速我们的模型的具体步骤和代码示例。


1. 推理加速


目标:利用OpenVINO™ Toolkit的推理引擎,加速模型在英特尔硬件上的执行速度。


实现步骤:

1. 安装OpenVINO™ Toolkit:

- 首先,确保你的系统满足OpenVINO™ Toolkit的安装要求。

- 从英特尔官网下载并安装OpenVINO™ Toolkit。


2. 准备模型:

- 使用OpenVINO™ Toolkit的`model downloader`工具下载预训练模型或使用自己的模型。


3. 模型转换:

- 使用`OpenVINO™ Model Optimizer`将模型从原始格式(如TensorFlow, PyTorch等)转换为OpenVINO™的中间表示(IR)格式。


```bash

python3 mo.py --input_model your_model.pb --output_dir output_dir

```


4. 模型编译:

- 使用`OpenVINO™ Inference Engine`编译IR模型,生成可在特定硬件上运行的优化模型。


```bash

python3 compile_model.py --name your_model --input input_model.xml --output_dir output_dir

```


5. 推理加速:

- 使用OpenVINO™的推理引擎加载编译后的模型,并在目标硬件上进行推理。


```python

from openvino.runtime import Core


# 加载推理引擎

core = Core()

# 读取优化后的模型

model = core.read_model(model='output_dir/your_model.xml', weights='output_dir/your_model.bin')


# 选择最佳设备进行推理

compiled_model = core.compile_model(model=model, device_name='CPU')


# 推理

results = compiled_model.infer_new_request({ 'input': input_data })

```


2. 模型优化


目标:通过量化和编译优化模型,以适应不同的硬件架构。


实现步骤:

1. 量化:

- 使用OpenVINO™的量化工具对模型进行量化,减少模型大小和提高推理速度。


```bash

python3 mo.py --input_model your_model.pb --output_dir output_dir --data_type FP16

```


2. 编译:

- 将量化后的模型编译为特定硬件的优化格式。


```bash

python3 compile_model.py --name your_model_quantized --input input_model.xml --output_dir output_dir

```


3. 跨平台支持


目标:确保模型在不同操作系统和硬件配置上的兼容性。


实现步骤:

1. 测试不同平台:

- 在Windows, Linux, MacOS等操作系统上测试模型的兼容性。


2. 调整配置:

- 根据测试结果调整模型配置,确保在所有目标平台上都能正常运行。


3. 文档和支持:

- 提供详细的安装和使用文档,帮助用户在不同平台上部署和使用模型。


通过这些详细的步骤和代码示例,我们确保了模型在多种英特尔硬件上的高效运行,同时保持了跨平台的兼容性。这不仅提高了模型的性能,也扩大了我们的用户基础。




标签:OpenVINO,--,现代科技,模型,助手,文档,model,问答,封神
From: https://blog.51cto.com/xiangnanissea/11972407

相关文章

  • 一周的豆包MarsCode 编程助手全面测评
    豆包MarsCode编程助手安装步骤进入豆包MarsCode官方网站,sourl.cn/yWAtYr点击登陆/注册账号点击【立即获取编程助手】下载对应插件,我这里是用vscode安装豆包MarsCode编程助手豆包MarsCode,基于豆包大模型的智能开发工具,提供CloudIDE及AI编程助手两种使用形态,具备代码补全......
  • [抖音评论助手]隐私声明
    《[抖音评论助手]隐私声明》尊敬的用户:欢迎使用本APP。本APP旨在为用户提供获取视频评论的服务。为了保护您的隐私权益,我们制定了本隐私声明。请您在使用本APP前仔细阅读以下内容。一、数据获取与使用1. 本APP通过合法途径获取视频评论数据,并仅用于向您展示和分析的目......
  • 程序员一定会感兴趣的5个关于编码助手话题
    ......
  • 程序员一定会感兴趣的5个关于编码助手话题
    采访了一些人使用编码助手的感受,有代码高手,有知识达人,有希望维护世界和平的学者,有每天搬砖的牛马,总结几个让我印象深刻的描述话题:程序员也是灵感工作者:开发一个工程,从灵感萌芽到作品诞生,是一个复杂的系统工程,从技术创意的灵感一瞬,到高效的调研和方案整理,到团队分工和无缝协作......
  • 安卓玩机工具-----通用安卓玩机工具 “搞机助手”界面预览 推荐
         在网络中有很多很好玩的工具。方便安卓机型联机使用各种功能。系列博文将详细的演示有些工具的特点与使用方法搞机助手作者:流水断崖目前开发功能有:Twrprecovery全自动刷机,免Root冻结、卸载预装软件,免Root激活,        反向共享PC网络,刷入Re......
  • AI大语言模型LLM学习-基于Vue3的AI问答页面
    系列文章1.AI大语言模型LLM学习-入门篇2.AI大语言模型LLM学习-Token及流式响应3.AI大语言模型LLM学习-WebAPI搭建前言在上一篇博文中,我们使用Flask这一Web框架结合LLM模型实现了后端流式WebAPI接口,本篇将基于Vue3实现AI问答页面,本人习惯使用HBuilder进行前端页面......
  • 【Kubernetes知识点问答题】Service 发现
    目录 1.Kubernetes如何在集群的Pod之间提供网络服务?2.解释iptables和IPVS代理模式Service的区别。3.举例说明ClusterIP类型Service的用法。4.举例说明NodePort类型Service的用法。5.举例说明Headless类型Service的用法。6.详细说明Ingress......
  • 基于Spring Boot的付费问答管理系统设计与实现,源码、LW+部署讲解
    摘  要在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对问答信息管理的提升,也为了对问答信息进行更好的维护,付费问答系统的出现就变得水到渠成不可缺少。通过对付......
  • 芝士AI(paperzz)写作助手:智能文章创作与编辑,一站式论文查重降重
    写一篇论文是一个复杂的过程,涉及多个步骤,包括选题、研究、撰写、编辑和校对。好不容易论文完成了,还要准备答辩PPT,这对于没有思路或者容易紧张的同学们说又是一大难题。说到这里,就不得不说到AI了。芝士AI(paperzz)写作助手:智能文章创作与编辑,一站式论文查重降重。不仅能提高写......
  • uAI - AI Assistant 人工智能辅助助手插件
    uAI助手支持GPT3.5Turbo、GPT3.5Turbo16K、GPT4-8k和GPT4Turbo-128k什么是uAI助理?uAIAssistant是Unity游戏引擎的强大扩展,它使用GPTAI帮助游戏开发人员轻松创建专业代码和引人入胜的游戏内容。你需要一个OpenAI密钥才能使用uAI助手!阅读我们的文档以获取更多说明。......