自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wshzd的博客

专注于机器学习和深度学习

  • 博客(270)
  • 资源 (2)
  • 收藏
  • 关注

原创 LLM之RAG实战(四十八)| AutoRAG:基于用户数据自动优化RAG pipeline的AutoML工具

在这种情况下,您需要使用一个语料库创建 QA,然后将语料库的其余部分映射到 QA 数据。完成后,可以看到在当前目录中创建的多个文件和文件夹。在命名为数字(如 0)的 trial 文件夹中,可以检查summary.csv文件,该文件汇总了评估结果和最适合您数据的 RAG 管道。是非常耗时和困难的。trial 文件夹是正在运行的控制面板中使用的目录。也可以同时使用多个Parse模块,这种情况下,需要为每个解析的结果返回一个新进程。如果想制作自己的配置 YAML 文件,可以查看配置 YAML 文件[2]部分。

2024-10-31 17:38:43 656

原创 LLM之RAG实战(四十七)| GraphRAG:使用知识图谱改进 RAG 检索策略

此外,GraphRAG 利用知识图谱的模块化,将它们划分为语义相关的单元,并为每个单元生成摘要报告。此类问题的上下文可能分散在大型存储库中,这使得通常使用 top-k 算法的矢量检索方法难以捕获所有相关的文档块,从而导致信息检索不完整。相比之下,知识图谱 RAG 从查询中提取实体,并从图数据库中检索相关实体和关系。相比之下,知识图谱 RAG 在摄取期间从文档块中提取实体和关系,并将其存储在图形数据库中。在检索过程中,知识图谱 RAG 从查询中提取实体,并从图数据库中检索相关实体和关系。

2024-10-31 10:29:36 997

原创 LLM之RAG实战(四十六)| Langflow:一个用于构建 RAG 和多代理应用的低代码应用构建工具

它基于 Python 构建,并且不依赖任何模型、API 或数据库。无需配置,登录https://astra.datastax.com/signup?切换Prompt为:Answer the user as if you were Hermione Granger.输入Prompt:Answer the user as if you were a pirate.:作为任何模型、API 或数据库的可重用组件。:与模型、API、数据源或数据库无关;:通过拖放方式构建和测试工作流;:无需设置,几分钟内即可启动;

2024-10-29 15:02:38 382

原创 LLM之RAG实战(四十五)| LightRAG:创新双级检索系统,整合图形结构,实现更强大信息检索!

成本和适应性分析:LightRAG在索引和检索过程中的令牌和API调用数量上比GraphRAG更高效,特别是在处理数据变化时的增量更新阶段。高效的检索效率:通过结合图结构和向量表示,LightRAG能够高效地检索相关实体及其关系,显著提高了响应时间,同时保持了上下文相关性。评估:在多个数据集上的实验评估表明,LightRAG在多个维度上优于现有的RAG基线方法,包括在处理大规模语料库和复杂查询时的优越性。图结构的整合:LightRAG通过使用图结构来表示实体间的复杂关系,从而能够更细致地理解和检索信息。

2024-10-22 14:20:06 623

原创 LLM之RAG实战(四十四)| rag-chatbot:支持Huggingface和Ollama任意模型的多PDF本地RAG方案

Step1:把https://github.com/datvodinh/rag-chatbot/blob/main/notebooks/kaggle.ipynb脚本导入到Kaggle。大模型的配置文件:https://github.com/datvodinh/rag-chatbot/blob/main/rag_chatbot/setting/setting.py。Step2:把<YOUR_NGROK_TOKEN>替换为自己的token。脚本方式(Ollama, Ngrok, python package)

2024-10-22 10:04:11 590

原创 LLM之Agent(十二)| OpenAI Agent-Swarm简单入门

项目地址:https://github.com/openai/swarm。

2024-10-21 09:39:03 168

原创 使用Langchain-chatchat搭建RAG应用,并使用postman进行测试验证

Github地址:https://github.com/chatchat-space/Langchain-Chatchat LangChain-Chatchat (原 Langchain-ChatGLM),一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 本项目的最新版本中可使用 Xinference、Ollama 等框架接入 GLM-4-Chat、 Qwen2-Instruct、 Ll

2024-10-17 15:25:52 1204

