对于企业而言,客服不能24小时在线,需要一个7*24都可以值守的客服,来满足或者来引导客户促成交易。
我们可以基于《基于文档问答的LLM实践》进行架构逻辑调整,来满足商品推荐系统。
1.软件环境
Python 3.10以上
CUDA 11以上
centOS 8
Embedding模型选用text2vec-large-chinese
2.硬件环境
8C32G
NVIDIA T4 16G
1.数据流转
2.描述
系统主要分为两部分,一部分是基于facebook开源的faiss的向量库,利用embedding模型将文本数据转化为向量索引。然后通过用户输入对商品的描述,去匹配出对应的商品。
1. 上传txt文件 生成向量索引
下面是部分文档内容
网店编号:“XXXXXXXX”,网店标题:华东地区家装家饰天猫旗舰店R标一般纳税人5000元,一级类目:住宅家具,商业/办公家具,床上用品,居家布艺。
网店编号:“XXXXXXXX”,网店标题:华东地区家装家饰天猫旗舰店R标一般纳税人8000元,一级类目:全屋定制。
网店编号:“XXXXXXXX”,网店标题:华南地区生活服务天猫旗舰店R标一般纳税人8000元,一级类目:鲜花速递/花卉仿真/绿植园艺。
网店编号:“XXXXXXXX”,网店标题:华南地区家装家饰天猫旗舰店R标小规模纳税人8000元,一级类目:居家布艺,床上用品。
网店编号:“XXXXXXXX”,网店标题:华南地区美容护理天猫旗舰店R标小规模纳税人7000元,一级类目:美容护肤/美体/精油。
2. 根据问题检索文档
例如问题为:可以推荐几个华东地区服饰鞋包的网店吗?
索引出来的文本数据可能为为:
网店标题:华南地区生活服务天猫旗舰店R标一般纳税人8000元,一级类目:鲜花速递/花卉仿真/绿植园艺。
网店编号:“XXXXXXXXXX”,网店标题:华南地区家装家饰天猫旗舰店R标小规模纳税人8000元,
我们会发现一个问题,当文本数据集中在一个文档的时候,faiss召回的数据有可能会没头没尾,尽管召回的准确率在60%。这导致拿到的数据可能会缺少网店编号,也就是用户打开网站或者app的途径。
当然我们可以用简单粗暴的办法进行文档拆分,将每个商品信息都装载在单独的文档:
网店编号:“xxxxxxxxxxxxxx”,网店标题:华南地区生活服务天猫旗舰店R标一般纳税人8000元,一级类目:鲜花速递/花卉仿真/绿植园艺。>>1.txt
网店编号:“xxxxxxxxxxxxxx”,网店标题:华南地区家装家饰天猫旗舰店R标小规模纳税人8000元,一级类目:居家布艺,床上用品。>>2.txt
这样当我们召回数据的时候,可以根据该数据所在的文档,把整个文档数据读出来,这样就避免了数据不完整的情况。劣势就是商品数量最好控制在3万以内,这样可以保证动态更新的效率。
3. 可直接访问向量库