ai智能搜索生产实现(低门槛实现自然语言搜索)

这篇具有很好参考价值的文章主要介绍了ai智能搜索生产实现(低门槛实现自然语言搜索)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

实现思路

原始数据预处理

自然语言处理

业务处理

总体架构

调优

话术调优


自然语言搜索是一种搜索方式,用户可以以自然语言的形式提问或描述他们正在寻找的信息,而不是使用特定的查询语法或关键字。简单来说,就是用户可以用日常的对话方式来进行搜索。
这种搜索方式的优点是更加直观和用户友好,因为用户不需要担心如何准确地拼写关键词或掌握复杂的查询语法。
用户可以以提问的方式来搜索想要的数据,用于替代常规的Elasticsearch或者是数据搜索。

实现思路

ai智能搜索生产实现(低门槛实现自然语言搜索),自然语言处理,人工智能,chatgpt,文心一言

原始数据预处理

首先根据需求确定搜索的数据范围,当数据有变动或者新增或者初始化的时候,把数据的需要向量搜索匹配的字段拼成字符串,然后用这个字符串去请求embeddings接口计算出向量,同时一些数字数据相关的有筛选需求的字段也一并与数据id和之前计算出的向量存入(更新)向量数据库。

自然语言处理

这一流程步骤主要的职责是把用户搜索输入的自然语言转换成业务代码可以理解的数据结构
这一块可以用已有的模型api,优点是性能好,缺点是api需要收费。如果自己部署模型的话,优点是免费,缺点是性能可能不太好,有一定的部署成本
这一块可以使用chatgpt接口来实现,通过话术,让chatgpt返回一个json,里面包含用户想要查询的信息的数据结构
话术示例:
Existing a database table, which has sale_count (sales) field, help me to generate the product filter conditions (if any), as well as product-related text information (I subsequently use this information to do vector matching). You need to return me directly to the json similar to mongodb query, do not return redundant fields. Such as {"sale_count":{"$gte":1000}, "text": "beauty category"}, which text is the product you extracted text information, in addition to the information outside the specified fields, you have to include in this, to try to perfect. You directly return json to me can, do not return non-json. now help me generate "help me find out the furniture category cumulative sales of more than 4000 pieces of goods, preferably the type of furniture in the kitchen, to be formaldehyde-free"
其中双引号部分替换成用户的输入,gpt返回就可以得到一个json:

{
"sale_count": {"$gte": 4000},//这部分是作为条件搜索
"text": "furniture category kitchen formaldehyde-free"
}

如果搜索的更复杂一些,gpt返回如

{
"sale_count": {"$gte": 4000},
"region":"US",
"price":{"$lte":5000}
"text": "furniture category kitchen formaldehyde-free"
}

其中除了text字段,其他字段为筛选字段,text字段为需要转化成向量的搜索字段。

业务处理

这里拿到前面自然语言处理后的查询json,分为两部分处理,模糊搜索用向量来搜索,涉及筛选项的直接组装筛选查询,最后合并查询条件并查询向量数据库,最后拿到数据id集合去回表查询业务数据库,最后返回数据给到用户前端

ai智能搜索生产实现(低门槛实现自然语言搜索),自然语言处理,人工智能,chatgpt,文心一言

总体架构

ai智能搜索生产实现(低门槛实现自然语言搜索),自然语言处理,人工智能,chatgpt,文心一言文章来源地址https://www.toymoban.com/news/detail-841328.html

调优

话术调优

  • 语言描述部分,使用话术让chatgpt需要更加准确、丰富的把用户想搜的描述出来,不能有歧义或者是漏了用户想要的部分意图。可以根据业务的实际要求,也可以让chatgpt把用户的描述部分同意转化成英文来输出,这样在进行向量搜索的时候英文部分的排行会高一些
  • 逻辑搜索部分,调优话术要让chatgpt准确的理解目前数据库有的字段,不能反回多余的字段或者是本该有的筛选没识别出来
  • 向量计算方面,源数据的字符串文字如果过长了,使用向量搜索的准确性不会很高,可以考虑按逻辑分割成多个小段,再进行向量计算。在用户输入的搜索文字里,也可以通过话术让chatgpt来帮忙归类分割不同的搜索向量字段

到了这里,关于ai智能搜索生产实现(低门槛实现自然语言搜索)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包