自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 DeepSeek 15天指导⼿册

详细文档请私信领取哦!

2025-02-05 14:14:43 220

原创 大模型训练集

一问一答。

2025-01-24 15:49:47 655

原创 大模型——强化学习

通过外部获得激励来校正学习方向从而获得一种自适应的学习能力;基于人工反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF):构建人类反馈数据集,训练一个激励模型,模仿人类偏好对结果打分;

2025-01-24 11:08:28 1206

原创 大模型——增量预训练

预训练学知识,指令微调学格式,强化学习对齐人类偏好;所以要想大模型有领域知识,得增量预训练。

2025-01-23 11:43:05 1193

原创 LoRA面试篇

通过低秩分解来模拟参数的改变量,从而以极小的参数量来实现大模型的简介训练;其思想就是冻结一个预训练模型的矩阵参数,并选择用A和B矩阵来替代,在下游任务时只更新A和B。1.在原模型旁边加一个旁路,通过低秩分解(先降维再升维)来模拟参数的更新量;2.训练时,原模型固定,只训练降维矩阵A和升维矩阵B;3.推理时,可将BA加到原参数上,不引入额外的推理延迟;4.初始化,A采用高斯分布初始化,B初始化为全0,保证训练开始时旁路为0矩阵;

2025-01-22 11:43:14 869

原创 大模型——提示学习

Prompt提供上下文和任务相关信息,以帮助模型更好地理解要求,并生成正确的输出;例一:问答任务中,Prompt可能包含问题或话题的描述,以帮助模型申城正确的答案;例二:在情感分析任务中,让模型做情感分类任务的做法通常是在句子前面加入前缀“该句子的情感是”即可;通过这种方式将情感分类任务转换成为一个“填空”任务,在训练过程中,BERT可以学到这个前缀与句子情感之间的关联。

2025-01-21 13:53:56 1004

原创 RAG关键痛点及解决方案

当实际答案不在知识库中时,RAG系统往往给出一个貌似合理却错误的答案,而不是承认无法给出答案。这导致用户接收到误导信息,造成错误的引导。如何解决:1、优化数据“输入什么,输出什么”如果源数据质量差,比如充斥着冲突信息,那么无论你如何构建RAG流程,都不能从杂乱无章的数据中得到有价值的结果;2、改进提示方式在知识库缺乏信息,系统可能给出错误答案的情况下,改进提示方式可以起到显著帮助。

2025-01-20 11:20:09 3301

原创 RAG优化策略

检索增强这块主要是借鉴了RAG Fusion技术,这个技术原理比较简单,概括起来就是,当接受用户Query时,让大模型生成5-10个相似的Query,然后每个Query去匹配5-10个文本块,接着对所有返回的文本块再做个倒序融合排序,如果有需求就在加一个精排,最后取top k个文本块拼接至Prompt;它是在一个语料库上进行训练的,其中包含由Critic模型预测的检索到的段落和反思字符。因此,可以在检索文档后加一个额外的验证模块,以评估检索到的文档与查询之间的相关性,这样就可以题上RAG的鲁棒性;

2025-01-17 15:21:54 945

原创 RAG——评测

1、生成问题和基准答案(实践中可能会出现偏差)要生成(问题、答案)元组,我们首先需要准备RAG数据,将其拆分为块,并将其嵌入向量数据库中。完成这些步骤后,我们会指示LLM从指定主题中生成num_questions个问题,从而得到问题和答案元组。为了从给定的上下文中生成问题和答案,我们需要按照以下步骤操作:a、选择一个随机块并将其作为根上下文b、从向量数据库中检索k个相似的上下文c、将根上下文和其k个相邻上下文的文本连接起来构建一个更大的上下文。

2025-01-16 15:23:03 913

原创 大模型外挂知识库

通过向量召回的方式从文档库里召回和用户问题相关的文档片段,同时输入到LLM中,增强模型回答质量。常用的方式直接用用户的问题进行文档召回。但是很多时候,用户的问题十分口语化,描述的也比较模糊,这样会影响向量的质量,进而影响模型回答的效果。

2025-01-16 11:49:08 224

原创 大模型——RAG

数据索引一般是一个离线的过程,主要是将私域数据向量化后构建索引并存入数据库的过程。主要包括:数据提取、文本分割、向量化(Embedding)及创建索引等环节。1、数据获取即从原始数据到便于处理的格式化数据的过程,具体工程包括:- 数据获取:包括多格式数据加载、不同数据源获取等,根据数据自身情况,将数据处理为同一个范式;Doc类:直接解析其实就能够得到文本到底是什么元素,比如标题、表格等,这部分直接将文本段及其对应的属性存储下来,用于后续切分的依据;

