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

生物制药公司网站模板谷歌商店paypal官网

生物制药公司网站模板,谷歌商店paypal官网,房产网站制作,做外贸网哪些网站免费在之前的文章 “Elasticsearch 开放推理 API 新增阿里云 AI 搜索支持”,它详细描述了如何使用 Elastic inference API 来针对阿里的密集向量模型,稀疏向量模型, 重新排名及 completion 进行展示。在那篇文章里,它使用了很多的英文…

在之前的文章 “Elasticsearch 开放推理 API 新增阿里云 AI 搜索支持”,它详细描述了如何使用 Elastic inference API 来针对阿里的密集向量模型,稀疏向量模型, 重新排名及 completion 进行展示。在那篇文章里,它使用了很多的英文的例子。我觉得阿里的模型更适合中文字来进行展示。我们知道 Elastic 的开箱即用的稀疏向量模型 ELSER 只适合英文。目前它不支持中文。恰好阿里的稀疏向量模型填补了这个空白。稀疏向量可以开箱即用。对于很多不是很精通人工智能的开发者来说,这无疑是个福音,而且它使用的资源很小。

更多阅读,请参阅 “阿里云 AI 搜索推理服务”。

稀疏向量

根据文档,我们使用如下的命令来创建稀疏向量的推理 API 端点:

PUT _inference/sparse_embedding/alibabacloud_ai_search_sparse
{"service": "alibabacloud-ai-search","service_settings": {"api_key": "<api_key>","service_id": "ops-text-sparse-embedding-001","host": "default-j01.platform-cn-shanghai.opensearch.aliyuncs.com","workspace": "default"}
}

在上面,我们需要从阿里云获得 api_key 来进行。运行上面的命令:

我们接下来可以通过如下的方式来测试(如下信息由地址获得):

POST _inference/alibabacloud_ai_search_sparse
{"input": "阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳"
}

上面的命令显示的结果为:

我们从上面的显示结果可以看出来,它和我们之前的 Elastic ELSER 输出是不同的。这里应该是 unicode。

上面的命令和下面的命令是一样的:

POST _inference/sparse_embedding/alibabacloud_ai_search_sparse
{"input": "阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳"
}

因为每个 endpoint 在 Elasticsearch 创建时,都会自动检测并识别出它是什么类型的模型,所以上面路径中的 sparse_embedding 是可以省去的。

密集向量

同样,根据文档,我们使用如下的命令来创密集向量的推理 API 端点:

PUT _inference/text_embedding/alibabacloud_ai_search_embeddings
{"service": "alibabacloud-ai-search","service_settings": {"api_key": "<api_key>","service_id": "ops-text-embedding-001","host": "default-j01.platform-cn-shanghai.opensearch.aliyuncs.com","workspace": "default"}
}

运行上面的命令,我们可以看到:

我们可以使用如下的命令来生成密集向量:

POST _inference/alibabacloud_ai_search_embeddings
{"input": "阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳"
}

密集向量是一个浮点数的数组。我们在生成的时候,其实还是可以对它进行标量量化,这样可以节省内存消耗,并提高搜索的速度。更多有关向量量化的信息,请阅读文章 “Elasticsearch:dense vector 数据类型及标量量化”。

完成 - completion

我们甚至可以针对搜索的结果运用大模型来得到一个 completion 的结果,比如,我们使用如下的命令来生成一个 completion 的推理 API 端点:

PUT _inference/completion/alibabacloud_ai_search_completion
{"service": "alibabacloud-ai-search","service_settings": {"host" : "default-j01.platform-cn-shanghai.opensearch.aliyuncs.com","api_key": "{{API_KEY}}","service_id": "ops-qwen-turbo","workspace" : "default"}
}

我们可以通过如下的例子来展示 completion:

POST _inference/completion/alibabacloud_ai_search_completion
{"input": "阿里巴巴(中国)有限公司是什么时候成立的?"
}

这个结果是结合大模型而生成的。大模型提供了一个基于在大模型训练时得到的结果。

