使用Azure Semantic search (语义搜索) 对私有知识库进行索引和搜索

大语言模型(LLM)已经让我们意识到了通用人工智能的威力,但是在经历过最初的那一拨狂热之后,人们更多的还是在思考如何把私有知识库与这些模型结合,以便实现更加强大的能力。针对这个领域,短短几个月内,就有很多不同的实现方式,其基本思路是对私有知识库进行向量化,通过全新的索引和搜索来先做第一轮的处理,最后将这个搜索结果作为上下文传递给LLM进行进一步的处理。毫无疑问,这个领域会有广阔的前景。

我会分几篇文章来展开这种类型的解决方案。今天第一篇介绍如何用Azure Semantic search来对私有知识库进行索引和搜索。

第一步:创建Azure Cogitive Search 资源。请注意,如果需要使用语义查询,你需要选择S或以上级别的服务。

0b46ca980d9f847e719f3cfebe055b7b.jpeg

第二步,启用语义查询支持。如果是开发测试阶段,选择Free足矣。

392636eb8c2a9694523a3a7c734a8128.png

第三步,准备企业知识库。Cognitive Search其实支持很多数据源,例如如下这些类型。

f5c3af11b9c7e8b6314e50c5c84f0298.png

为了简单起见,我这里演示如何用Azure Blob Storage来实现。

第四步,创建Blob存储并上传你的资料。我下面是把一批跟M365网络规划和优化有关的网页下载下来,然后上传。关于如何批量下载网页内容,我这里用Github Copilot写好了一个python脚本,如果需要,请私信留言 网页下载代码,别担心,我不会守在电脑旁边等你来问的,你会收到自动回复的。

f65d80d8d3b4760c9adbff5665a03d16.jpeg

第五步,建立索引。你可以直接在storage account中开始创建索引,这个确实很方便了。

cb621633f3ad0bcd9563ddc7164c8db3.jpeg

输入名称和你的容器名称。

feab6aeb0bbe013f5787565e6606d11b.jpeg

按照步骤完成,并且等待索引完成(一般都很快)。

第六步,进行搜索测试。请进入Search explorer.

0d8b78192e6ad25a9f22ad31bae6bf9f.png

选择对应的索引,然后输入你的查询。请注意,这里的查询可以完全是自然语言的。

ac8cacd17307b8787a65daa4eef3f7a9.png

不要激动,这还只是基本的查询,我们接下来要领略一下语义搜索的威力了。

第七步,使用语义搜索(Semantic Search)

你可以在搜索时启用语义搜索,但需要先创建一个配置文件。

488f6ae075661049ae643fa0b301ff30.png

它的返回结果是略有不同的,理解更加精准,另外有一个rerankerScore来表示信心。

f5c656ef89c5ee98f9e7a92f27983126.png

当然,除了在界面上测试之外,你也可以直接通过 url来调用,前提是你有合法的密钥哦。

https://chenxizhang-azure-search.search.windows.net/indexes/network-docs-index/docs?api-version=2021-04-30-Preview&search=our%20users%20report%20the%20network%20is%20slow%2C%20How%20can%20I%20do&queryLanguage=en-US&queryType=semantic&captions=extractive&answers=extractive%7Ccount-3&semanticConfiguration=semantic%20search

敬请关注下一篇,如何在自定义应用中结合Semantic search和GPT实现私有知识库的利用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值