网站模板建设教程,wordpress采集怎么样,临淄信息网港,合肥市城乡建设局和住建局官网大语言模型#xff08;LLM#xff0c;Large language model#xff09;作为新一轮科技产业革命的战略性技术#xff0c;其核心能力在于深层语境解析与知识融合。在生成式人工智能方向主要用于图像生成#xff0c;书写文稿#xff0c;信息搜索等。当下的 LLM 模型是基于大…大语言模型LLMLarge language model作为新一轮科技产业革命的战略性技术其核心能力在于深层语境解析与知识融合。在生成式人工智能方向主要用于图像生成书写文稿信息搜索等。当下的 LLM 模型是基于大量数据训练的目的是让它们掌握广泛的普遍知识这些知识被储存在它们神经网络的权重也就是参数记忆里。但是如果我们要求 LLM 生成的回答涉及到它训练数据之外的知识比如最新的、专有的或某个特定领域的信息这时就可能出现事实上的错误我们称之为“幻觉”。
RAG Retrieval-Augmented Generation检索增强生成的核心思想是让语言模型在生成回答或文本时能够动态地从外部知识库中检索相关信息。这种方法能够提高模型生成内容的准确性、可靠性和透明度同时减少“幻觉”。 本文将介绍如何基于火山引擎云搜索服务和方舟平台来构建专属的 RAG 智能问答系统。系统使用 OpenSearch 作为外部知识库火山豆包作为大语言模型全流程构建在火山引擎平台上。本次实践采用的语料为火山引擎云搜索服务知识库将语料处理后存入 OpenSearch 索引中同时通过部署在云搜索服务 ML 节点上的 Embedding 模型将原始语料额外转化为向量字段存储在同一个 OpenSearch 索引中方便后续做混合查询召回。
在查询流程中用户通过对话框输入问题RAG 应用会将用户输入的问题通过 Embedding 模型转化为向量然后使用云搜索服务 OpenSearch 的混合查询功能查询问题向量和问题文本召回 Top n 的文档结果再将文档结果发送给豆包大模型最后按照要求根据文档内容回答用户的问题。
准备资源
创建云搜索 ML 服务
登陆火山引擎云搜索控制台创建实例集群版本选用 Opensearch 2.9.0。实例创建完成后可根据实际需求开通实例和 Dashboards 的公网访问。
1.进入实例详情页-ML 服务配置 CPU /内存比例后启用。
2.进入模型服务-公共模型启动一个模型用于语义嵌入 Embedding推荐使用 PEG配置参数后启动。 开通大模型服务
1.进入火山引擎方舟控制台在模型推理下创建推理接入点接入模型建议选用 Doubao-pro-32k或者Doubao-lite-32k创建完成后可以获取到接入点 Endpoint。 2.进入 API Key 管理创建 API Key 并记录。
# 填充如下内容后续会用在rag模型中。
{model32k: {host: https://ark.cn-beijing.volces.com/api/v3,endpoint: ep-xxxx-xx,apikey: }
}
配置 NAT 网关
通过配置 NAT 网关使私有网络内部的实例允许通过 NAT 网关访问到公网用于连接大模型服务。
首先进入火山引擎 NAT 网关控制台创建公网 NAT 网关。这里需要注意私有网络和子网一定要和云搜索服务实例所在的网络保持一致可选用自动配置或手动配置 自动配置会开启私网下所有 ECS 的公网访问需绑定 EIP公网 IP 选择手动配置后需要自行配置公网 IP 和访问规则。 搭建步骤
导入任务数据
1.这里演示为基于火山引擎云搜索服务文档语料搭建的推理任务所以在创建任务时选择模板代码-云搜索文档任务大家在具体使用中可以根据需求用其他语料库进行搭建。 2.增加 Config 参数参考如下模板填入。 参数 说明 task migrate : 表示启动迁移任务 init: 表示只创建索引 其他或不填: 表示从原始文档进行构建如果需要运行此任务请提工单咨询 dim 向量维度 根据 embedding 模型的长度进行填充例如 PEG 模型为 1024 opensearch username : OpenSearch 的用户名 password : OpenSearch 的密码 host : 云搜索接入点域名 port : 云搜索接入点端口 index : 迁移的目标索引名称将处理好的云搜索文档数据迁移到此索引
{task:migrate,dim: 1024,opensearch: {username: opensearch的用户名,password: opensearch的密码,host: 云搜索接入点域名,port: 9200,schema: https,index: 迁移的索引名称}}
3.本文演示添加的依赖为云搜索文档任务配置依赖如果需要额外依赖可以自行在配置中添加。 运行语义嵌入任务
1.选择 xc_import_embed 模板任务Config 参数说明 参数 说明 opensearch username: admin, password: k, host: opensearch-o-xxx.escloud.volces.com, port: 9200, schema: https, index: cloud_serach, # 源索引 target_index: cloud_serach #目标索引源索引和目标索引名称相同即使用同一个索引。 embedding 模型调用信息复制过来 field_dict 需要进行语义嵌入的字段这里必须填入以下值 { full_title: full_title_knn, summary: summary_knn, content.summary: content.summary_knn }
{opensearch: {username: xxx,password: xxx,host: opensearch-o-xxxx.escloud.ivolces.com,port: 9200,schema: https,index: cloud_serach,target_index: cloud_serach},embedding: {调用信息复制过来},field_dict: {full_title: full_title_knn,summary: summary_knn,content.summary: content.summary_knn}
}
2.文中实践需要添加的依赖配置如下 启动 RAG 推理服务
1.在 TOS Bucket 中上传 RAG 推理服务配置。
|-rag-demo
|--rag_config.json
|--config.json
config.json内容
{}
rag_config.json 的格式为 参数 说明 opensearch Index 为用来检索的索引名称需要与文档、语义任务的索引名称相同其他配置同上不再赘述 llm.model32k Host火山方舟的 api 地址这里的例子是北京地区的地址 Endpoint: 火山方舟推理服务的 endpoint API Key: 火山方舟的 apikey embeddings 调用信息复制过来
2.创建推理服务打开私网访问并启动 完成前面的所有配置操作后已经可以在相同 VPC 环境的 ECS 中通过 RAG 模型的调用信息验证云搜索服务文档推理任务了。可以直接在 ECS 命令行中运行调用信息查看到持续输出 txt 文本内容。 RAG 推理服务演示
为了更加直观的演示云搜索服务文档的 RAG 推理服务本文借助火山引擎 API 网关产品为 RAG 推理服务配置一个固定的公网域名。通过直接在浏览器中的固定访问地址访问 RAG 推理服务并在可视化页面咨询云搜索服务产品的各种问题。
配置公网访问
1.进入火山引擎 API 网关控制台创建实例为保证网络畅通需要选择和云搜索实例相同的私有网络和子网。创建完成后进入实例继续创建服务。 2.接下来创建 Upstream后端服务选用固定域名域名和端口从刚刚启用的 RAG 调用信息内获取。 3.并在服务内创建路由路径选用前缀匹配Upstream 选用固定域名使用刚刚创建的 Upstream。 推理问答
创建完成后进入服务列表就可以获取到公网访问域名拼接 RAG 推理服务的完整访问地址格式为 http://[url]/?model[model_name]其中 url 替换为在 API 网关中获取到的服务公网访问域名model_name 替换为 RAG 模型的名称后就可以在浏览器中通过刚才拼接好的固定域名访问 RAG 推理服务并在可视化页面中咨询本文所用到的云搜素服务文档库的相关问题。