一、工具介绍
1、ollama
Ollama 是一个开源框架,是一个本地LLM部署平台,支持多种热门开源大模型。 主要特点和功能概述:
- 简化部署:Ollama 目标在于简化在 Docker 容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。
- 轻量级与可扩展:作为轻量级框架,Ollama 保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。
- API支持:提供了一个简洁的 API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。
- 预构建模型库:包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源。
官网地址: ollama.com/ 同类型产品:LocalAI, LM studio
2、LangChain
LangChain 是一个开源编排框架,用于使用大语言模型 (LLM) 开发应用程序。LangChain 的工具和 API 在基于 Python 和 Javascript 的库中使用,可以简化构建聊天机器人和虚拟代理等 LLM 驱动型应用程序的过程。LangChain 本质上是一个 Python 和 Javascript 的抽象库,代表使用语言模型所需的常见步骤和概念。这些模块化组件(如函数和对象类)充当生成式 AI 程序的构建块。它们可以“链接”在一起来创建应用程序,最大限度地减少执行复杂 NLP 任务所需的代码量和深入理解。尽管 LangChain 的抽象方法可能会限制专家程序员精细定制应用程序的程度,但 LangChain 使专家和新手能够快速进行实验和原型设计。可以阅读以下文章了解详细信息:什么是 LangChain (LLM编程框架) ?| IBM
3、Flowise
LangChain 本质上是一个 Python 和 Javascript 的抽象库,代表使用语言模型所需的常见步骤和概念。这些模块化组件(如函数和对象类)充当生成式 AI 程序的构建块。它们可以“链接”在一起来创建应用程序,最大限度地减少执行复杂 NLP 任务所需的代码量和深入理解。尽管 LangChain 的抽象方法可能会限制专家程序员精细定制应用程序的程度,但 LangChain 使专家和新手能够快速进行实验和原型设计。
二、windows环境搭建
1、安装ollama
- 下载ollama,Download Ollama on Windows 下载windows版本;
- 安装ollama,直接一步一步安装完成即可;
- 安装llama3.1大模型:
- 打开cmd命令行工具,输入:ollama list,查看有哪些LLM可用;
- ollama支持的大模型安装指令如下:
- ollama常用指令:
- ollama list:显示模型列表
- ollama show:显示模型的信息
- ollama pull:拉取模型
- ollama push:推送模型
- ollama cp:拷贝一个模型
- ollama rm:删除一个模型
- ollama run:运行一个模型
- 如果需要通过IP地址访问ollama(否则只能通过localhost或127.0.0.1访问),需要设置环境变量,具体如下图
2、langchain安装
- 首先要安装python环境;
- 再通过pip install langchain进行安装
- 简单试下是否安装成功
from langchain.llms import Ollama
ollama = Ollama(base_url='http://localhost:11434',model="llama2")
print(ollama("why is the sky blue"))
安装Flowise
这里推荐使用docker安装,npm安装会报很多nodejs组件依赖的错误,需要花比较多的时间排查。
- 安装docker desktop,这里可能会报虚拟化相关的错误,需要进bios开启虚拟化支持;下载地址:www.docker.com/ 需要科学上网
- 下载Flowise源码,github地址:git clone github.com/FlowiseAI/F…
- 进入源码的docker目录,将.env.example复制为.env文件,然后运行命令:docker compose up -d
- 安装成功后,浏览器访问地址:http://localhost:3000
- 构建第一个RAG应用,具体流程图如下:
-
Recursive Character Text Splitter:分词器
-
Text File:从一个文本文件加载数据
-
Ollama Embeddings:使用ollama部署的大模型llama3对上一步的文本数据进行向量化处理,设置ollama的访问url及模型名称,这里是llama3
-
In-Memory Vector Store:一个内存的向量数据库
-
ChatOllama:大模型节点,需要设置ollama访问url及模型名称,这里是llama3
-
Conversational Retrieval QA Chain:将用户输入提示词&向量化数据提交LLM,LLM返回结果
-
这里上传了一个自我介绍的文本,这些信息LLM应该是不具备的。内容如下:
我是朱亮,我是一名程序员,软件工程师和架构师 -
运行结果如下: