基于LlaMA 3 + LangGraph 在windows本地部署大模型 (一)
RAG 是未来人工智能应用的基石。大家并不是在寻求仅仅产生无意义反应的人工智能。而目标是人工智能能够从特定文档集中检索答案,理解查询的上下文,指导自己搜索其嵌入内容或在必要时诉诸网络搜索,评估自身响应的有效性以防止幻觉,并最终根据 提供的文档提供类似人类的答案
本文将剖析所提供的代码片段的每一行,以揭示 Langchain 的内部工作原理:
# Install modules
!pip install ollama langchain beautifulsoup4 chromadb gradio unstructured langchain-nomic langchain_community tiktoken langchainhub langgraph tavily-python gpt4all -q
!pip install "unstructured[all-docs]" -q
!ollama pull llama3
!ollama pull nomic-embed-textp
进行Langchain 及其相关功能所需的基本模块和库的安装。这些pip install命令确保安装所有必需的依赖项,同时ollama pull获取文本处理所需的特定的llama3模型和资源。
# Importing libraries
import os
import bs4
import getpass
import ollama
from typing import List
from typing_extensions import TypedDict
from langchain import hub
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import (
WebBaseLoader,
UnstructuredPDFLoader,
OnlinePDFLoader,
UnstructuredFileLoader,
PyPDFDirectoryLoader,
)
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import OllamaEmbeddings, GPT4AllEmbeddings
from langchain_core.output_parsers import StrOutputParser, JsonOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain.prompts import PromptTemplate, ChatPromptTemplate
from langchain_community.chat_models import ChatOllama
from langchain.retrievers.multi_query import MultiQueryRetriever
from langchain_community.tools.tavily_search import TavilySearchResults
这段代码是Python的导入库部分,用于引入多个模块和函数 :
-
import os
- 导入Python的标准库
os
,用于与操作系统进行交互,如文件和目录操作。
- 导入Python的标准库
-
import bs4
- 导入
BeautifulSoup
库,这是一个用于从HTML和XML文件中提取数据的库。
- 导入
-
import getpass
- 导入
getpass
模块,它提供了一个函数用于安全地获取用户的密码输入。
- 导入
-
import ollama
- 导入
ollama
模块,这 是一个特定的库,用于处理与ollama
相关的操作。
- 导入
-
from typing import List
- 从
typing
模块导入List
类型注解,用于类型检查和静态分析。
- 从
-
from typing_extensions import TypedDict
- 从
typing_extensions
模块导入TypedDict
,这是一个用于类型注解的高级特性,允许你定义字典的键和这些键的类型。
- 从
-
from langchain import hub
- 从
langchain
包中导入hub
模块,这可能是用于管理和交互LangChain生态系统的中心点。
- 从
-
from langchain.text_splitter import RecursiveCharacterTextSplitter
- 从
langchain
包中的text_splitter
模块导入RecursiveCharacterTextSplitter
类,这可能是用于文本分割的类。
- 从
-
from langchain_community.document_loaders import (WebBaseLoader, UnstructuredPDFLoader, OnlinePDFLoader, UnstructuredFileLoader, PyPDFDirectoryLoader)
- 从
langchain_community
包的document_loaders
模块中导入多个类,这些类用于加载不同类型的文档,如网页、PDF文件、未结构化文件和目录中的PDF文件。
- 从
-
from langchain_community.vectorstores import Chroma
- 从
langchain_community
包中的vectorstores
模块导入Chroma
类,这 是用于存储和管理向量的类。
- 从
-
from langchain_community.embeddings import OllamaEmbeddings, GPT4AllEmbeddings
- 从
langchain_community
包中的embeddings
模块导入OllamaEmbeddings
和GPT4AllEmbeddings
类,这些类用于生成文本的嵌入表示。
- 从
-
from langchain_core.output_parsers import StrOutputParser, JsonOutputParser
- 从
langchain_core
包中的output_parsers
模块导入StrOutputParser
和JsonOutputParser
类,这些类用于解析输出结果,支持字符串和JSON格式。
- 从
-
from langchain_core.runnables import RunnablePassthrough
- 从
langchain_core
包中的runnables
模块导入RunnablePassthrough
类,这 是用于处理可执行流程的类。
- 从
-
from langchain.prompts import PromptTemplate, ChatPromptTemplate
- 从
langchain
包中的prompts
模块导入PromptTemplate
和ChatPromptTemplate
类,这些类用于创建和管理对话提示模板。
- 从
-
from langchain_community.chat_models import ChatOllama
- 从
langchain_community
包中的chat_models
模块导入ChatOllama
类,这 是用于聊天交互的模型。
- 从
-
from langchain.retrievers.multi_query import MultiQueryRetriever
- 从
langchain
包中的retrievers
模块导入MultiQueryRetriever
类,这可能是用于从多个查询中检索信息的类。
- 从
-
from langchain_community.tools.tavily_search import TavilySearchResults
- 从
langchain_community
包中的tools.tavily_search
模块导入TavilySearchResults
类,这 是用于处理Tavily搜索结果的工具。
- 从
-
这段代码的目的是为一个涉及文本处理、文档加载、嵌入表示、输出解析、聊天模型和搜索结果处理的复杂应用程序设置所需的库和模块。
导入了Langchain运行所必需的各种库和模块。其中包括文本分割、文档加载、向量嵌入、输出解析等模块。每个导入语句都带来了对 NLP 任务的不同方面至关重要的功能。
大模型技术分享
《企业级生成式人工智能LLM大模型技术、算法及案例实战》线上高级研修讲座
模块一:Generative AI 原理本质、技术内核及工程实践周期详解
模块二:工业级 Prompting 技术内幕及端到端的基于LLM 的会议助理实战
模块三:三大 Llama 2 模型详解及实战构建安全可靠的智能对话系统
模块四:生产环境下 GenAI/LLMs 的五大核心问题及构建健壮的应用实战
模块五:大模型应用开发技术:Agentic-based 应用技术及案例实战
模块六:LLM 大模型微调及模型 Quantization 技术及案例实战
模块七:大模型高效微调 PEFT 算法、技术、流程及代码实战进阶
模块八:LLM 模型对齐技术、流程及进行文本Toxicity 分析实战
模块九:构建安全的 GenAI/LLMs 核心技术Red Teaming 解密实战
模块十:构建可信赖的企业私有安全大模型Responsible AI 实战
Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战
1、Llama开源模型家族大模型技术、工具和多模态详解:学员将深入了解Meta Llama 3的创新之处,比如其在语言模型技术上的突破,并学习到如何在Llama 3中构建trust and safety AI。他们将详细了解Llama 3的五大技术分支及工具,以及如何在AWS上实战Llama指令微调的案例。
2、解密Llama 3 Foundation Model模型结构特色技术及代码实现:深入了解Llama 3中的各种技术,比如Tiktokenizer、KV Cache、Grouped Multi-Query Attention等。通过项目二逐行剖析Llama 3的源码,加深对技术的理解。
3、解密Llama 3 Foundation Model模型结构核心技术及代码实现:SwiGLU Activation Function、FeedForward Block、Encoder Block等。通过项目三学习Llama 3的推理及Inferencing代码,加强对技术的实践理解。
4、基于LangGraph on Llama 3构建Responsible AI实战体验:通过项目四在Llama 3上实战基于LangGraph的Responsible AI项目。他们将了解到LangGraph的三大核心组件、运行机制和流程步骤,从而加强对Responsible AI的实践能力。
5、Llama模型家族构建技术构建安全可信赖企业级AI应用内幕详解:深入了解构建安全可靠的企业级AI应用所需的关键技术,比如Code Llama、Llama Guard等。项目五实战构建安全可靠的对话智能项目升级版,加强对安全性的实践理解。
6、Llama模型家族Fine-tuning技术与算法实战:学员将学习Fine-tuning技术与算法,比如Supervised Fine-Tuning(SFT)、Reward Model技术、PPO算法、DPO算法等。项目六动手实现PPO及DPO算法,加强对算法的理解和应用能力。
7、Llama模型家族基于AI反馈的强化学习技术解密:深入学习Llama模型家族基于AI反馈的强化学习技术,比如RLAIF和RLHF。项目七实战基于RLAIF的Constitutional AI。
8、Llama 3中的DPO原理、算法、组件及具体实现及算法进阶:学习Llama 3中结合使用PPO和DPO算法,剖析DPO的原理和工作机制,详细解析DPO中的关键算法组件,并通过综合项目八从零开始动手实现和测试DPO算法,同时课程将解密DPO进阶技术Iterative DPO及IPO算法。
9、Llama模型家族Safety设计与实现:在这个模块中,学员将学习Llama模型家族的Safety设计与实现,比如Safety in Pretraining、Safety Fine-Tuning等。构建安全可靠的GenAI/LLMs项目开发。
10、Llama 3构建可信赖的企业私有安全大模型Responsible AI系统:构建可信赖的企业私有安全大模型Responsible AI系统,掌握Llama 3的Constitutional AI、Red Teaming。
解码Sora架构、技术及应用
一、为何Sora通往AGI道路的里程碑?
1,探索从大规模语言模型(LLM)到大规模视觉模型(LVM)的关键转变,揭示其在实现通用人工智能(AGI)中的作用。
2,展示Visual Data和Text Data结合的成功案例,解析Sora在此过程中扮演的关键角色。
3,详细介绍Sora如何依据文本指令生成具有三维一致性(3D consistency)的视频内容。 4,解析Sora如何根据图像或视频生成高保真内容的技术路径。
5,探讨Sora在不同应用场景中的实践价值及其面临的挑战和局限性。
二、解码Sora架构原理
1,DiT (Diffusion Transformer)架构详解
2,DiT是如何帮助Sora实现Consistent、Realistic、Imaginative视频内容的?
3,探讨为何选用Transformer作为Diffusion的核心网络,而非技术如U-Net。
4,DiT的Patchification原理及流程,揭示其在处理视频和图像数据中的重要性。
5,Conditional Diffusion过程详解,及其在内容生成过程中的作用。
三、解码Sora关键技术解密
1,Sora如何利用Transformer和Diffusion技术理解物体间的互动,及其对模拟复杂互动场景的重要性。
2,为何说Space-time patches是Sora技术的核心,及其对视频生成能力的提升作用。
3,Spacetime latent patches详解,探讨其在视频压缩和生成中的关键角色。
4,Sora Simulator如何利用Space-time patches构建digital和physical世界,及其对模拟真实世界变化的能力。
5,Sora如何实现faithfully按照用户输入文本而生成内容,探讨背后的技术与创新。
6,Sora为何依据abstract concept而不是依据具体的pixels进行内容生成,及其对模型生成质量与多样性的影响。
举办《Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战》线上高级研修讲座
#《企业级生成式人工智能LLM大模型技术、算法及案例实战》线上高级研修讲座