AI创想
标题:
LangChain-Chatchat
[打印本页]
作者:
naxieburu
时间:
昨天 22:54
标题:
LangChain-Chatchat
作者:E的工程笔记
LLM、AIGC、RAG 开发交流裙:377891973
(, 下载次数: 0)
上传
点击文件名下载附件
文章目录
关于 LangChain-Chatchat
特性说明实现原理文档处理流程技术路线图(截止0.2.10)
使用
关于 LangChain-Chatchat
Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答。
github : https://github.com/chatchat-space/Langchain-Chatchatwiki: https://github.com/chatchat-space/Langchain-Chatchat/wiki/
支持列表 LLM 模型、Embedding 模型、向量数据库、工具支持列表开发环境部署
前期准备 :软件、硬件
部署代码:Docker 部署、最轻模式部署方案、常规模式本地部署方案(环境安装、模型下载、初始化知识库、一键启动、多卡加载)参数配置 :基础配置项 basic_config.py、模型配置项 model_config.py、提示词配置项 prompt_config.py、数据库配置 kb_config.py、服务和端口配置项 server_config.py、覆盖配置文件 或者配置 startup.py自定义:使用自定义的分词器、 Agent 工具、微调模型、嵌入模型,日志功能。最佳实践:推荐的模型组合、微调模型加载实操、预处理知识库文件、自定义的关键词调整Embedding模型、实际使用效果
原理介绍:ChatGLM + LangChain 实践培训(视频 1h)
https://www.bilibili.com/video/BV13M4y1e7cN/
ppt : https://pan.baidu.com/s/15jmNG2dc80IWM4LlLj94Rw?pwd=7fnw
特性说明
利用 langchain 思想实现的 基于本地知识库 的问答应用目标:期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。受 GanymedeNil 的项目 document.ai 和 AlexZhangji 创建的 ChatGLM-6B Pull Request启发,建立了
全流程可使用开源模型
实现的本地知识库问答应用。本项目的最新版本中通过使用 FastChat 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 langchain 框架支持 通过基于 FastAPI 提供的 API 调用服务,或使用基于 Streamlit 的 WebUI 进行操作。依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用
开源
模型
离线私有部署
。
与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。
实现原理
本项目实现原理如下图所示,过程包括:
加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。
(, 下载次数: 0)
上传
点击文件名下载附件
文档处理流程
(, 下载次数: 0)
上传
点击文件名下载附件
技术路线图(截止0.2.10)
Langchain 应用
本地数据接入
接入非结构化文档
.txt, .rtf, .epub, .srt.eml, .msg.html, .xml, .toml, .mhtml.json, .jsonl.md, .rst.docx, .doc, .pptx, .ppt, .odt.enex.pdf.jpg, .jpeg, .png, .bmp.py, .ipynb
结构化数据接入
.csv, .tsv.xlsx, .xls, .xlsd
分词及召回
接入不同类型 TextSplitter优化依据中文标点符号设计的 ChineseTextSplitter
搜索引擎接入Bing 搜索DuckDuckGo 搜索Metaphor 搜索Agent 实现基础React形式的Agent实现,包括调用计算器等Langchain 自带的Agent实现和调用智能调用不同的数据库和联网知识
LLM 模型接入
支持通过调用 FastChat api 调用 llm支持 ChatGLM API 等 LLM API 的接入支持 Langchain 框架支持的LLM API 接入
Embedding 模型接入
支持调用 HuggingFace 中各开源 Emebdding 模型支持 OpenAI Embedding API 等 Embedding API 的接入支持 智谱AI、百度千帆、千问、MiniMax 等在线 Embedding API 的接入
基于 FastAPI 的 API 方式调用
Web UI
基于 Streamlit 的 Web UI
使用
Langchain-Chatchat 体验
https://mp.weixin.qq.com/s/RvS85gPjWOXkfQa9A2izpw
1、克隆项目
首先将以上项目克隆至本地,并安装相关依赖。
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
复制代码
pip install-r requirements.txt --trusted-host mirrors.aliyun.com
pip install-r requirements_webui.txt --trusted-host mirrors.aliyun.com
复制代码
2、下载模型
git clone https://www.modelscope.cn/qwen/Qwen-1_8B-Chat-Int8.git
git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh.git
复制代码
模型下载路径为 /models
3、初始化配置文件和知识库
python copy_config_example.py
python init_database.py --recreate-vs
复制代码
4、修改配置信息
model_config.py
# 修改为下载模型的地址
MODEL_ROOT_PATH ="/models"# 修改为本地使用模型
LLM_MODELS =["Qwen-1_8B-Chat-Int8"]
复制代码
5、启动
python startup.py --all-webui --model-name Qwen-1_8B-Chat-Int
复制代码
2024-03-20(三)
喝了一杯 黑糖珍珠鲜牛奶~
原文地址:https://blog.csdn.net/lovechris00/article/details/136870525
欢迎光临 AI创想 (https://www.llms-ai.com/)
Powered by Discuz! X3.4