原创 MLLM(三)| BigModel平台正式上线Plus系列全家桶

2024年8月28日,在ACM SIGKDD(国际数据挖掘与知识发现大会,KDD)会议现场,智谱AI重磅推出新一代全自研基座大模型GLM-4-Plus、图像/视频理解模型GLM-4V-Plus和文生图模型CogView-3-Plus。文生图模型迎来最新版本CogView-3-Plus,其效果接近目前最佳的 MJ-V6 及 FLUX 等模型,并支持图片编辑功能。:在城市的一个广场上,傍晚时分,落日映射着白云,天上有一群大雁在飞翔,地上有几个人在游乐场玩耍。三个大模型在长文本推理方面,表现一致的好。

2024-09-09 09:49:23 751 1

原创 MLLM(二)| 阿里开源视频理解大模型:Qwen2-VL

从六个关键维度评估模型的视觉能力:复杂的大学水平问题解决、数学能力、文档和表格理解、多语言文本图像理解、一般场景问答、视频理解和基于代理的交互。此功能为更直观和身临其境的交互铺平了道路,Qwen2-VL 不仅充当观察者,而且是我们视觉体验的积极参与者。此外,更小的 2B 模型针对潜在的移动部署进行了优化。Qwen2-VL 现在拥有改进的对象识别功能,超越了植物和地标,可以理解场景中多个对象之间的复杂关系。在 7B 模型上,保留了对图像、多图像和视频输入的支持,以更具成本效益的模型大小提供有竞争力的性能。

2024-09-05 09:58:03 2147

原创 MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

自2021年起,智谱 AI 技术团队便开始着手布局包括 text-2-img、text-2-video、img-2-text、video-2-text 在内的多模态模型,并陆续研发并开源了CogView、CogVideo、Relay Diffusion、CogVLM、CogVLM-Video等多个先进模型。这一创新增强了模型对文本的理解和对指令的遵循能力,确保生成的视频更加符合用户的输入需求,并能够处理超长且复杂的prompt指令。接下来,使用上述生成的视频id抽取视频内容。生成的效果不错,非常高清。

2024-09-02 15:16:02 1196

原创 LLM之RAG理论(十二)| RAG和Graph RAG对比

与传统 RAG 相比,Graph RAG 的主要优势在于它能够检索有关查询中提到的实体的全面详细信息。当我们仔细观察架构时,我们可以看到,首先将文档拆分为可管理的块,并将这些块转换为实体和关系,这些实体和关系构成了知识图谱的基础。在基于LLM问答的系统中实施 RAG 的主要好处是它确保模型可以访问最新、最可靠的事实,并且用户可以访问模型的来源,确保其声明可以被检查为准确性并最终被信任。检索增强生成(RAG)是一个框架,通过支持外部知识源的模型来补充LLM信息的内部表示,从而提高LLM生成响应的质量。

2024-07-23 16:50:15 883

原创 LLM之RAG实战(四十二)| 如何在LlamaIndex和LangChain中正确选择RAG开发框架

之后不久,各大企业和高校纷纷推出自己的大模型,然而,除了开发大模型之外,企业对大模型的应用开发需求也开始爆发,这导致了对大模型工具/框架的需求激增,这些工具/框架有助于 Gen AI 模型的开发、集成和管理。目前有两个突出的框架处于领先地位:LlamaIndex 和 LangChain,这两个框架的目标是帮助开发人员创建自己的自定义LLM应用程序。在这种机制的帮助下,RAG 可用于生成高度准确和相关的输出,否则LLMs基础知识是不可能实现的。A3:是的,可以结合这两个平台的强大功能为您的用例开发解决方案。

2024-07-20 16:12:33 884

原创 LLM之Prompt(四)| OpenAI、微软发布Prompt技术报告

生成式人工智能 (GenAI) 系统正越来越多地部署在各行各业和研究机构。开发人员和用户通过使用提示或提示工程与这些系统进行交互。虽然提示是一个广泛提及且被研究的概念,但由于该领域的新生,存在相互矛盾的术语和对构成提示的本体论理解不足。本文通过对提示技术的分类和使用案例,构建对提示的结构化理解。作者还提供了 33 个词汇术语的综合词汇表、58 种纯文本提示技术的分类法和 40 种其他模态技术的分类法。作者进一步对自然语言prefix提示进行了整体分析。