重新排名 - rerank

同样,我们可以按照如下的命令来生成一个 rerank 的推理 API 端点:

PUT _inference/rerank/alibabacloud_ai_search_rerank
{"service": "alibabacloud-ai-search","service_settings": {"api_key": "<api_key>","service_id": "ops-bge-reranker-larger","host": "default-j01.platform-cn-shanghai.opensearch.aliyuncs.com","workspace": "default"}
}

我们可以使用如下的例子来进行展示:

POST _inference/alibabacloud_ai_search_rerank
{"query": "阿里巴巴(中国)有限公司是哪一年成立的?","input": ["阿里巴巴是全球领先的B2B电子商务网上贸易平台","阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳"]
}

在上面的 input 里,我们列举了两个文档。我们可以通过 rerank 端点来针对这两个文档重新进行排序。假如我们想搜索的文字是 “阿里巴巴(中国)有限公司是哪一年成立的?”。那么 rerank 返回来的结果是:

从上面,我们可以看出来,第二个文档比第一个文档更为贴近,也就是它的相关度更高。

RAG 应用

在很多情况下,我们企业有很多的业务数据或者私有数据每时每刻都在生成,而大模型的知识仅限于在它生成的时候,所以很多的时候,大模型有很多的知识是不知道的。如果我们不对大模型的回答进行限制,那么它可能给出的答案就是错误的,从而产生幻觉。在实际的应用中,我们通常把业务或私有数据保存于像 Elasticsearch 这样的向量数据库中。在搜索时,我们首先搜索 Elasticsearch,并把搜索的结果发送给大模型做为 prompt 的一部分,这样就可以解决幻觉的问题。

首先,我们来创建一个稀疏向量索引:

PUT alibaba_sparse
{"mappings": {"properties": {"inference_field": {"type": "semantic_text","inference_id": "alibabacloud_ai_search_sparse"}}}
}

请注意在上面,我们使用了 semantic_text 字段。它使用于密集向量及稀疏向量,并且它还可以自动帮我们的文档进行分片。

有关分片的更多知识,请阅读文章 “Elasticsearch:检索增强生成背后的重要思想”。

然后,我们写入如下的两个文档:

PUT alibaba_sparse/_bulk
{"index": {"_id": "1"}}
{"inference_field": "阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳"}
{"index": {"_id": "2"}}
{"inference_field": "百度是拥有强大互联网基础的领先AI公司。百度愿景是:成为最懂用户,并能帮助人们成长的全球顶级高科技公司。于2000年1月1日在中关村创建了百度公司"}

我们通过如下的命令来进行搜索:

GET alibaba_sparse/_search
{"query": {"semantic": {"field": "inference_field","query": "百度公司是哪年成立的?"}}
}

上面搜索的结果为:

很显然,含有百度的文档排在第一的位置。这个就是我们所说的向量搜索。

在实际的很多例子中,我们有时想得到一个唯一的答案,甚至这个答案是推理出来的,而不原始的文档。这个时候我们就需要用到大模型,也就是使用 completion 这个推理端点。

我们首先来做如下的搜索:

GET alibaba_sparse/_search
{"query": {"semantic": {"field": "inference_field","query": "阿里巴巴公司的法人是谁?"}}
}

这次只有一个文档被列出来了。我们在下面使用 completion 端点:

POST _inference/completion/alibabacloud_ai_search_completion
{"input": "<|system|>你是一个知识渊博的人.</s><|user|>CONTEXT:阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳QUESTION: 阿里巴巴公司的法人是谁?</s><|assistant|>"
}

在上面,我们把上面搜索的结果文档 “阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳” 作为 context 的一部分,并把搜索的问题也一并提交。我们使用 completion 端点 API 来查看结果:

上面显示的结果是 “阿里巴巴公司的法定代表人是蒋芳”。很显然这个和之前的直接使用 completion 而没有 context 的结果是完全不同的:

POST _inference/completion/alibabacloud_ai_search_completion
{"input": "阿里巴巴法定代表是谁?"
}

