直达「 通往AGI之路 」飞书知识库 →
首页/问答列表/问答详情

如何用langchian加载本地模型

回答

要使用 Langchain 加载本地模型,您可以按照以下步骤进行:

  1. 加载所需的库和模块,例如 feedparse 用于解析 RSS 订阅源,ollama 用于在 Python 程序中跑大模型。使用 ollama 前请确保服务已经开启并下载好模型。
  2. 从订阅源获取内容,通过特定函数从指定的 RSS 订阅 URL 提取内容,若需接收多个 URL 稍作改动即可。然后使用专门的文本拆分器将长文本拆分成较小的块,并附带相关元数据,如标题、发布日期和链接,最终将这些文档合并成一个列表用于后续处理。
  3. 为文档内容生成向量,使用文本向量模型 bge-m3。从 hf 下载好模型后,假设放置在某个路径 /path/to/bge-m3,通过函数利用 FAISS 创建高效的向量存储。

在整个过程中,还需要了解以下相关知识:

  1. RAG(Retrieval Augmented Generation):大模型训练数据有截止日期,当需要依靠不在训练集中的数据时,可通过检索增强生成。RAG 应用包括文档加载(从多种来源加载文档,LangChain 提供 100 多种文档加载器)、文本分割(把文档切分为指定大小的块)、存储(将切分好的文档块嵌入并存储到向量数据库)、检索(通过检索算法找到与输入问题相似的嵌入片)、输出(把问题及检索出的嵌入片提交给 LLM 生成答案)。
  2. Ollama:支持多种大型语言模型,包括通义千问、Llama 2、Mistral 和 Gemma 等,易于使用,适用于 macOS、Windows 和 Linux 系统,支持 cpu 和 gpu,提供模型库,用户可下载不同模型,还支持自定义模型、提供 REST API 用于运行和管理模型及与其他应用程序集成,社区贡献丰富。安装完后确保后台服务已启动,可通过 ollama list 确认,通过 ollama 命令下载模型。
内容由 AI 大模型生成,请仔细甄别(powered by aily)

参考资料

本地部署资讯问答机器人:Langchain+Ollama+RSSHub 实现 RAG

加载所需的库和模块。其中,feedparse用于解析RSS订阅源ollama用于在python程序中跑大模型,使用前请确保ollama服务已经开启并下载好模型|从订阅源获取内容下面函数用于从指定的RSS订阅url提取内容,这里只是给了一个url,如果需要接收多个url,只要稍微改动即可。然后,通过一个专门的文本拆分器将长文本拆分成较小的块,并附带相关的元数据如标题、发布日期和链接。最终,这些文档被合并成一个列表并返回,可用于进一步的数据处理或信息提取任务。|为文档内容生成向量这里,我们使用文本向量模型bge-m3。https://huggingface.co/BAAI/bge-m3bge-m3是智源研究院发布的新一代通用向量模型,它具有以下特点:支持超过100种语言的语义表示及检索任务,多语言、跨语言能力全面领先(M ulti-Lingual)最高支持8192长度的输入文本,高效实现句子、段落、篇章、文档等不同粒度的检索任务(M ulti-Granularity)同时集成了稠密检索、稀疏检索、多向量检索三大能力,一站式支撑不同语义检索场景(M ulti-Functionality)从hf下载好模型之后,假设放置在某个路径/path/to/bge-m3,通过下面函数,利用FAISS创建一个高效的向量存储。|实现RAG

手把手教你本地部署大模型以及搭建个人知识库