2024-07-15 11:33:38 1351

原创 LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎

要使用 LlamaIndex 构建用于混合搜索的自定义检索器,我们首先需要定义架构,尤其是配置合适的节点。在我们的例子中,使用 LlamaIndex 来构建自定义检索器,使用 Gemini 来构建嵌入模型和LLM推理,并使用 PyPDF 来构建数据连接器,因此,需要安装所需的库。一旦数据被解析为节点,LlamaIndex 就会提供一个存储上下文,它提供默认的文档存储,用于存储数据的向量嵌入。为了测试其有效性,我们使用一个包括上下文的提示和一个不包括上下文的提示来评估生成的响应。

2024-07-08 14:41:18 1529

原创 LLM漫谈(七)| 使用PyTorch从零构建LLM

因此,我们将使用来自 Huggingface 的数据集,名为“Helsinki-NLP/opus-100”,它有 100 万对英语-马来语训练数据集,足以获得良好的准确性,并且在验证和测试数据集中各有 2000 个数据。:Feedfoward Network使用深度神经网络来学习两个线性层(第一层有d_model个节点,第二层有d_ff节点,根据注意论文分配的值)的所有特征,并将 ReLU 激活函数应用于第一线性层的输出,为嵌入值提供非线性,并应用 dropout 以进一步避免过拟合。

2024-06-19 16:25:13 1270

原创 LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot

在第二层,SQL Agent首先获取到用户的问题,然后要求 LLM 根据用户的问题创建 SQL 查询,使用内置函数在MySQL数据库上运行查询。在这里,我们使用的是 ChatPromptTemplate,如果你真的研究它,你会看到它是如何专门编写的,用于创建和运行 SQL 查询。在下一段代码中,将使用上一个代码块中定义的变量创建 QA 链,将消息添加到聊天记录中,然后运行链以获取改进的查询。这是代码的最后一部分,它将首先运行第一层以获取改进的查询,然后我们使用该改进的查询来获得最终响应。

2024-06-14 10:30:09 2194 2

原创 LLM之RAG实战(三十九)| 高级RAG技术全面解析(附代码)

在检索步骤中,用户的查询也被转换为嵌入,此嵌入用于在向量数据库中搜索最相关的文本数据。最后,在生成步骤中,查询会使用先前检索到的相关文档进行增强,大型语言模型会使用此增强的提示来生成对用户问题的答案。下一步,它使用 Faiss 执行向量搜索,Faiss 返回前五个最接近的文档的索引,这些索引用于根据文档的排名创建反向分数文档(即,最接近的文档得分最高)。上面提供的伪代码概述了使用机器学习根据相关性对文档进行重新排序的方法,具体来说,是通过预测用户根据过去的交互找到相关文档的可能性。

2024-06-05 14:17:14 2409 1

原创 LLM之RAG实战(三十八)| RAG分块策略之语义分块

这意味着,虽然块的大小不会完全相同,但它们仍然具有相似的大小,并可以利用固定大小块和重叠的优点。:该方法不像上述两种方法一样,它不会使用一定数量的字符或递归过程,而是基于文档的逻辑部分(如段落或小节)来生成对齐的块。我们可以看到,语义分块和Naive分块的结果几乎相同,只是Naive分块对答案的真实表示更好,与语义分块的0.88分相比,得分为0.95。语义分块包括获取文档中每个句子的嵌入,比较所有句子的相似性,然后将嵌入最相似的句子分组在一起。这里的假设是,我们可以使用单个句子的嵌入来生成更有意义的块。

2024-05-01 01:13:08 3983

原创 LLM之RAG理论(十一)| 面向生产的RAG应用程序的12种调整策略指南

请注意,虽然用于语义搜索的所用相似性度量是一个可以更改的参数,不需要进行实验,而应该根据所使用的嵌入模型进行设置(例如,text-embedding-ada-002支持余弦相似性或multi-qa-MiniLM-l6-cos-v1支持余弦相似、点积和欧几里得距离)。这取决于您拥有的数据类型,例如,如果您的输入数据是代码,而不是Markdown文件,则需要使用不同的分块技术。如果元数据不足以提供额外的信息来从逻辑上分离不同类型的上下文,可能需要尝试使用多个索引,例如,可以对不同类型的文档使用不同的索引。

