当前位置: 首页 > news >正文

提高网站搜索排名上海网站建设优

提高网站搜索排名,上海网站建设优,网站程序定制,对网站进行优化作者#xff1a;肯梦 本文将演示如何使用事件总线#xff08;EventBridge#xff09;#xff0c;向量检索服务#xff08;DashVector#xff09;#xff0c;函数计算#xff08;FunctionCompute#xff09;结合灵积模型服务 [ 1] 上的 Embedding API [ 2] #xff0…作者肯梦 本文将演示如何使用事件总线EventBridge向量检索服务DashVector函数计算FunctionCompute结合灵积模型服务 [ 1] 上的 Embedding API [ 2] 来从 0 到 1 构建基于文本索引的构建向量检索基础上的语义搜索能力。具体来说我们将基于 OSS 文本文档动态插入数据进行实时的文本语义搜索查询最相似的相关内容。 本文中将用到事件总线EventBridge它是阿里云提供的一款无服务器事件总线服务支持阿里云服务、自定义应用、SaaS 应用以标准化、中心化的方式接入并能够以标准化的 CloudEvents 1.0 协议在这些应用之间路由事件帮助您轻松构建松耦合、分布式的事件驱动架构。 RAG 背景概述 大语言模型LLM作为自然语言处理领域的核心技术具有丰富的自然语言处理能力。但其训练语料库具有一定的局限性一般由普适知识、常识性知识如维基百科、新闻、小说和各种领域的专业知识组成。导致 LLM 在处理特定领域的知识表示和应用时存在一定的局限性特别对于垂直领域内或者企业内部等私域专属知识。 实现专属领域的知识问答的关键在于如何让 LLM 能够理解并获取存在于其训练知识范围外的特定领域知识。同时可以通过特定 Prompt 构造提示 LLM 在回答特定领域问题的时候理解意图并根据注入的领域知识来做出回答。在通常情况下用户的提问是完整的句子而不像搜索引擎只输入几个关键字。这种情况下直接使用关键字与企业知识库进行匹配的效果往往不太理想同时长句本身还涉及分词、权重等处理。相比之下倘若我们把提问的文本和知识库的内容都先转化为高质量向量再通过向量检索将匹配过程转化为语义搜索那么提取相关知识点就会变得简单而高效。 本文将介绍如何构建一个完全动态的 RAG 入库方案通过 EventBridge 拉取 OSS 非结构化数据同时将数据投递至 DashVector 向量数据库从而实现完整的 RAG Ingestion 流程。 流程概述 数据集成Ingestion 数据检索Search 操作流程 前提条件 DashScope 控制台开通灵积模型服务并获得 API-KEY 的获取与配置。开通 DashVector 向量检索服务并获得 API-KEY 的获取与配置。开通 OSS 服务。开通 FC 服务。开通 EventBridge 服务。 开通灵积模型服务 点击进入 DashScope 控制台 [ 3] 开通灵积相关服务 点击进入“API-KEY”管理获取相关 KEY 信息 开通 DashVector 服务 若第一次配置请点击“新建 DashVector Cluster [ 4] ”跳转创建新的 Cluster点击“创建免费 Cluster”快速体验创建向量数据库 2. 选择“立即购买” 3. 点击创建“Collection” 4. 填写纬度为“1536”距离度量方式“Cosine”点击“确认” 5. 点击“API-KEY 管理”获取 DashVector 的 API KEY 创建 Ingestion 数据集成任务 1.1 进入 EventBridge 控制台 [ 5] 1.2 配置 OSS 源 OSS Bucket选择空白存储桶实验若无请自行创建OSS 前缀该项可根据诉求填写若无前缀 EB 将拉取整个 Bucket 内容本次演示不配置文档加载目前支持解析 TextLoder 作为文档加载器加载模式“单文档加载”单个文件作为一条数据加载“分块加载”按照分隔符加载数据本次演示使用单文档加载。 1.3 配置过滤 可根据诉求添加过滤规则本次演示使用“匹配全部事件”。 1.4 配置转换 转换部分主要是将原始数据转成向量化数据为投递至 DashVector 做数据准备。 函数代码如下函数环境为 Python 3.10 # -*- coding: utf-8 -*- import os import ast import copy import json import logging import dashscope from dashscope import TextEmbedding from http import HTTPStatuslogger logging.getLogger() logger.setLevel(levellogging.INFO)dashscope.api_keyYour-API-KEYdef handler(event, context):evt json.loads(event)evtinput evt[data]resp dashscope.TextEmbedding.call(modeldashscope.TextEmbedding.Models.text_embedding_v1,api_keyos.getenv(DASHSCOPE_API_KEY), input evtinput )if resp.status_code HTTPStatus.OK:print(resp)else:print(resp)return resp注意 需手动安装相关函数环境相关文档参考《为函数安装第三方依赖》 [ 6] 。 pip3 install dashvector dashscope -t .返回样例 {code: ,message: ,output: {embeddings: [{embedding: [-2.192838430404663,-0.703125,... ...-0.8980143070220947,-0.9130208492279053,-0.520526111125946,-0.47154948115348816],text_index: 0}]},request_id: e9f9a555-85f2-9d15-ada8-133af54352b8,status_code: 200,usage: {total_tokens: 3} }1.5 配置向量数据库 Dashvector 选择创建好的向量数据库。 数据映射选择 Upsert 方式插入向量填写上游 Dashscope 的 TextEmbedding 投递的向量信息 $.output. embeddings[0].embedding鉴权配置获取的 DashVector API-KEY 参数。 创建 Search 数据检索任务 在进行数据检索时需要首先对数据进行 embedding然后将 embedding 后的向量值与数据库值做检索排序。最后填写 prompt 模版通过自然语言理解和语义分析理解数据检索意图。 该任务可以部署在云端函数计算或者直接在本地环境执行首先我们创建 embedding.py将需要检索的问题进行文本向量化代码如下所示 embedding.py import os import dashscope from dashscope import TextEmbeddingdef generate_embeddings(news):rsp TextEmbedding.call(modelTextEmbedding.Models.text_embedding_v1,inputnews)embeddings [record[embedding] for record in rsp.output[embeddings]]return embeddings if isinstance(news, list) else embeddings[0]if __name__ __main__:dashscope.api_key {your-dashscope-api-key}然后创建 search.py 文件并将如下示例代码复制到 search.py 文件中通过 DashVector 的向量检索能力来检索相似度的最高的内容。search.py from dashvector import Clientfrom embedding import generate_embeddingsdef search_relevant_news(question):# 初始化 dashvector clientclient Client(api_key{your-dashvector-api-key},endpoint{your-dashvector-cluster-endpoint})# 获取存入的集合collection client.get(news_embedings)assert collection# 向量检索指定 topk 1 rsp collection.query(generate_embeddings(question), output_fields[raw],topk1)assert rspreturn rsp.output[0].fields[raw]创建 answer.py 文件我们就可以按照特定的模板作为 prompt 向 LLM 发起提问了在这里我们选用的 LLM 是通义千问qwen-turbo代码示例如下 answer.py from dashscope import Generationdef answer_question(question, context):prompt f请基于内的内容回答问题。{context}我的问题是{question}。rsp Generation.call(modelqwen-turbo, promptprompt)return rsp.output.text最后创建 run.py 文件并将如下示例代码复制到 run.py 文件中并最终执行 run.py 文件。验证时可在绑定的 OSS Bucket 上传需要被检索的知识库信息。 import dashscopefrom search import search_relevant_news from answer import answer_questionif __name__ __main__:dashscope.api_key {your-dashscope-api-key}question EventBridge 是什么它有哪些能力context search_relevant_news(question)answer answer_question(question, context)print(fquestion: {question}\n fanswer: {answer})总结 从本文的范例中我们可以比较方便的使用 EventBridge 提供的 OSS To DashVector 离线数据流导入能力开箱即用的构建强大向量检索服务能力这些能力和各个 AI 模型结合能够衍生多样的 AI 应用的可能。同样Transform 部分使用了函数计算能力可以更灵活的制定想要的 Split 切分算法提供更灵活且具备生产力的 RAG 方案。 相关链接 [1] 灵积模型服务 https://dashscope.aliyun.com/ [2] Embedding API https://help.aliyun.com/zh/dashscope/developer-reference/text-embedding-api-details [3] DashScope 控制台 https://account.aliyun.com/login/login.htm?oauth_callbackhttps%3A%2F%2Fdashscope.console.aliyun.com%2FoverviewclearRedirectCookie1langzh [4] 新建 DashVector Cluster https://account.aliyun.com/login/login.htm?oauth_callbackhttps%3A%2F%2Fdashvector.console.aliyun.com%2Fcn-hangzhou%2FclusterclearRedirectCookie1langzh [5] EventBridge 控制台 https://account.aliyun.com/login/login.htm?oauth_callbackhttps%3A%2F%2Feventbridge.console.aliyun.com%2FclearRedirectCookie1langzh [6] 《为函数安装第三方依赖》 https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/install-third-party-dependencies-for-a-function
http://www.hkea.cn/news/14520967/

