LangGraph(一)——LangGraph简介 一、LangGraph LangGraph官方介绍:https://blog.langchain.dev/langgraph/ 1.1 简介 LangGraph 是构建在 LangChain 之上的,并且与 LangChain 生态系统完全互操作。它主要通过引入一种简单的方式创建循环图。这在创建Agent Runtimes通常非常有用。 1.2 动机 通过LCEL(LangChain Expr 2024-08-13 LangGraph #LLM #LLM学习笔记 #LangGraph
LangChain(七)——Callback LangChain模块架构图 [1] 一、必不可缺的 Callback 回调系统 Callback 回调系统让我们可以连接到 LLM 应用的各个阶段,这对于日志记录、监控、流传输等非常有用。LangChain提供了一些Callback处理程序,在langchain/callbacks模块中找到。 1.1 最基本的Callback StdOutCallbackHandler是一个最基本的处理程序, 2024-08-06 LangChain #LLM #LLM学习笔记 #LangChain
LangChain(六)——Agents LangChain模块架构图 [1] 一、智能体架构:Agent 1.1 什么是智能体(Agent) 将大语言模型作为一个推理引擎。给定一个任务,智能体自动生成完成任务所需的步骤,执行相应动作(例如选择并调用工具),直到任务完成。 Agent 继承了 Chain 的所有能力 Chain 的能力构成了 Agent 的 “推理链” 能力基础 Agent 的执行器(Executor)就是基于 L 2024-07-29 LangChain #LLM #LLM学习笔记 #LangChain
LangChain(五)——Chanis LangChain模块架构图 [1] 一、Chains 1.1 LLM链 将大语言模型(LLM)和提示(Prompt)组合成链。这个大语言模型链非常简单,可以让我们以一种顺序的方式去通过运行提示并且结合到大语言模型中。 123456789101112from langchain_openai import ChatOpenAIfrom langchain.prompts import ChatP 2024-07-22 LangChain #LLM #LLM学习笔记 #LangChain
LangChain(四)——Memory LangChain模块架构图 [1] 一、记忆封装:Memory 简介 Memory模块可以帮助保存和管理历史聊天消息,以及构建关于特定实体的知识。这些组件可以跨多轮对话储存信息,并允许在对话期间跟踪特定信息和上下文。 对话缓存储存 (ConversationBufferMemory) 对话缓存窗口储存 (ConversationBufferWindowMemory) 对话令牌缓存储存 (C 2024-07-15 LangChain #LLM #LLM学习笔记 #LangChain
LangChain(三)——Data Connection LangChain模块架构图 [1] 一、Retrieval简介 Document Loaders:从不同的源加载文档 Document Transformers:拆分文档,删除冗余文档等 Embedding Models:获取结构化文本并将其转化为向量数据 Vector Stores:存储和搜索向量数据 Retrievers:从Vector Stores和其他数据源查询数据 Indexing 2024-07-06 LangChain #LLM #LLM学习笔记 #LangChain
LangChain(二)——Model I/O LangChain模块架构图 [1] 一、Model I/O 简介 Model I/O三元组 PromptTemple:模板化、动态选择和管理模型输入 Language Models:通过通用接口调用LLM OutputParser:从LLM输出中提取信息 数据流:Prompt->Model->Output Parser 二、模型API 2.1 OpenAI模型封装 12345 2024-06-28 LangChain #LLM #LLM学习笔记 #LangChain
LangChain(一)——LangChain简介 一、LangChain简介 1.1 什么是LangChain LangChain 是用于构建大模型应用程序的开源框架,它由模块化的组件构成,可单独使用也可链式组合实现端到端应用。 LangChain核心组件 Model I/O 封装 Models:大语言模型封装,包含LLMs和Chat Models(一般基于 LLMs,但按对话结构重新封装) PromptTemple:提示词模板 Output 2024-06-21 LangChain #LLM #LLM学习笔记 #LangChain
LlamaIndex(十一)——LlamaIndex Settings 一、Configuring Settings Settings是 LlamaIndex 流水线/应用中索引和查询阶段常用的资源集合。可以使用它来设置全局配置。局部配置(transformations、LLM、Embedding模型)可以直接传递到使用它们的接口。Settings`是一个简单的单例对象,贯穿于整个应用程序。每当没有提供特定组件时,设置对象就会被用来提供全局默认值。 1.1 LLM L 2024-06-15 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(十)——LlamaIndex Observability 一、Instrumentation简介 instrumentation模块(可在 llama-index v0.10.20 及以后的版本中使用)旨在取代旧的回调模块。在弃用期间,LlamaIndex 库支持两种模块,以便为您的 LLM 应用进行监控。然而,在所有现有集成迁移到新的监控模块后,LlamaIndex将不再支持回调模块。因此callback的文档就不看了,关注instrumentatio 2024-06-07 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(九)——LlamaIndex Evaluation 一、简介 LLM开发中,评估和基准测试是至关重要的概念。为了提高一个LLM应用(例如RAG、agent)的性能,必须有一种方法来衡量它。LlamaIndex提供了关键模块来衡量生成结果的质量。还提供关键模块来衡量检索质量。 Response Evaluation: 响应是否与检索到的上下文相匹配?它是否也与查询相匹配?它是否与参考答案或指南相匹配? Retrieval Evaluation: 检 2024-05-31 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(八)——LlamaIndex Agents 一、Agents简介 数据Agents是 LlamaIndex 中由 LLM 支持的knowledge workers,可以通过read和write功能智能地对数据执行各种任务。它们有能力做到以下几点: 对不同类型的数据(非结构化、半结构化和结构化)执行自动搜索和检索。 以结构化方式调用任何外部服务 API。 他们可以立即处理响应,也可以索引/缓存该数据以供将来使用。 存储对话历史记录。 使用上 2024-05-22 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(七)——LlamaIndex Quering Querying是LLM应用中最重要的部分。 一、Query Engine 查询引擎是一个通用的接口,允许对数据提出问题。查询引擎接收自然语言查询,并返回一个丰富的响应。它通常是通过检索器建立在一个或多个索引之上。可以组合多个查询引擎以实现更高级的功能。 1.1 使用示例 从索引构建查询引擎: 12query_engine = index.as_query_engine()response = q 2024-05-11 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(六)——LlamaIndex Storing 一、简介 LlamaIndex 提供了一个高级接口,用于提取、索引和查询您的外部数据。在底层,LlamaIndex 还支持可互换的存储组件,允许您自定义: Document stores: 存储提取的文档(即,Node 对象)的地方 Index stores: 存储索引元数据的地方 Vector stores: 存储向量的地方 Graph stores: 存储知识图谱的地方(即 Knowledg 2024-05-01 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(五)——LlamaIndex Indexing Index是一种数据结构,它允许我们快速检索与用户查询相关的上下文。对于 LlamaIndex 来说,它是RAG的核心基础。Indexes是由Documents构建的。它们用于构建Query Engines和Chat Engines,这使得可以在数据上进行问题和答案以及聊天。Indexes将数据存储在Node对象中(这些对象代表原始文档的块),并暴露了一个Retriever接口,该接口支持额外的配 2024-04-23 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(四)——LlamaIndex Loading LlamaIndex 中数据提取的关键是加载和转换。 加载文档后,您可以通过转换和输出节点来处理它们。 一、文档和节点 文档和节点对象是 LlamaIndex 中的核心抽象。文档可以处理很多类型的数据源,例如,PDF,API输出或者数据库检索。通过LlamaIndex可以手动构建数据,也可以通过数据加载器自动创建。默认情况下,文档会存储文本以及一些其他属性: metadata-可以附加到文本的注 2024-04-18 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(三)——LlamaIndex Prompt 一、LlamaIndex Prompt prompt是赋予大型语言模型(LLMs)表达能力的基本输入。LlamaIndex 使用prompt来构建索引、进行插入、在查询时执行遍历,以及合成最终答案。 LlamaIndex提供了一些prompts,还有chat-specific prompts。 用户也可以提供自己的提示模板,以进一步定制框架的行为。定制的最佳方法是复制上述链接中的默认提示,并将其作 2024-04-07 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(二)——LlamaIndex Models 一、LLMs LLM是LlamaIndex的核心组件。它们可以作为独立的模块使用,也可以插入到LlamaIndex的其他核心模块中(例如索引、检索器、查询引擎)。在响应合成步骤中始终使用LLM(例如检索之后)。根据所使用的索引类型,LLM也可能在索引构建、插入和查询遍历过程中使用。 LlamaIndex提供了一个统一的接口来定义LLM模块,无论是来自OpenAI、Hugging Face还是Lan 2024-03-25 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
LlamaIndex(一)——LlamaIndex简介 一、LlamaIndex简介 LlamaIndex是一个用于构建上下文增强型大型语言模型(LLM)应用程序的框架。上下文增强指的是任何将大型语言模型应用到私有或特定领域数据上的用例。一些流行的用例包括: 问答聊天机器人(通常被称为RAG系统,代表“检索增强生成(Retrieval-Augmented Generation)”) 文档理解和抽取 能够执行研究和采取行动的自主Agent Llama 2024-03-13 LlamaIndex #LLM #LLM学习笔记 #LlamaIndex #Agent
RAG 一、RAG 1.1 RAG是什么 RAG(Retrieval Augmented Generation)顾名思义,通过检索的方法来增强生成模型的能力。简而言之,RAG 结合了搜索技术和大语言模型的提示功能,即模型根据搜索算法找到的信息作为上下文来回答查询问题。无论是查询还是检索的上下文,都会被整合到发给大语言模型的提示中。 1.2 为什么要有 RAG LLM 固有的局限性 LLM 的知识不是实时 2024-02-26 LLM #LLM #LLM学习笔记 #RAG
manjaro安装中文输入法 一、安装 rime 1.1 删除Fcitx4 1sudo pacman -Rs $(pacman -Qsq fcitx) 1.2 安装fcitx5 1sudo pacman -S fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk fcitx5-chinese-addons fcitx5-material-color kcm-fcitx5 fcitx5-lu 2024-02-20 Tech #manjaro
Function Calling 一、Function Calling 1.1 Function Calling是什么 Function calling是可以让我们用自己的函数当作调用chatgpt的参数,在函数中我们可以做任何事情,例如获取网络上的数据,查询自己的数据库等。 1.2 为什么要有 Function Calling ChatGPT是一个通用的大语言模型,当面对某些个性化的用户需求,比如“当前的天气情况”“某数据库的查 2024-02-05 LLM #LLM #LLM学习笔记 #Function Calling
Prompt Engineering 一、什么是提示工程(Prompt Engineering) 提示工程也叫「指令工程」。 Prompt 就是你发给大模型的指令,比如「讲个笑话」、「用 Python 编个贪吃蛇游戏」、「给男/女朋友写封情书」等 貌似简单,但意义非凡 「Prompt」 是 AGI 时代的「编程语言」 「Prompt 工程」是 AGI 时代的「软件工程」 「提示工程师」是 AGI 时代的「程序员」 学会提示工程, 2024-01-31 LLM #LLM #prompt #LLM学习笔记
manjaro安装TensorRT-LLM部署Qwen1.5-7B大模型 一、安装docker [1] 1.1 安装docker 1234sudo pacman -S dockersudo systemctl enable dockersudo systemctl start dockersudo pacman -S docker-compose 1.2 下载libnvidia-container [2] 和nvidia-container-toolkit [3]并安装 2024-01-20 LLM #LLM #manjaro #TensorRT-LLM #Qwen
manjaro安装cuda,cudnn,tensorrt,pytorch,tensorflow 一、安装驱动 1.1 安装NVIDIA驱动 12sudo pacman -S nvidianvidia-smi 可以看到 1.2 CUDA cuDnn安装 1sudo pacman -S cuda cudnn 二、安装 Anaconda 1sudo pacman -Sy libxau libxi libxss libxtst libxcursor libxcomposite libxdamage 2024-01-10 Tech #manjaro #cuda #cudnn #pytorch #tensorflow