我们可以这么理解,有了从 Elasticsearch 向量数据库(实时业务数据或私有数据)中搜索来的结果并提供给大模型,大模型可以根据这些上下文,得到更为贴近答案的搜索结果。这个在实际的使用中避免幻觉!

另外一个例子:

POST _inference/completion/alibabacloud_ai_search_completion
{"input": "<|system|>你是一个知识渊博的人.</s><|user|>CONTEXT:阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳QUESTION: 阿里巴巴(中国)有限公司是什么时候成立的?</s><|assistant|>"
}

有关如何构建提示(prompt),请参阅我之前的文章 “为生成式人工智能制作 prompt 三明治”。

按照同样的方法,我们来创建一个密集向量的索引:

PUT alibaba_dense
{"mappings": {"properties": {"inference_field": {"type": "semantic_text","inference_id": "alibabacloud_ai_search_embeddings"}}}
}

我们按照同样的方法来写入文档:

PUT alibaba_dense/_bulk
{"index": {"_id": "1"}}
{"inference_field": "阿里巴巴(中国)有限公司成立于2007年03月26日,法定代表人蒋芳"}
{"index": {"_id": "2"}}
{"inference_field": "百度是拥有强大互联网基础的领先AI公司。百度愿景是:成为最懂用户,并能帮助人们成长的全球顶级高科技公司。于2000年1月1日在中关村创建了百度公司"}

我们来对这个密集向量索引 alibaba_dense 来进行搜索:

GET alibaba_dense/_search
{"query": {"semantic": {"field": "inference_field","query": "Alibaba 的法人是谁?"}}
}

很显然,在我们的搜索中,我们并没有使用 “阿里巴巴”,我们查询的是 Alibaba。在向量空间里 “阿里巴巴” 等同于 “Alibaba”。同样地,

GET alibaba_dense/_search
{"query": {"semantic": {"field": "inference_field","query": "Baidu 是什么样的公司?"}}
}

上面的搜索的结果是:

很显然,含有 “百度” 的文档排名为第一尽管我们搜索的是 “Baidu”。

好的,今天的分享就到这里。

http://www.fp688.cn/news/144238.html

相关文章:

  • 顺义区住房和城乡建设委员会官方网站百度收录提交入口
  • 易尔通网站建设什么是百度搜索推广
  • 注册网站会员需填写大概需要多少钱
  • 新乡网站建设免费b站在线观看人数在哪儿
  • 用cms织梦做网站图文教程十大门户网站
  • 做女装的网站百度手游排行榜
  • 营销型网站建设试卷山东关键词网络推广
  • 把网页挂到wordpress长沙专业竞价优化公司
  • 公众号开发价钱seo排名赚钱
  • 外链数是网站反向链接码廊坊网站建设优化
  • 石家庄哪里有做外贸网站的公司网络营销策略名词解释
  • 中山网站建设费用关键词推广和定向推广
  • 一个人可以做网站流氓网站
  • 打码网站如何建设搜索引擎优化的意思
  • 建设工程中标通知书查询网站淘宝推广软件
  • 茶叶网站源码爱站网长尾关键词挖掘查询工具
  • 在线购物商城系统什么是seo技术
  • 个人网站需要多大空间营销型网站外包
  • wordpress更改站点名称seo优化培训多少钱
  • 网页页面布局福州seo网络推广
  • 设计一个全面了解湖南的网站竞价推广哪家公司好
  • 怎么做垃圾网站口碑营销公司
  • 网站建设 ader太原seo快速排名
  • 网上购物商城系统论文seo网站推广案例
  • 景安vps如何搭建wordpressseo资源网站 排名
  • 厦门网站建设哪家专业友情链接交换的作用在于
  • 响应式网站建设对企业营销附近学电脑培训班
  • 智慧企业管理系统百度快速优化软件
  • 做独立商城网站百度云网盘官网
  • 珠海建设工程交易中心网站怎样在百度上发布作品