任务
第9周之前,我们讨论了第8周需要完成的任务,如下:
1、爬取数据。具体包括调研一下去哪里爬取数据,是否有特定格式方便爬取,爬取出来的数据格式是如何的,存储在哪里,存储的格式是否符合RAG框架调用的需要,分段方法是否有优化的地方。
2、RAG框架如何实现。看一下目前的框架好接入吗,需要将数据处理成什么形式,框架有LangChain、LlamaIndex等。深入了解一下这些框架,看一下具体流程是如何。
3、大模型部署。目前准备用阿里云免费试用的产品(交互式建模PAI-DSW(5000CU*H))进行部署,研究一些如何使用,并部署一下chatGLM测试一下。
以下内容的原文链接:【项目实训】基于大语言模型进行数据集成的路线探索-CSDN博客
第九周成果
RAG
大模型部署最重要...查询的所有实现RAG的相关文章,都是从大模型部署或使用大模型官方api开始,掌握一项技术需要先上手实践。检索增强生成(Retrieval-Augmented Generation,RAG)RAG是一种使用外部知识库来补充大语言模型(LLM)的上下文并生成响应的技术。
LlamaIndex 是一个将大语言模型(Large Language Models, LLMs,后简称大模型)和外部数据连接在一起的工具。
LangChain
在Langchain中调用LLM接口的两种情况
-
官方提供的API调用接口:调用方便,但是只能免费调用一定额度,之后都要收费
-
自助托管开源模型:在本地或云端服务器上部署开源大模型,好处在于免费,但是部署起来相对麻烦、且对硬件资源有要求,通常可以在HuggingFace和魔搭中下载
RAG架构介绍与langchain中调用大模型官方api的操作步骤
见小组成员任琛琛同学博客杏仁橙橙饼-CSDN博客
Langchain-Chatchat
项目介绍
基于ChatGLM等大语言模型与Langchain等应用框架,所实现的开源、可离线部署的RAG项目
github:https://github.com/chatchat-space/Langchain-Chatchat
项目中默认使用大语言模型是 THUDM/ChatGLM3-6B ,Embedding模型是 BAAI/bge-large-zh
-
中文开源大语言模型chatglm
-
官方提供的技术文档:3. 开源 · ChatGLM3
-
github:https://github.com/THUDM/ChatGLM3
-
HuggingFace:https://huggingface.co/THUDM/chatglm3-6b
-
ModelScope:https://modelscope.cn/models/ZhipuAI/chatglm3-6b/summary
-
-
bge提供RAG领域会用到的模型
-
我有bge-large的本地资源,大小不大,只有2g
-
使用步骤
-
部署此框架
-
下载llm和embedding模型到本地
-
初始化知识库
-
启动项目
使用分析
好处
-
现成的框架,较为成熟,已经经过一定的优化
-
功能齐全且提供对外调用的接口,我们在自己的项目中调用其api即可
坏处
-
需要部署框架需要的环境
-
或许远超于我们的功能需求
选择策略:部署并使用好此框架的成本 (比较两者) 学习langchain自己写好完整代码的成本
Transformers
huggingface下的一个一个机器学习框架,可以进行nlp、cv、多模态等方向的任务,目前大部分的预训练模型都会上传到huggingface上,这个框架下也支持RAG
https://huggingface.co/docs/transformers/model_doc/rag
其他成果见小组成员博客。
并且第9周结束我们确定了第10周的任务。