相关文章:

  • 临海市城乡建设规划局网站网页设计与制作教案 详案
  • 网页制作与网站建设宝典(第2版)wordpress进度条
  • 单页面网站 万网x3现在去横琴会变黄码吗
  • 西安市网站制作公司wordpress 缩略图调用
  • 物流网站和数据库建设frontpage网站模板下载
  • vip网站解析建设网站开发怎么入账
  • 备案网站名称 怎么填写做短视频的能跟几个网站签约
  • 福州seo网站优化在线生成app免费
  • wordpress添加文字广告框架seo技术建站
  • 世界网站排名查询苏州网站公司
  • mockpuls可以做网站吗网站优化推广哪家好
  • 视频变成网站怎么做广安 网站建设
  • 长沙麓谷网站建设网站建设相关专业
  • 石家庄定制网站建设多少钱饿了么网站怎么做的
  • 求个网站你懂我意思是企业网站备案名称窍门
  • 图片滤镜网站开发建设一个网站需要什么硬件
  • 食品企业网站建设国内网络推广渠道
  • 重庆seo网站收录优化关于网站建设的网站有哪些
  • 访问阿里云主机网站建筑工程东莞网站建设
  • 公司建设网站的报告建设工程造价管理
  • 做一个购物网站中国最知名的网站建设公司
  • 儿童摄影网站怎么做xp系统做网站服务器吗
  • 做网站撘框架北京网站的建立的
  • 北京网站关键词排名公司国内视频培训网站建设
  • wordpress导入网站国内外优秀设计网站
  • 北京网站优化快速排名移动网站开发流行
  • 济南网站的优化宿迁建站网
  • 赣榆区住房和城乡建设局网站建设银行网站会员用户名格式
  • 网站后台不显示验证码seo优化关键词放多少合适
  • 网站推广有哪些手段企业简介比较好的范本