因为利用大模型的能力搭建知识库本身就是一个RAG技术的应用。所以在进行本地知识库的搭建实操之前,我们需要先对RAG有一个大概的了解。以下内容会有些干,我会尽量用通俗易懂的描述进行讲解。我们都知道大模型的训练数据是有截止日期的,那当我们需要依靠不包含在大模型训练集中的数据时,我们该怎么做呢?实现这一点的主要方法就是通过检索增强生成RAG(Retrieval Augmented Generation)。在这个过程中,首先检索外部数据,然后在生成步骤中将这些数据传递给LLM。我们可以将一个RAG的应用抽象为下图的5个过程:文档加载(Document Loading):从多种不同来源加载文档。LangChain提供了100多种不同的文档加载器,包括PDF在内的非结构化的数据、SQL在内的结构化的数据,以及Python、Java之类的代码等文本分割(Splitting):文本分割器把Documents切分为指定大小的块,我把它们称为“文档块”或者“文档片”存储(Storage):存储涉及到两个环节,分别是:将切分好的文档块进行嵌入(Embedding)转换成向量的形式将Embedding后的向量数据存储到向量数据库检索(Retrieval):一旦数据进入向量数据库,我们仍然需要将数据检索出来,我们会通过某种检索算法找到与输入问题相似的嵌入片Output(输出):把问题以及检索出来的嵌入片一起提交给LLM,LLM会通过问题和检索出来的提示一起来生成更加合理的答案[heading2]文本加载器(Document Loaders)[content]文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理

本地部署资讯问答机器人:Langchain+Ollama+RSSHub 实现 RAG

1.支持多种大型语言模型:Ollama支持包括通义千问、Llama 2、Mistral和Gemma等在内的多种大型语言模型,这些模型可用于不同的应用场景。2.易于使用:Ollama旨在使用户能够轻松地在本地环境中启动和运行大模型,适用于macOS、Windows和Linux系统,同时支持cpu和gpu。3.模型库:Ollama提供了一个模型库,用户可以从中下载不同的模型。这些模型有不同的参数和大小,以满足不同的需求和硬件条件。Ollama支持的模型库可以通过https://ollama.com/library进行查找。4.自定义模型:用户可以通过简单的步骤自定义模型,例如修改模型的温度参数来调整创造性和连贯性,或者设置特定的系统消息。5.API和集成:Ollama还提供了REST API,用于运行和管理模型,以及与其他应用程序的集成选项。6.社区贡献:Ollama社区贡献丰富,包括多种集成插件和界面,如Web和桌面应用、Telegram机器人、Obsidian插件等。7.总的来说,Ollama是一个为了方便用户在本地运行和管理大型语言模型而设计的框架,具有良好的可扩展性和多样的使用场景。后面在捏Bot的过程中需要使用Ollama,我们需要先安装,访问以下链接进行下载安装。https://ollama.com/download/安装完之后,确保ollama后台服务已启动(在mac上启动ollama应用程序即可,在linux上可以通过ollama serve启动)。我们可以通过ollama list进行确认,当我们还没下载模型的时候,正常会显示空:可以通过ollama命令下载模型,目前,我下载了4个模型:几个模型简介如下:

