【笔记】wow-rag 第3课-初步体验问答引擎

正文详见:wow-rag/notebooks/第3课-初步体验问答引擎.ipynb at main · datawhalechina/wow-raghttps://github.com/datawhalechina/wow-rag/blob/main/notebooks/%E7%AC%AC3%E8%AF%BE-%E5%88%9D%E6%AD%A5%E4%BD%93%E9%AA%8C%E9%97%AE%E7%AD%94%E5%BC%95%E6%93%8E.ipynb

一、准备模型

Llama-index为智谱构建的专门的包,准备好一个llm模型和一个embedding模型。

二、准备文档并构建索引

方法一:

Documents可以直接构建index

方法二:

先构建节点:将文档按某一大小分割为文本块,每个文本块作为一个节点。

再构建索引:通过VectorStoreIndex将文本块转为向量表示并存储到数据库中。

因为某些未知原因,方法二需要将两个包降级到以下这个版本。

llama-index-core==0.12.12
llama-index-vector-stores-faiss==0.3.0 

方法三:

构建索引器

通过VectorIndexRetriever函数将文档存储进检索器中,并给予检索器相关的参数。

# 构建检索器
from llama_index.core.retrievers import VectorIndexRetriever
# 想要自定义参数,可以构造参数字典
kwargs = {'similarity_top_k': 5, 'index': index, 'dimensions': dimensions} # 必要参数
retriever = VectorIndexRetriever(**kwargs)

再构建合成器

通过get_response_synthesizer函数创建引入了大模型的响应合成器。

# 构建合成器
from llama_index.core.response_synthesizers  import get_response_synthesizer
response_synthesizer = get_response_synthesizer(llm=llm)

再组装成问答引擎

通过RetrieverQueryEngine函数,结合检索器和响应合成器。

检索器的作用是根据用户的查询从索引中找出相关的文档片段。

响应合成器会将检索器返回的相关文档片段与用户的查询结合,调用大语言模型生成最终的自然语言回答。

# 构建问答引擎
from llama_index.core.query_engine import RetrieverQueryEngine
engine = RetrieverQueryEngine(
      retriever=retriever,
      response_synthesizer=response_synthesizer
        )

方法四:

利用Qdrant向量库

%pip install qdrant-client
%pip install llama-index-vector-stores-qdrant
%pip install llama-index-readers-file

明天再补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值