安阳县交易中心网站建设招标,张家港网络推广,河南平台网站建设找哪家,可以绑定域名的免费空间在文章NLP#xff08;六十#xff09;Baichuan-13B-Chat模型使用体验中#xff0c;我们介绍了Baichuan-13B-Chat模型及其在向量嵌入和文档阅读上的初步尝试。 本文将详细介绍如何使用Baichuan-13B-Chat模型来构建智能文档问答助手。
文档问答流程 智能文档问答助手的流… 在文章NLP六十Baichuan-13B-Chat模型使用体验中我们介绍了Baichuan-13B-Chat模型及其在向量嵌入和文档阅读上的初步尝试。 本文将详细介绍如何使用Baichuan-13B-Chat模型来构建智能文档问答助手。
文档问答流程 智能文档问答助手的流程图如下 文档加载Document Loading:加载文档文档格式为URLPDFDatabase。本项目暂时先支持txt文件后续将支持更多文件格式文档划分Splitting将文档按照特定格式进行划分形成文档片段。本项目采用的文档划分方式为LangChain中的RecursiveCharacterTextSplitter参考网址为https://python.langchain.com/docs/modules/data_connection/document_transformers/text_splitters/recursive_text_splitter。文档存储Storage:将划分后的文档进行向量嵌入再插入至向量数据库。本项目采用的储存方式为ElasticSearch及向量数据库Milvus。文档召回对于输入query从文档存储中召回相关文档片段。本项目采用的召回方式为ElasticSearch中的内置BM25相似度算法及Milvus中的向量距离。问答输出对于召回文档和输入query构建合适的Prompt利用大模型LLM输出最终答案。 下面讲介绍细节。本项目已在Github上开源项目网址为https://github.com/percent4/document_qa_with_llm 。
环境搭建 本项目开发的Web框架为FlaskAPI接口两个文件上传接口和文档问答接口。文件上传接口如下 文档召回采用ElasticSearch和Milvus相结合的方式设置ElasticSearch和Milvus召回最相似文本数量为2。 ElasticSearch中创建的index为docsmapping结构如下
{docs : {mappings : {properties : {cont_id : {type : integer},content : {type : text,analyzer : ik_smart},source : {type : text}}}}
}其中source代表上传文档名称cont_id为文本片段编号content为文本片段。content字段采用的analyzer为ik_smart该analyzer可较好地对中文进行分词。 Milvus创建的collection为docs_qaschema如下 embeddings字段为Baichuan-13B-Chat模型的文本向量嵌入向量维度为512范数为1即单位向量搜索距离度量采用IP即两个向量的内积。 大模型采用Baichuan-13B-Chat主要用于文本片段的向量嵌入和文档问答。关于Baichuan-13B-Chat模型的部署和使用可参考文章NLP六十Baichuan-13B-Chat模型使用体验。
文档问答 本文使用的文档为《封神》耗资30亿第一部上映第次日北京文化跌停访问网址为https://m.jrj.com.cn/madapter/stock/2023/07/22141537710254.shtml 将其文本内容保存为txt文件并通过文件上传接口将数据内容插入至ES和Milvus。 我们的问题输入query为封神第一部什么时候上映的对其进行向量嵌入在ES和Milvus中召回的相似文本为
《封神》耗资30亿第一部上映第次日北京文化跌停热点快报 2023-07-22 14:15:04《封神第一部》刚刚上映北京文化股价却出现下跌。7月21日A股影视传媒板块震荡下挫北京文化收于跌停报7.56元总市值54.12亿元板块内个股慈文传媒、荣信文化、中国出版、上海电影等跟跌。值得关注的是《封神第一部》7月20日才正式上映北京文化为该影片的出品方。
落地误差只有1公里3条飞船实现了第一阶段的全部任务。
北京文化曾成功投资《我不是药神》《战狼》《流浪地球》《你好李焕英》等多部爆款影片。此前《封神第一部》宣布定档北京文化曾迎来3连板。大模型问答的Prompt为
[{role: system,content: 你是一个出色的文档问答助手回答要合理、简洁回复语言采用中文。若问题与文本片段相关请根据给定的文本片段和问题答案以\根据文档知识\开头若问题与文本片段相关性较小则使用外部知识回答问题答案以\根据外部知识\开头。},{role: user,content: 使用下面的文本片段列表回答问题封神第一部什么时候上映的\n\n文本片段1: 《封神》耗资30亿第一部上映第次日北京文化跌停热点快报 2023-07-22 14:15:04《封神第一部》刚刚上映北京文化股价却出现下跌。7月21日A股影视传媒板块震荡下挫北京文化收于跌停报7.56元总市值54.12亿元板块内个股慈文传媒、荣信文化、中国出版、上海电影等跟跌。值得关注的是《封神第一部》7月20日才正式上映北京文化为该影片的出品方。\n文本片段2: 落地误差只有1公里3条飞船实现了第一阶段的全部任务。\n文本片段3: 北京文化曾成功投资《我不是药神》《战狼》《流浪地球》《你好李焕英》等多部爆款影片。此前《封神第一部》宣布定档北京文化曾迎来3连板。\n}
]输出答案为
根据文档知识《封神第一部》于2023年7月20日上映。更多测试内容可参考本项目的Github网址。
总结 本项目的Github网址为https://github.com/percent4/document_qa_with_llm 后续将持续优化这个项目提升文档问答的方便性和智能性。 本文详细介绍了如何使用Baichuan-13B-Chat模型来构建智能文档问答助手希望能给读者们一些启发。