-
Notifications
You must be signed in to change notification settings - Fork 574
langchain_zh
iMountTai edited this page Dec 25, 2023
·
6 revisions
LangChain是一个用于开发由LLM驱动的应用程序的框架,旨在帮助开发人员使用LLM构建端到端的应用程序。
借助LangChain提供的组件和接口,开发人员可以方便地设计与搭建诸如问答、摘要、聊天机器人、代码理解、信息提取等多种基于LLM能力的应用程序。
以下文档通过两个示例,分别介绍在LangChain中如何使用Chinese-Alpaca-2实现
- 检索式问答
- 摘要生成
例子中的超参、prompt模版均未调优,仅供演示参考用。关于LangChain的更详细的使用说明,请参见其官方文档。
pip install langchain==0.0.351
pip install sentence_transformers==2.2.2
pip install pydantic==1.10.13
pip install faiss-gpu==1.7.2
下载完整版权重,或者参照模型合并与转换将LoRA权重与原版Llama-2合并得到完整版权重,并将模型保存至本地。
在检索式问答中,LangChain通过问句与文档内容的相似性匹配,来选取文档中与问句最相关的部分作为上下文,与问题组合生成LLM的输入。因此,需要准备一个合适的embedding model用于匹配过程中的文本/问题向量化。本文以GanymedeNil/text2vec-large-chinese为例进行说明(实际上,也可以根据实际需要选择其他合适的embedding model)。
该任务使用LLM完成针对特定文档的自动问答,流程包括:文本读取、文本分割、文本/问题向量化、文本-问题匹配、将匹配文本作为上下文和问题组合生成对应Prompt中作为LLM的输入、生成回答。
cd scripts/langchain
python langchain_qa.py \
--embedding_path text2vec-large-chinese \
--model_path chinese-alpaca-2-7b \
--file_path doc.txt \
--chain_type refine
参数说明:
-
--embedding_path
: 下载至本地的embedding model所在目录(如text2vec-large-chinese
)或HuggingFace模型名(如GanymedeNil/text2vec-large-chinese
) -
--model_path
: 合并后的Alpaca模型所在目录 -
--file_path
: 待进行检索与提问的文档 -
--chain_type
: 可以为refine
(默认)或stuff
,为两种不同的chain,详细解释见这里。简单来说,stuff适用于较短的篇章,而refine适用于较长的篇章。 -
--gpu_id
: 指定使用的GPU设备编号,默认为0。目前仅支持单GPU推理。
运行示例:
> python langchain_qa.py --embedding_path text2vec-large-chinese --model_path chinese-alpaca-2-7b --file_path doc.txt --chain_type refine
# 中间输出信息省略
> 请输入问题:李白的诗是什么风格?
> 李白的诗歌风格是浪漫主义。
该任务使用LLM完成给定文档的摘要生成,以帮助提炼文档中的核心信息。
cd scripts/langchain
python langchain_sum.py \
--model_path chinese-alpaca-2-7b \
--file_path doc.txt \
--chain_type refine
参数说明:
-
--model_path
: 合并后的Alpaca模型所在目录 -
--file_path
: 待进行摘要的文档 -
--chain_type
: 可以为refine
(默认)或stuff
,为两种不同的chain,详细解释见这里。简单来说,stuff适用于较短的篇章,而refine适用于较长的篇章。 -
--gpu_id
: 指定使用的GPU设备编号,默认为0。目前仅支持单GPU推理。
运行示例:
> python langchain_sum.py --model_path chinese-alpaca-2-7b --file_path doc.txt
# 中间输出信息省略
> 李白(701年5月19日-762年11月30日),字太白,号青莲居士,唐代著名诗人。他在少年时代就展现出了非凡的才华,但由于缺乏正规教育,他放弃了学业并开始漫游生涯,以写作诗歌为主要职业。尽管经历了许多困难和挫折,他始终坚持自己的理想,努力追求卓越。在盛唐时期,他活跃于文学界,成为了当时最杰出的浪漫主义诗人之一。他的诗歌充满着想象力和创造力,经常使用夸张和比喻来表达深刻的思想感情。他的作品至今仍是中国古典文学的重要组成部分。