2025-01-15 10:57:02 1681 1

原创 基于LLM向量库的对话文档

目前的痛点是文档分割不够准确,导致模型有可能只回答了部分内容,而实际上是因为向量相似度召回的结果是残缺的。那如果把切割的粒度放大呢?比如每10个段落一分。但这样显然不是最优的,因为召回片段太大,导致噪声就越多。LLM本来就有幻觉,回答得不会很准确。

2025-01-14 15:21:42 467

原创 RAG时如何处理结构化数据?

PDF中识别文字和表格时,表格的内容不能够很好的输出,这种直接识别PDF的方法容易造成脏数据,对后续的向量化以及检索容易造成一定的误差,因此需要将这种数据进行已改写;

2025-01-14 10:01:37 170

原创 API部署大模型

由于生产测试环境的服务器配置较低不能够支撑大模型运行的配置所以需要将大模型封装部署在A服务器上在B服务器上进行调用封装时可以使用FastAPI与Websocket两种通信方式进行通信。

2024-12-25 17:02:47 378

原创 私有化大模型部署

不同的私有化大模型部署方式适用于不同的业务需求和技术场景,企业可以根据以下因素选择最适合的部署方式:数据隐私要求:如果对数据隐私有极高要求,可以选择本地部署或私有云部署。计算资源需求:大模型推理需要高性能的计算资源,公有云或混合云部署提供了灵活的计算资源。低延迟要求:边缘计算适合对延迟要求极高的实时应用场景。灵活性和扩展性:云端部署提供更高的弹性和可扩展性,适用于需求波动较大的应用。选择合适的部署方式能够帮助企业更好地平衡成本、性能和安全需求,实现大模型在实际业务中的高效运作。

2024-12-23 17:58:06 1669

原创 大模型开发——Function calling

原理作用完善ChatGPT无法完成的功能,使用本地的函数完善ChatGPT;加载OpenAI参数。

2024-12-17 16:08:23 833

原创 为什么 Bert 的三个 Embedding 可以进行相加?

不妨直接将三个one-hot特征concat起来得到的[1,0,0,0,1,0,0,1,0],虽然形式上不再是one-hot了,但是可以将其映射到三个one-hot组成的特征空间,此时特征空间的维度为4。如此得到的word Embedding,事实上和concat后的特征:[1,0,0,0,1,0,0,1,0],在过维度为[4+3+2,768]=[9,768]的全连接层,得到的向量其实是一样的。它的Position one-hot为[1,0,0],它的segment one-hot为[1,0]。

2024-12-12 13:15:00 648

原创 Prompt Engineering(吴恩达&OpenAI)

编写清晰具体的指令如果时间允许,请给模型更多的思考时间。

2024-12-12 09:18:45 1219

原创 Prompt Engineering

就是用户输入的文本可能包含与你的预设 Prompt 相冲突的内容,如果不加分隔,这些输入就可能“注入”并操纵语言模型,轻则导致模型产生毫无关联的不正确的输出,严重的话可能造成应用的安全风险。

2024-12-09 11:27:36 1112

原创 ‌System Prompt VS User Prompt

用户提示词是用户与AI互动的直接方式,通过提问、请求或命令来引导对话的方向,确保AI能够理解并生成合适的回复‌。内容可以非常具体,如指定AI应该遵守的规则,也可以较为宽泛,如定义AI的性格特质‌1。它通常在对话开始前设置,对整个对话过程都有效,但不会直接与用户互动‌。:系统提示词是指向AI提供的一组初始指令或背景信息,用于指导AI的行为方式和响应模式。,内容多样,可以是询问、陈述、命令等形式。它是触发AI产生回复或执行操作的直接原因‌。等,确保AI能够按照预期的方式与用户互动‌。

2024-12-09 09:02:28 2052

原创 Preprocess

使用Tokenizer将文本转换为标记序列,创建标记的数值表示,并将它们组装成张量。预处理文本数据的主要工具是标记器。标记器根据一组规则将文本拆分为标记。标记被转换为数字,然后转换为张量,这些张量成为模型输入。模型所需的任何其他输入都由标记器添加。

2024-12-06 20:15:00 494

