WebGLM 项目介绍
WebGLM 是一个结合了网络增强功能的人机对话问答系统,旨在通过引入人类偏好实现高效的问题解答。它使用了一种参数为 100 亿的通用语言模型(GLM),以提高实际应用中的表现,同时集成了网络搜索和信息检索的功能。
特性
- 基于 LLM 的增强检索器:提升了从网络获取相关内容的能力,以便更准确地回答问题。
- 引导生成器:利用 GLM 生成模拟人类回答的响应,提高回答的精确度和人性化。
- 考虑人类偏好的评分器:评估生成响应的质量,优先考虑人类偏好,确保系统提供实用且吸引人的内容。
最新动态
- 2023年6月24日:WebGLM 现在支持通过 Bing 进行搜索!
- 2023年6月14日:WebGLM 的源码及相关论文已发布!
准备工作
准备代码和环境
首先需要克隆 WebGLM 的代码库,并安装 Python 依赖项:
pip install -r requirements.txt
接下来,安装 Nodejs:
apt install nodejs # 如果使用 Ubuntu
安装 playwright 的依赖:
playwright install
在使用搜索功能时,需要一个 SerpAPI 的密钥:
export SERPAPI_KEY="YOUR_KEY"
准备检索器检查点
下载预训练的检索器检查点:
python download.py retriever-pretrained-checkpoint
尝试使用 WebGLM
在运行代码前,请确保设备有足够的空间。设置环境变量:
export WEBGLM_RETRIEVER_CKPT=./download/retriever-pretrained-checkpoint
作为命令行界面运行
可以通过以下命令尝试 WebGLM-2B 模型:
python cli_demo.py -w THUDM/WebGLM-2B
或直接使用 WebGLM-10B 模型:
python cli_demo.py
若想使用 Bing 进行搜索,可添加 --searcher bing
参数:
python cli_demo.py -w THUDM/WebGLM-2B --searcher bing
作为 Web 服务运行
运行 web_demo.py
,与上面命令类似。尝试 WebGLM-2B 模型时使用 Bing 搜索:
python web_demo.py -w THUDM/WebGLM-2B --searcher bing
训练 WebGLM
训练生成器
准备训练数据:
python download.py generator-training-data
训练检索器
准备数据并运行以下命令训练检索器:
python download.py retriever-training-data
python train_retriever.py --train_data_dir ./download/retriever-training-data
实际应用案例
WebGLM 提供了多个实际应用场景的示例,例如“何时 COVID-19 会消失?”、“如何平衡工作与爱好?”等问题的回答,展示了该系统在现实环境中的适用性。
WebGLM 是一个在 Web 环境下结合人类偏好的先进问答系统,它不仅提高了检索和生成回答的效率,还特别强调用户体验,通过模拟人类的方式提高回答的精准度和相关性。