其他人在问
SD大模型无法加载
SD 大模型无法加载可能有以下原因及解决方法: 1. LORA 方面: LORA 可以提炼图片特征,文件通常有几十上百兆,承载信息量远大于 Embedding。下载的 LORA 放在根目录的【……\\models\\Lora】文件夹下,使用时点击红色小书,找到 LORA 选项卡加载。 使用 LORA 时要注意看作者使用的大模型,一般需配套使用,还可能需要加入特定触发词,如盲盒 LORA 需加入“full body, chibi”等提示词。 2. Hypernetworks 方面: Hypernetworks 主要针对画风训练,文件下载后放在根目录的【…\\models\\hypernetworks】,使用时点击红色小书,找到 Hypernetworks 选项卡加载。 3. 模型下载与安装方面: 常用的模型下载网站有:。 下载模型后需放置在指定目录,大模型(Ckpt)放入【models\\Stablediffusion】,VAE 模型放入【models\\Stablediffusion】或【models\\VAE】目录(有的大模型自带 VAE 则无需再加),Lora/LoHA/LoCon 模型放入【extensions\\sdwebuiadditionalnetworks\\models\\lora】或【models/Lora】目录,Embedding 模型放入【embeddings】目录。模型类型可通过检测。 不会科学上网时,可在启动器界面直接下载模型,将下载的大模型放在根目录的【……\\models\\Stablediffusion】,在左上角模型列表中选择(看不到就点旁边蓝色按钮刷新)。 旁边的 VAE 相当于给模型增加提高饱和度的滤镜和局部细节微调,可在启动器里下载,放在根目录的【……\\models\\VAE】。 Embedding 功能相当于提示词打包,下载 Embedding 可在 C 站通过右上角筛选 Textual Inversion 找到,放在根目录下的【embeddings】文件夹里。 由于无法确定您大模型无法加载的具体原因,您可以根据上述内容逐一排查。
2024-11-12
知道源代码就可以加载AI吗?
一般来说,仅仅知道源代码并不一定能够直接加载 AI 。以 GPT4 的代码解释器为例,它是一种特定的模式,允许用户将文件上传到 AI,让 AI 编写和运行代码,并下载 AI 提供的结果。它可以用于执行程序、运行数据分析、创建各种文件、网页甚至游戏。但使用代码解释器进行分析存在未经培训的人使用的风险,许多测试专家对此印象深刻,甚至有论文表明它可能需要改变培训数据科学家的方式。如果您想了解更多关于如何使用它的详细信息,可以访问相关帖子。
2024-10-01
什么是加载别人训练的qwen模型?
加载别人训练的 qwen 模型通常涉及以下步骤: 1. 对于直接调用千问的某一个大模型,如“qwenmax”模型,在 COW 中需要更改 key 和 model。在 /root/chatgptonwechat/文件夹下,打开 config.json 文件进行更改,并添加"dashscope_api_key"。获取 key 可参考视频教程或图文教程。同时,需要“实名认证”后,这些 key 才可以正常使用,若对话出现“Access to mode denied.Please make sure you are eligible for using the model.”的报错,可能是未实名认证,可点击去,或查看自己是否已认证。 2. 部署大语言模型时,如下载 qwen2:0.5b 模型,对于不同的电脑系统操作有所不同。如果是 Windows 电脑,点击 win+R,输入 cmd 点击回车;如果是 Mac 电脑,按下 Command(⌘)+ Space 键打开 Spotlight 搜索,输入“Terminal”或“终端”,然后从搜索结果中选择“终端”应用程序。之后复制相关命令行并粘贴回车,等待自动下载完成。 3. 对于 Ollama 大模型部分,为避免没下载大模型带来的报错,需要先下载 ollama,网站:网站中复制代码,然后像特定操作一样打开 ComfyUi 根目录下的 custom_nodes\\ComfyUiOllamaYN 的文件路径,在上方的路径下输入 cmd,进入到下方的命令行,右键粘贴刚才的代码,等待下载即可。
2024-10-01
怎么加载开源模型?
加载开源模型的步骤如下: 1. 下载相关模型节省时间: Base Model DreamShaper XL Turbo: https://civitai.com/models/112902/dreamshaperxl LoRA:Envy Anime Watercolor XL 03:https://civitai.com/models/382684/envyanimewatercolorxl03 Alphonse Mucha Style:https://civitai.com/models/63072/alphonsemuchastyle 2. 打开以下链接放在后台: Ollama: https://ollama.com/ https://github.com/stavsap/comfyuiollama IPAdapter:https://github.com/cubiq/ComfyUI_IPAdapter_plus InstantID: https://github.com/cubiq/ComfyUI_InstantID PuLID:https://github.com/cubiq/PuLID_ComfyUI 3. 安装缺失节点: 下载过程中若发现 layer style 下不了,可重启重新下载,尝试修复。若仍不行,从官网重新下载到./custom_nodes 的文件夹下。 4. 从官网下载两个文件,点击左上角部分将加载器展开并选择官网下载好的两个模型。 5. 对于 GDino 加载器部分,在链接:处下载相关文件,然后检查文件是否齐全。对于 groundingdino 和 sams 配置是否齐全可以使用“抠头发.json”来检验。 6. Ollama 大模型部分: 首先,下载 ollama,网站: 其次,在网站中,复制代码。然后,打开 ComfyUi 根目录下的 custom_nodes\\ComfyUiOllamaYN 的文件路径,在上方的路径下输入 cmd,进入到命令行,右键粘贴刚才的代码,等待下载。
2024-10-01
controlnet一直加载怎么办
ControlNet 一直加载可能由以下原因导致及对应的解决方法: 1. 模型版本问题:确保 checkpoint、ContalNet 等所有需要加载模型的版本均基于 SD1.5,否则可能会报“超出索引”的错误。 2. 节点未安装完全:载入工作流后若出现爆红部分,可能是节点没下好、没下全。此时可以先全部更新,让所缺节点“显露出来”,然后安装好缺失的节点。 3. 参数设置问题:假如右下角的区域报红,那么就得根据报错信息相应调整一下左上角蓝色区域的 h、w 参数。 此外,ControlNet 还有一些新的功能和应用,例如: 1. 1.1 版本新出的 lineart 线稿提取功能,可先通过 invert 预处理将白底黑线处理成黑底白线,然后切换到 lineart 预处理器和模型进行生成。 2. mlsd 直线线条检测功能,一般用在建筑或者室内设计上,预处理器可提炼出室内的结构线。 ComfyUI 中的 ControlNet 高级控件: 在时间步和批处理潜变量之间调度 ControlNet 强度的节点,以及应用自定义权重和注意力掩码。这里的 ControlNet 节点完全支持滑动上下文采样。输入包括 positive(提示词(正面))、negative(提示词(负面))、control_net(加载了控制网络)、image(用于指导控制网络的图像)、mask_optional(应用于控制网络的注意力掩码)、timestep_kf(时间步关键帧)、latent_kf_override(潜在关键帧的覆盖)。
2024-08-29
大模型微调的目的和意义,会产生什么效果
大模型微调具有重要的目的、意义和效果,具体如下: 目的和意义: 提高模型在特定任务中的性能:可以输入更多示例,经过微调的模型在特定任务中会有更好的表现,虽然可能会失去一些通用性。 提高模型效率:实现更低的延迟和更低的成本。通过专门化模型可使用更小的模型,且只对输入输出对进行训练,能舍弃示例或指令,进一步改善延迟和成本。 适应特定领域需求:通用大模型在特定领域如法律或医学中的表现可能不理想,微调能优化模型在该领域的表现,使其更具专业性。 经济高效:从头开始训练具备自然语言处理能力的大模型需要大量时间和资源,小公司负担不起,微调可在现有模型基础上更经济、高效地适应新应用领域,节省成本并加快模型部署和应用速度。 效果: 优化模型参数:在特定领域的数据上训练模型,调整所有层的参数。 增强特定领域表现:使模型在特定领域的任务中表现更佳。 目前业界比较流行的微调方案是 PEFT(ParameterEfficient Fine Tuning),OpenAI 官方微调教程可参考:https://github.com/openai/openaicookbook/blob/main/examples/How_to_finetune_chat_models.ipynb
2024-11-23
图片生成图片的AI模型有哪些
目前比较成熟的图片生成图片(图生图)的 AI 模型主要有: 1. Artguru AI Art Generator:在线平台,能生成逼真图像,为设计师提供灵感,丰富创作过程。 2. Retrato:AI 工具,可将图片转换为非凡肖像,有 500 多种风格供选择,适合制作个性头像。 3. Stable Diffusion Reimagine:新型 AI 工具,通过稳定扩散算法生成精细、具细节的全新视觉作品。 4. Barbie Selfie Generator:专为喜欢梦幻童话风格的人设计的 AI 工具,能将上传的照片转换为芭比风格,效果出色。 此外,一些受欢迎的文生图工具也可用于图生图,例如: 1. DALL·E:由 OpenAI 推出,能根据输入的文本描述生成逼真的图片。 2. StableDiffusion:开源的文生图工具,可生成高质量的图片,支持多种模型和算法。 3. MidJourney:因高质量的图像生成效果和友好的用户界面设计而广受欢迎,在创意设计人群中尤其流行。 在 WaytoAGI 网站(https://www.waytoagi.com/category/104),可以查看更多文生图工具。 关于图生图的操作方式:在相关工具的首页有对话生图对话框,输入文字描述即可生成图片,不满意可通过对话让其修改。例如在吐司网站,图生图时能调整尺寸、生成数量等参数,高清修复会消耗较多算力建议先出小图。Flex 模型对语义理解强,不同模型生成图片的积分消耗不同,生成的图片效果受多种因素影响。国外模型对中式水墨风等特定风格的适配可能存在不足,可通过训练 Lora 模型改善。
2024-11-23
学习大模型的路径
学习大模型的路径主要包括以下几个步骤: 1. 收集海量数据:就像教孩子成为博学多才的人需要让其阅读大量书籍、观看纪录片、与人交谈一样,对于大模型,要收集互联网上的文章、书籍、维基百科条目、社交媒体帖子等各种文本数据。 2. 预处理数据:如同为孩子整理学习资料,AI 研究人员需要清理和组织收集到的数据,包括删除垃圾信息、纠正拼写错误、将文本分割成易于处理的片段。 3. 设计模型架构:如同为孩子设计学习计划,研究人员要设计大模型的“大脑”结构,通常是一个复杂的神经网络,例如 Transformer 架构,这种架构擅长处理序列数据如文本。 4. 训练模型:如同孩子开始阅读和学习,大模型开始“阅读”提供的数据,通过反复尝试预测句子中的下一个词,不断重复这个过程,逐渐学会理解和生成人类语言。 此外,关于大模型的底层原理,计算机科学家/工程师以大脑神经元细胞结构为灵感,在计算机上利用概览模型实现对人脑结构的模仿,不过计算机的神经元节点更为简单,本质上只是进行一些加法和乘法运算而后输出。大模型内部如同人类大脑是一个混沌系统,即使是 OpenAI 的科学家也无法解释其微观细节。
2024-11-22
现在哪几家的大模型支持通过手机视频多模态实时交流?
以下几家的大模型支持通过手机视频多模态实时交流: 1. PandaGPT:能够理解不同模式的指令并根据指令采取行动,包括文本、图像/视频、音频、热、深度和惯性测量单位。 2. VideoLLaMA:引入了多分支跨模式 PT 框架,使语言模型能够在与人类对话的同时处理给定视频的视觉和音频内容。 3. 视频聊天 GPT:专门为视频对话设计,能够通过集成时空视觉表示来生成有关视频的讨论。 4. NExTGPT:端到端、通用的 anytoany 多模态语言模型,支持图像、视频、音频、文本的自由输入输出。
2024-11-22
siri是不是使用大模型技术
Siri 目前并非使用大模型技术。苹果公司的 Siri 概念虽好,但由于技术限制,其表现未达到人工智能的水平,常被称为“人工智障”。不过,随着技术发展,未来可能会用大模型重新改造 Siri,将手机上的所有功能控制起来,使其成为真正的智能助理。例如,苹果公司在手机算力的芯片发展到能够支撑大模型上手机的情况下,可能会推出大模型的小数据量、专业的版本来替代 Siri。同时,苹果公司若 All in 手机,其大模型可能会是本地化的,以重视个人数据保护和隐私。
2024-11-21
sairi是不是使用大模型技术
Sora 是使用大模型技术的。周鸿祎认为 Open AI 训练这个模型会阅读大量视频,大模型加上 Diffusion 技术需要对世界进一步了解,学习样本以视频和摄像头捕捉到的画面为主。Sora 在训练数据上采用在原始尺寸上进行训练的策略,避免了传统 AI 对人为抽象的依赖。此外,Sora 还采用了一些数据预处理技术,如将视觉图块压缩成低维潜在表示,并将其排列成序列,注入噪声后输入扩散变换器的输入层,同时采用时空分块化来降低后续对时间信息建模的复杂性。这种对原始视频和图像特征的细腻处理标志着生成模型领域的重大进步。
2024-11-21