2024-04-29 17:48:28 971

原创 LLM漫谈(六)| 复旦MOSS提出数据配比scaling law

虽然数据混合定律使我们能够在未见过的混合数据上预测训练模型的性能,但满足该定律的要求涉及跨不同混合物训练多个模型,并且模型大小和tokens计数与目标模型相同。此外,我们必须对每个目标模型大小和训练数据集重复此过程(一个想法是将使用少量标记训练的小型模型上的优化训练混合物转移到大型模型和大量训练数据的训练上。对于所有模型,将批量大小设置为 1M 令牌,从而转化为 1B 模型的 100k 步和小模型的 30k 步,并应用余弦学习率衰减,并进行 2k 步的预热,在第 100k 步时衰减到最大学习率的 0.1。

2024-04-25 14:26:22 1660

原创 LLM之RAG实战(三十七)| 高级RAG从理论到LlamaIndex实现

alpha参数指定矢量搜索和基于关键字的搜索之间的权重,其中alpha=0表示基于关键字的检索,alpha=1表示纯矢量搜索。在概述了高级RAG技术(可分为预检索、检索和后检索技术)之后,本文使用LlamaIndex进行编排,实现了一个简单而高级的RAG管道。由于整个文档太大,无法放入LLM的上下文窗口,因此需要将其划分为较小的文本块,这些文本块在LlamaIndex中称为Nodes。检索阶段旨在识别最相关的上下文。除了矢量搜索之外,还有其他检索技术,例如混合搜索,是指将矢量搜索与基于关键字的搜索相结合。

2024-04-01 14:19:31 2286

原创 LLM之RAG实战(三十六)| 使用LangChain实现多模态RAG

但是,这个模型不足以解释图像中的信息,例如,在某些情况下,图像中存在与数字相关的信息,或者数据库中的图像类型相似,嵌入无法从数据库中检索相关图像。对于split_image_text_types函数,使用CLIP嵌入获取相关图像后,还需要将图像转换为base64格式,因为GPT-4-Vision的输入是base64格式。如果使用多模态RAG,这两种方法是合适的。针对上述情况,我们可以使用多模态大模型来解决,比如GPT-4-Vision,它有非常好的图像理解能力,可以理解图像内部发生的事情。

2024-03-29 14:17:04 3216

原创 LLM之RAG实战(三十五)| 使用LangChain的3种query扩展来优化RAG

RAG有时无法从矢量数据库中检索到正确的文档。比如我们问如下问题:从1980年到1990年,国际象棋的规则是什么?RAG在矢量数据库中进行相似性搜索,来查询与国际象棋规则问题相关的相关文档。然而,在某些情况下,我们的向量数据库没有存储完整的信息,例如,我们的矢量数据库没有存储不同年份的规则。这样,数据库可以返回与国际象棋规则相关但与特定问题不直接相关的文档。针对上述情况,我们可以采用查询扩展技术,该技术可以对用户的原始查询生成更全面、信息更丰富的搜索。这个新生成的查询将从矢量数据库中获取更多相关文档。

2024-03-28 23:48:33 1758

原创 LLM之RAG实战(三十四)| 使用LangChain的三个函数来优化RAG

在某些情况下,我们的向量数据库中的每个块中的令牌数量都很高,并且每个块有时会包含一些不相关的信息。然而,基本RAG有时候并不总是有很好的效果的,有可能从向量数据库中检索出与用户提示不相关的文档,导致LLM无法总结出正确的答案。也许,我们的块很短,矢量数据库存储了很多块。Langchain提供了对应的函数来解决上述问题,该函数可以帮助重新排序相关文档,这样可以确保相关文档位于文档列表的开头和末尾。当LLM对这么多文档提出问题时,在某些情况下,LLM无法理解位于检索文档中间的文档的上下文。

2024-03-28 11:25:08 972

原创 LLM漫谈(五)| 从q star视角解密OpenAI 2027年实现AGI计划

Q*的下一阶段,最初是GPT-6,但后来更名为GPT-7(最初于2026年发布),但因埃隆·马斯克最近的诉讼而被搁置,Q*2025(GPT-8)计划于2027年发布,实现完全AGI。尽管GPT-4发布于2023年3月,略晚于Igor Baikov声称的12月至2月窗口期(我认为这是OpenAI故意抹黑Igor的泄露),但Bing ChatGPT(基于GPT-4)实际上是在2023年2月发布的,这清楚地表明Igor声称的窗口期是有效的,很可能在最后一分钟被惊慌失措的OpenAI更改了。

2024-03-22 12:37:33 1500

原创 LLM之RAG实战(三十三)| 探索RAG在Table的应用

(m)首先,应用类别(a)到(d)中的一种方法,将文档中的所有表格解析为图像形式,然后直接将所有表格图像和用户的查询发送到多模态LLM(如GPT-4V等)并返回答案。这些框架可以对整个文档进行全面的解析,并从解析的结果中提取与表相关的内容。(n)使用(m)提取的图像格式的表格,然后使用OCR模型识别表格中的所有文本,然后直接将表格中的全部文本和用户的查询发送到LLM并直接返回答案。这种方法的优点是,它可以有效地解析表,同时综合考虑表摘要和表之间的关系,而且还不需要多模型LLM的需求,从而节省了成本。

2024-03-20 13:53:09 3627

原创 LLM之RAG实战(三十二)| 使用RAGAs和LlamaIndex评估RAG

第二个和第三个问题的上下文精度为0,表明检索到的上下文中的相关上下文没有排在最前面。此外,忠实度得分并不低,这表明答案主要是从上下文中得出或总结的,可以得出结论,答案不是由于LLM的幻觉而产生的。在RAGAs中,如果您想使用另一个LLM(如Gemini)来使用LlamaIndex进行评估,即使在调试了RAGAs的源代码后,我也没有在版本0.0.22中找到任何有用的方法。此外,我们发现,尽管我们的上下文相关性得分较低,gpt-3.5-turb-16k(RAGA的默认模型)仍然能够从中推断出答案。

2024-03-19 14:47:20 2757 1

原创 LLM之RAG实战(三十一)| 探索RAG重排序

当检索器从索引集合中检索多个上下文时,这些上下文与用户的查询的相关性可能不同,一些上下文可能非常相关(在图1中用红框突出显示),而另一些上下文可能只有轻微的相关甚至不相关(在图1中用绿框和蓝框高亮显示)。重新排序的任务是评估这些上下文的相关性,并优先考虑最有可能提供准确和相关答案的上下文,让LLM在生成答案时优先考虑这些排名靠前的上下文,从而提高响应的准确性和质量。提示LLM重新排序的方法的成本是较低的,以下是使用RankGPT[4]的演示,该演示已集成到LlamaIndex[5]中。

2024-03-17 12:09:23 3556

原创 LLM之RAG理论(十)| RAT:一种协同CoT和RAG的 AI 提示策略,助力解决长任务推理和生成

特别是,所提出的方法——检索增强的思想(RAT):利用检索到的与任务查询相关的信息逐一修正每个思考步骤,在生成初始零样本CoT之后,将RAT应用于GPT-3.5、GPT-4和CodeLLaMA-7b大大提高了它们在各种长期范围内的性能生成任务;其次,设计一种渐进的方法,而不是用完整的CoT进行检索和修改并立即产生最终响应,其中LLM在CoT(一系列子任务)之后逐步生成响应,并且只有当前思维步骤将根据任务提示检索到的信息、当前和过去的CoT进行修改。可以简单地用作最后模型的响应,例如具体任务规划。

2024-03-16 15:30:58 1958

原创 LLM之RAG实战(三十)| 探索RAG语义分块策略

proposition被定义为文本中的原子表达式,每个命题都封装了一个不同的事实,并以简洁、自包含的自然语言格式呈现。然后,将多个连续句子的这些向量表示输入到Bi-LSTM(图4(b))或另一个BERT(图4),以预测每个句子是否是文本分割边界。最常用的分块方法是基于规则的,采用固定的块大小或相邻块的重叠等技术。然而,这种方法依赖于LLM,这是相对昂贵的。然而,在实际应用中,由于严格的预定义规则(块大小或重叠部分的大小),基于规则的分块方法很容易导致检索上下文不完整或包含噪声的块大小过大等问题。

2024-03-15 16:29:52 2138 1

原创 LLM之RAG实战(二十九)| 探索RAG PDF解析

换句话说,它将文档的每一行都视为一个由换行符“\n”分隔的序列,这会妨碍段落或表格的准确识别。解析PDF文档的挑战在于准确提取整个页面的布局,并将包括表格、标题、段落和图像在内的内容翻译成文档的文本表示。例如,如果用户想知道图9中2.1节的主要内容,通过准确提取2.1节的标题,并将其与相关内容一起作为上下文发送给LLM,最终答案的准确性将显著提高。否则,它将被视为右列的一部分。对于RAG来说,从文档中提取信息是一种不可避免的场景,确保从源文件中提取出有效的内容对于提高最终输出的质量至关重要。

2024-03-13 17:48:56 2980 1

原创 LLM之RAG实战(二十八)| 探索RAG query重写

2.将生成的假设文档输入编码器,将其映射到密集向量f(dk),编码器具有过滤功能,过滤掉假设文档中的噪声。在密集检索中,新查询表示为q+,是原始查询(q)和伪文档(d')的简单级联,由[SEP]分隔:q+=concat(q,[SEP],d')。我们可以看到,通过将原始查询“后退”到更抽象的问题,并使用抽象查询和原始查询进行检索,LLM提高了其遵循正确推理路径找到解决方案的能力。此外,还有一些方法,如查询路由、将查询分解为多个子问题等,它们不属于查询重写,但它们是预检索方法,这些方法将来将有机会引入。

2024-03-08 15:53:16 2816

原创 LLM(十一)| Claude 3:Anthropic发布最新超越GPT-4大模型

Claude 3 Opus不仅实现了近乎完美的回忆,准确率超过99%,而且在某些情况下,它甚至可以识别出评估本身的局限性,即“针”句子似乎是由人类人工插入到原始文本中的。如下所示,Claude 3模型显示出对请求的更细致理解,识别出真正的危害,并更少地拒绝无害的提示。我们的红团队评估[8](根据我们的白宫承诺和2023年美国行政命令进行)得出的结论是,这些模型目前存在的灾难性风险可能性可以忽略不计。Claude 3 Opus是我们最智能的模型,在高度复杂的任务中具有市场上最好的性能。

2024-03-05 17:47:13 1454

原创 LLM之RAG实战(二十七)| 如何评估RAG系统

总之,“人在回路反馈”不仅仅是收集人类的见解,而是创建一个动态的、适应性强的人工智能,可以微调其行为,更好地为用户服务。这种迭代过程确保了我们的RAG+LLM应用程序保持在最前沿,不仅提供了答案,而且提供了上下文感知的、微妙的响应,反映了对用户需求的真正理解。通过自动化流程,您可以确保您的评估不仅是彻底的,而且是高效的迭代,从而实现快速的优化和细化。例如,如果您的团队正在开发一个内部LLM,该LLM是针对您的特定领域和数据进行训练的,那么该过程通常需要开发人员、Prompt工程师和数据科学家的合作。

2024-02-21 00:57:37 2342

原创 LLM之RAG实战(二十六)| 使用llamaindex-cli无需一行代码即可实现RAG

您可以自定义llamaindex-cli以使用任何LLM模型,甚至是像Mixtral 8x7b到Ollama这样的本地模型,并且您可以构建更高级的查询和检索技术。更多详细资料,请查看文档[1]。现在,需要将工具指向一些可以摄取到本地矢量数据库中的本地文件。你甚至可以在你的终端内打开聊天界面!只需运行llamaindex-cli-rag-chat,并开始询问有关您获取的文件的问题。

2024-02-10 16:40:02 707

原创 LLM之LangChain(七)| 使用LangChain,LangSmith实现Prompt工程ToT

其次,为了建立确保正确性,我们人类的一种做法是在解决问题的每一步都进行测试,这确保了最终解决方案的可信度。本文统计了自回归语言模型在基于以前的token生成新token时,不会显式执行逻辑正确性检查,这限制了LLM纠正自身错误的能力。这是基于LLM的自治代理的典型情况,其中动态创建链并按顺序执行,同时多次轮询LLM。会话和状态历史记录(上下文)存储在内存模块中,这使代理可以参考思维过程的先前部分,并可能从历史记忆采取不同的路线。为了验证ToT技术的有效性,本文实现了一个基于ToT的代理来解决数独难题。

2024-02-10 16:08:53 1628

原创 LLM之RAG实战(二十五)| 使用LlamaIndex和BM25重排序实践

通过将BM25等最先进的排名算法与先进的重新排序技术和GPT-4或Mistral等尖端语言模型相集成,advanced RAG为处理复杂的查询任务提供了一个强大而灵活的解决方案。无论是在提高搜索引擎的准确性、提高聊天机器人中响应的相关性,还是在推进知识系统的前沿领域,高级RAG证明了人工智能驱动的语言理解和信息处理的不断发展和成熟。使用本地LLM和本地嵌入模型(Mistral)修改代码,在上面的代码中,只需注释现有的OpenAI GPT-4 LLM并使用下面的代码。之类的标准来调整排序。

2024-02-10 14:56:15 2447

原创 LLM之RAG实战(二十四)| LlamaIndex高级检索(三):句子窗口检索

上面的图片,相关的句子是红色的,然后中间的相关句子以及句子上面和下面窗口句子一起传递给LLM以执行其响应(RAG的生成部分)。我们可以控制相关句子周围的句子窗口的大小。当句子窗口很小时,LLM将生成的响应将具有较低的groundedness,因为上下文没有向LLM提供足够的信息——因此,它开始使用从训练数据中获得的现有知识,我们称之为幻觉。相反,如果窗口大小太大,则由于LLM被提供了大量信息作为其最终响应的基础,因此,它最终会偏离所提供的信息,因为它太大,无法用其中的所有这些信息组成响应。

2024-02-05 21:50:12 1503

原创 LLM之RAG实战(二十三)| LlamaIndex高级检索(二):父文档检索

在查询期间,我们对较小的块执行搜索,并将他们的父块作为上下文传递给LLM。首先检索与回答查询最相关的较小数据段,然后使用它们相关的父标识符访问并返回将作为上下文传递给LLM(大型语言模型)的较大父数据块。文件夹中,这样做的目的是为了保留我们从上一篇文章中构建的基本RAG管道的度量,方便进行性能比较,如果您不想这样做,则不必这样做。在上一篇文章中,我们介绍了基本RAG的构建,也探讨了RAG管道中从小到大检索技术的两种主要技术:父文档检索和句子窗口检索。您可以使用下面的代码来评估管道的性能。

2024-02-05 18:43:32 1431

原创 LLM之RAG实战(二十二)| LlamaIndex高级检索(一)构建完整基本RAG框架(包括RAG评估)

解决这一问题的一种方法是让较小的块与父块(本例中为原始的100字块)相关,这样LLM将有更多的上下文来作为答案的基础,而不是试图生成自己的幻觉信息。换言之,10个单词的每个较小组块将与100个单词的较大组块相关,并且当给定的较小组块(10个单词组块)被识别为与回答用户问题相关时,父组块(100个单词组组块)将被检索并被发送到LLM。在传统的RAG应用程序中,我们使用相同的数据块来执行搜索检索,并将相同的块传递给LLM,以使用它来合成或生成答案。可以注意到的一件事是,文档在一个块中,让我们将其拆分为多个块。

2024-02-05 16:40:25 2497

01.ChatGPT技术、国产化尝试和开源模型 -公众号-torchnlp.pdf

01.ChatGPT技术、国产化尝试和开源模型 -公众号-torchnlp.pdf

2023-02-15

《GAN:实战生成对抗网络》_刘梦馨.pdf

介绍了基本的GAN网络原理并且附有代码,主要以图像为主,介绍了一个扩展的GAN网络,比如DCGAN、SSGAN、StackGAN等等一些很有实用性的模型

2019-06-14

强化学习DQN

这本书详细介绍了强化学习的常用算法以及算法原理,从蒙特卡罗方法到Q_learning最终到DQN

2018-05-25

空空如也

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

TA关注的人

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