「搜索」并不局限于我们常说的搜索引擎、搜索框,实际上,问答机器人本质上也是一种「搜索」,输入相关查询,返回最接近或最相关的答案。
今天,我们将演示如何利用 Jina 全家桶,创建一个智能问答机器人,并将其部署到云端。
开发过程一览:4 步创建问答机器人
新冠爆发之初,人们对这种新型病毒充满疑问,本教程将以疫情相关的问答为应用场景,以普通 Chatbot 的交互形式为依托,最终实现用户在终端键入查询(问题)后,智能问答机器人可以输出相关的答案。
创建问答机器人的过程包括:
1、加载数据到搜索应用
2、创建并运行 Flow 索引数据(数据编码并将向量和元数据存储到磁盘上)
3、运行相同的 Flow,用户输入问题进行搜索
4、在浏览器中运行 GUI
从 0 到 1:开发过程详解
1、下载数据集
下载 COVID-QA 数据集,你可以:Clone GitHub Repo 或在 Kaggle 下载。
因为本示例中,我们只会用到问答相关的数据,因此仅使用 community.csv 文件即可。该文件中包括 400 多对源自 4 个大洲、15 个英文网站的相关 QA。
2、设置
创建一个名为 config.py 的文件,便于后期修改基本设置:
PORT = 23456 # which port will we run the REST interface on?
NUM_DOCS = 30000 # how many rows of the CSV do we want to index?
DATA_FILE = "./data/community.csv" # where can we find the CSV
安装 DocArray 和 Jina:
pip install docarray jina
3、将数据转换为 DocumentArray
Document 是 Jina 的原始数据类型,文本、图像、音频、视频等各种类型的数据,都会转换为 Document。一组 Document 组成一个 Documen