原创 AutoClass加载预训练实例

由于 Transformer 架构种类繁多,AtuoClass可以创建一个你想要的做模型架构。作为 🤗 Transformer 核心理念的一部分,使库易于使用、简单且灵活,可以AutoClass从给定的检查点自动推断和加载正确的架构。该from_pretrained()方法可让您快速加载任何架构的预训练模型,因此无需投入时间和资源从头开始训练模型。生成这种与检查点无关的代码意味着,如果代码适用于一个检查点,那么它将适用于另一个检查点,只要它是针对类似任务进行训练的即使架构不同。

2024-12-06 19:30:00 250

原创 Transformers库

pipeline ()会自动加载一个默认模型后者本地指定的模型。举一个简单的例子:

2024-12-06 14:44:37 558

原创 求助——AssertionError: Attribute pipeline is missing from configuration.json.

在网上找了很多问题都没有解决,求助一下广大网友。有什么好的解决方法吗?我在本地运行Sunsimiao大模型的时候遇到了“本地环境如上所示,不知是哪里出现了问题!

2024-12-03 10:33:02 770

原创 LangChain——自定义流式生成器函数

在 LCEL 管道中使用生成器函数(即使用 yield 关键字且行为类似于迭代器的函数)。这些生成器的签名应该是 Iterator[Input] -> Iterator[Output]。或者对于异步生成器: AsyncIterator[Input] -> AsyncIterator[Output]。这些对于: - 实现自定义输出解析器 - 修改上一步的输出,同时保留流功能为逗号分隔列表实现一个自定义输出解析器。

2024-11-27 16:14:41 212

原创 LangChain——设置配置项

使用“@chain”装饰器创建一个可运行程序,还可以通过添加 @chain 装饰器将任意函数变成链。其次,一个 configurable_alternatives 方法。使用此方法,您可以列出可以在运行时设置的任何特定可运行对象的替代方案。通常,您可能想要尝试多种不同的做事方式,甚至向最终用户展示多种不同的做事方式。通过正确跟踪链,这将具有提高可观察性的好处。对该函数内的可运行对象的任何调用都将被跟踪为嵌套子函数。这允许您配置可运行的特定字段。它还允许像任何其他可运行程序一样使用它,将其组合成链等。

2024-11-27 15:37:52 334

原创 LangChain——数据传递

