前情提要
本demo使用了transwarpVectorPulse(星环的embedding model)+chatglm2-6b进行知识库的搭建。
1. python3.8及以上;
2. 安装如下python包:
pip install hippo-api==1.0.0.rc4
pip install langchain==0.0.220
pip install unstructured==0.9.1
pip install markdown==3.4.4
3. 社区版hippo部署完毕且可以访问;
(ps.安装教程及产品包获取详见:https://community.transwarp.cn/article/detail?id=405)
实操步骤
参考视频:
步骤一 环境准备
本教程采用的是Anaconda软件来管理Python环境以及安装所需的Python包。
1. 下载Anaconda安装文件
//wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
2. 等待下载完成后,运行以下命令以安装Anaconda:
//bash Anaconda3-2021.05-Linux-x86_64.sh
3. 接下来就可以按照安装向导的指示进行操作了。安装过程中,可选择安装Anaconda的路径和其他选项。
4. 安装完成后,启动Anaconda:
//source ~/anaconda3/bin/activate
步骤二 检查Python版本以及所需的python包
1. 执行以下指令确保Python版本为3.8及以上
//python --version
2. 分别执行以下指令安装所需的python包
//pip install hippo-api==1.0.0.rc4
//pip install langchain==0.0.220
//pip install unstructured==0.9.1
//pip install markdown==3.4.4
3. 完毕后可执行下方指令做最后检查
//pip list
4. 检查无误后即可开始正式基于Hippo搭建知识库
步骤三 分别上传所需的代码脚本及知识文档
init_from_md.py
transwarp_knowledge_demo.py
芯片战争简介.md
知识入库
涉及的脚本:
init_from_md.py
芯片战争简介.md
执行以下指令:
//python init_from_md.py --ip x x x --port xxx --table_name xxx --database_name xxx --file_path xxx
参数说明:
--ip:hippo向量数据库的ip
--port:hippo向量数据库的port
--table_name: 要插入数据的表名
--database_name:要插入数据的库名
--file_path: markdown文件的绝对路径
可通过--h命令查看该脚本的使用方法:python init_from_md.py --h
注意事项:
该demo体验版仅支持导入markdown格式的知识文档;
代码脚本中已经封装了建表语句,因此参数--table_name对应的表可以是新表也可以是已经存在的表,新表直接设置一个新的表名称即可,如果是已经存在的表在语句最后需要新加一个参数:--is_delete
Ø --is_delete true:重置表中的所有数据(相当于删表重建)
Ø --is_delete false:继续向表中追加数据 (默认为false,不需要填写)
开启问答
涉及的脚本:transwarp_knowledge_demo.py
执行以下指令:
//python transwarp_knowledge_demo.py --ip xxx --port xxx --table_name xxx --database_name xxx
参数说明:
--ip:hippo向量数据库的ip
--port:hippo向量数据库的port
--table_name: 要插入数据的表名
--database_name:要插入数据的库名
可通过--h命令查看该脚本的使用方法:python transwarp_knowledge_demo.py --h
步骤四 验证效果
在这个demo实验中,我向知识库中导入了一些关于《芯片战争》这本书籍的简单信息。
这本书是在2022年10月份出版的,所以本模型是不具有这本书的知识的,以下的回答是模型结合知识库来生成的回答。
输入exit可以退出会话。
您还可以输入下方问题进行验证:
- 《芯片战争:世界最关键技术的争夺战》的作者是谁
- 《芯片战争:世界最关键技术的争夺战》的出版日期是什么时候
- 芯片之争中国怎么破局
- 按时间总结一下芯片战争的大事记
- ...
操作时可能会遇到的问题
1. 在操作时遇到以下报错:
解决方法:可以输入python,随后复制下方内容执行一下再试试输入。
import nltk
nltk.os.environ['http_proxy'] = '代理地址'
nltk.os.environ['https_proxy'] = '代理地址'
nltk.download('punkt')
前情提要
本demo使用了transwarpVectorPulse(星环的embedding model)+chatglm2-6b进行知识库的搭建。
1. python3.8及以上;
2. 安装如下python包:
pip install hippo-api==1.0.0.rc4
pip install langchain==0.0.220
pip install unstructured==0.9.1
pip install markdown==3.4.4
3. 社区版hippo部署完毕且可以访问;
(ps.安装教程及产品包获取详见:https://community.transwarp.cn/article/detail?id=405)
实操步骤
参考视频:
步骤一 环境准备
本教程采用的是Anaconda软件来管理Python环境以及安装所需的Python包。
1. 下载Anaconda安装文件
//wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
2. 等待下载完成后,运行以下命令以安装Anaconda:
//bash Anaconda3-2021.05-Linux-x86_64.sh
3. 接下来就可以按照安装向导的指示进行操作了。安装过程中,可选择安装Anaconda的路径和其他选项。
4. 安装完成后,启动Anaconda:
//source ~/anaconda3/bin/activate
步骤二 检查Python版本以及所需的python包
1. 执行以下指令确保Python版本为3.8及以上
//python --version
2. 分别执行以下指令安装所需的python包
//pip install hippo-api==1.0.0.rc4
//pip install langchain==0.0.220
//pip install unstructured==0.9.1
//pip install markdown==3.4.4
3. 完毕后可执行下方指令做最后检查
//pip list
4. 检查无误后即可开始正式基于Hippo搭建知识库
步骤三 分别上传所需的代码脚本及知识文档
init_from_md.py
transwarp_knowledge_demo.py
芯片战争简介.md
知识入库
涉及的脚本:
init_from_md.py
芯片战争简介.md
执行以下指令:
//python init_from_md.py --ip x x x --port xxx --table_name xxx --database_name xxx --file_path xxx
参数说明:
--ip:hippo向量数据库的ip
--port:hippo向量数据库的port
--table_name: 要插入数据的表名
--database_name:要插入数据的库名
--file_path: markdown文件的绝对路径
可通过--h命令查看该脚本的使用方法:python init_from_md.py --h
注意事项:
该demo体验版仅支持导入markdown格式的知识文档;
代码脚本中已经封装了建表语句,因此参数--table_name对应的表可以是新表也可以是已经存在的表,新表直接设置一个新的表名称即可,如果是已经存在的表在语句最后需要新加一个参数:--is_delete
Ø --is_delete true:重置表中的所有数据(相当于删表重建)
Ø --is_delete false:继续向表中追加数据 (默认为false,不需要填写)
开启问答
涉及的脚本:transwarp_knowledge_demo.py
执行以下指令:
//python transwarp_knowledge_demo.py --ip xxx --port xxx --table_name xxx --database_name xxx
参数说明:
--ip:hippo向量数据库的ip
--port:hippo向量数据库的port
--table_name: 要插入数据的表名
--database_name:要插入数据的库名
可通过--h命令查看该脚本的使用方法:python transwarp_knowledge_demo.py --h
步骤四 验证效果
在这个demo实验中,我向知识库中导入了一些关于《芯片战争》这本书籍的简单信息。
这本书是在2022年10月份出版的,所以本模型是不具有这本书的知识的,以下的回答是模型结合知识库来生成的回答。
输入exit可以退出会话。
您还可以输入下方问题进行验证:
- 《芯片战争:世界最关键技术的争夺战》的作者是谁
- 《芯片战争:世界最关键技术的争夺战》的出版日期是什么时候
- 芯片之争中国怎么破局
- 按时间总结一下芯片战争的大事记
- ...
操作时可能会遇到的问题
1. 在操作时遇到以下报错:
解决方法:可以输入python,随后复制下方内容执行一下再试试输入。
import nltk
nltk.os.environ['http_proxy'] = '代理地址'
nltk.os.environ['https_proxy'] = '代理地址'
nltk.download('punkt')