可以在管道中使用任意函数。请注意,这些函数的所有输入都必须是单个参数。如果有一个接受多个参数的函数,则应该编写一个接受单个输入并将其解包为多个参数的包装器。chain = (| prompt| model# 输出结果。

2024-11-27 15:01:25 283

原创 LangChain——并行发散流程控制

RunnableParallel(又名 RunnableMap)可以轻松并行执行多个 Runnable,并将这些 Runnable 的输出作为映射返回。RunnableParallel 对于并行运行独立进程也很有用,因为映射中的每个 Runnable 都是并行执行的。导入相关的包,并且将两个并行处理的内容;这里先列举了传统的处理方法;

2024-11-27 11:45:21 275

原创 LangChain——自查询

自查询检索器,顾名思义,是一种能够查询自身的检索器。具体来说,给定任何自然语言查询,检索器使用查询构造 LLM 链来编写结构化查询,然后将该结构化查询应用于其底层 VectorStore。这允许检索器不仅使用用户输入的查询与存储的文档的内容进行语义相似性比较,而且还从对存储的文档的元数据的用户查询中提取过滤器并执行这些过滤器。我们使用Chroma矢量存储,创建一个小型演示文档,其中包含电影摘要等;注意:自查询检索器要求您安装 lark 软件包。

2024-11-27 09:54:33 259

原创 LangChain——多向量检索器

通常,摘要可能能够更准确地提炼出某个块的内容,从而实现更好的检索。在这里,我们展示如何创建摘要,然后嵌入它们。# 创建链chain = (| ChatPromptTemplate.from_template("总结下面的文档:\n\n{doc}")| modeldocs = []# max_concurrency最大的并行量# 添加文件到检索器# id和文档的映射sub_docs = retriever.vectorstore.similarity_search("众测活动是否有参与限制?

2024-11-26 22:15:00 329

原创 LangChain——HTML文本分割 & 多种文本分割

加载文档后,您通常会想要对其进行转换以更好地适合您的应用程序。最简单的例子是,您可能希望将长文档分割成更小的块,以适合模型的上下文窗口。LangChain 有许多内置的文档转换器,可以轻松地拆分、组合、过滤和以其他方式操作文档。当您想要处理长文本时,有必要将该文本分割成块。这听起来很简单,但这里存在很多潜在的复杂性。理想情况下,您希望将语义相关的文本片段保留在一起。“语义相关”的含义可能取决于文本的类型。本笔记本展示了实现此目的的几种方法。

2024-11-26 20:30:00 879

原创 LangChain——加载知识库文本文档 & PDF文档

这涵盖了如何加载目录中的所有文档。在底层,默认情况下使用 UnstructedLoader。需要安装依赖python导入方式我们可以使用 glob 参数来控制加载特定类型文件。请注意,此处它不会加载 .rst 文件或 .html 文件。默认情况下不会显示进度条。要显示进度条,请安装 tqdm 库(例如 pip install tqdm ),并将 show_progress 参数设置为 True。

2024-11-26 19:15:00 985

原创 LangChain——数据检索(RAG)

数据检索用户输入只是问题,大难需要从一直的数据库或者文档中获取。因此,我们需要使用检索器获取上下文,并通过“question”键下的用户输入;

2024-11-26 15:00:00 611

原创 LangChain——CSV_时间_枚举_Json_修复_重试解析器

当想返回以逗号分隔开的项目列表时,可以使用输出解析器。输出结果:[‘香草’, ‘巧克力’, ‘草莓’, ‘抹茶’, ‘薄荷’]

2024-11-26 09:28:44 1013

原创 LangChain——管道提示词 & 缓存

管道提示词可以将多个提示组合在一起。当我们想要使用部分提示时,这会很有用。这里可以通过PipelinePrompt来完成。

2024-11-25 19:00:00 576

原创 LangChain——提示词里模板中的模板

最常用的是 AIMessagePromptTemplate 、 SystemMessagePromptTemplate 和 HumanMessagePromptTemplate ,它们分别创建 AI 消息、系统消息和人工消息。想象一下,有一个提示,希望获得当前日期。想要部分提示模板的一个常见用例是,如果先于其他变量获取某些变量。相反,可使用foo值部分提示模板,然后传递部分化的提示模板并直接使用。与其他方法一样,“部分”提示模板是有意义的,例如需要传入所需的子集,以创建一个仅需要剩余值子集的新提示模板。

2024-11-25 14:21:57 374

原创 faiss VS ChromaDB

ChromaDB 适用于需要快速、可扩展的时间序列数据存储和查询的各种应用,如监控系统、物联网、金融市场数据分析等。ChromaDB 是一个开源的、基于 Python 的数据库,专门用于存储和查询时间序列数据。它是由 MongoDB 的创造者开发的一个高性能、可扩展的解决方案,适用于需要处理大规模时间序列数据的场景。faiss 的核心优势在于它为高维向量空间中的数据提供了快速的近似最近邻搜索(ANNS)算法,这对于推荐系统、信息检索、图像和视频分析等应用非常重要。

2024-11-25 11:34:56 1000

原创 LangChain

1、类属性定义max_token: 定义类模型可以处理的最大令牌数;do_sample: 指定是否在生成文本时采用采样策略;temperature: 控制生成文本的随机性,较高的值会产生更多的随机性;top_p: 一种替代temperature的采样策略,这里设置为0.0,意味着不适用;tokenizer: 分词器,用于将文本转换为模型可以理解的令牌;model: 存储加载的模型对象;history: 存储对话历史;2、构造函数init: 构造函数初始化了父类的属性;

2024-11-21 16:28:19 1125

原创 大模型 VS 大语言模型

最近很多朋友搞不懂大模型和大预言模型的区别,总是把大模型就认为是大语言模型。今天就用这篇帖子做一个科普。

2024-11-19 16:00:29 2363 2

原创 常见大模型——chatlm系列

主流的预训练框架主要有三种:1、AutoRegressive自回归模型(AR模型):代表GPT。本质上是一个Left-to-Right的语言模型。通常用于生成式任务,在长文本生成方面取得了巨大的成功。当扩展到十亿级别参数时,变现出了少样本学习能力。缺点是单向注意力机制,在NLU任务中,无法完全捕捉上下文的依赖关系。2、Autoencoding自编码模型(AE模型):代表BERT。是通过某个降噪目标(比如MLM)训练的双向文本编码器。编码器会产生适用于NLU任务的上下文表示,但无法直接用于文本生成。

2024-11-19 15:24:09 1130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除