让建站和SEO变得简单

让不懂建站的用户快速建站,让会建站的提高建站效率!

中国IT绿叶网

华泰金工 | 大模子腹地部署手册

发布日期:2024-12-28 08:39    点击次数:52

本文是大模子腹地部署的实用参考手册,详确先容大模子非常应用的腹地部署进程。对于大模子腹地部署,本文从前后端是否存在的角度将不同部署框架分为三类:前后端齐存在的大模子集成运行环境、仅含前端的对话式网页应用、仅含后端的腹地大模子运行库,分离以Ollama和LM Studio、ChatGPT Next Web与llama.cpp为例进行部署进程先容。对于大模子应用腹地部署,本文分离以AnythingLLM和Dify行动RAG应用框架和多智能体应用框架的代表,进行详确的部署施展及应用实例构建。

中枢不雅点

]article_adlist-->

东谈主工智能83:大模子腹地部署实用参考手册

本文是大模子腹地部署的实用参考手册,详确先容大模子非常应用的腹地部署进程。对于大模子腹地部署,本文从前后端是否存在的角度将不同部署框架分为三类:前后端齐存在的大模子集成运行环境、仅含前端的对话式网页应用、仅含后端的腹地大模子运行库,分离以Ollama和LM Studio、ChatGPT Next Web与llama.cpp为例进行部署进程先容。对于大模子应用腹地部署,本文分离以AnythingLLM和Dify行动RAG应用框架和多智能体应用框架的代表,进行详确的部署施展及应用实例构建。

大模子腹地部署:集成运行环境Ollama

Ollama是一个集成化的大模子腹地部署开源器具。Ollama守旧通过程小序件或Docker装配,同期提供了一个丰富的官方预置模子库,可通过简便敕令下载或部署大模子,对于非官方预置模子,Ollama守旧导入gguf方法或Safetensors方法的模子源文献,用户也可通过配置文献Modelfile进行个性化参数成立。此外,Ollama守旧通过终局API或Python API提供大模子调用接口,便于外部圭臬化调用。

大模子腹地部署:前后端兼备的LM Studio

LM Studio是一款在腹地运行和管束大模子的专科桌面应用,守旧加载gguf方法的大模子文献,而无需装配Python环境非常他任何组件。与Ollama比拟,LM Studio更恰当非专科东谈主士使用,举例其用户界面更为友好、模子选择更为浩荡、内置HTTPServer可一键启动从而便于调用测试等等。与此同期,LM Studio守旧丰富的大模子参数设定,包括多项高等参数和推理参数等,为用户提供了丰富的定制空间。

大模子腹地部署:跨平台ChatGPT Next Web与纯后端llama.cpp

与Ollama或LMStudio这类偏集成的部署有策动不同,ChatGPT Next Web与llama.cpp代表了更隧谈的前端或后端部署有策动。ChatGPT Next Web代表一类跨平台的对话式大模子轻页面应用,守旧Web、Linux、Windows、MacOS等多平台应用部署,中枢特质是轻量化。llama.cpp代表一类专注于大模子推理与量化本领的后端框架,适用于原始开发阶段,llama.cpp的中枢特质更在于本领性。

大模子应用腹地部署:AnythinLLM与Dify

若将大模子腹地部署看作念夯实地基,大模子应用的腹地部署则是楼宇援助。本文将大模子应用框架分为两类,RAG应用框架和多智能体应用框架,分离以AnythinLLM和Dify为例进行先容。AnythinLLM是一个开源的企业级文档聊天机器东谈主惩办有策动,用户可通过简便步履构建私东谈主的学问库应用。Dify则是一个全进程隐讳的专科级AI应用开发平台,连合了责任流、RAG、智能体、模子管束等海量功能,用户可基于Dify开发并发布功能复杂的大模子应用。

正    文

]article_adlist-->

01 导言

跟着大谈话模子在诸多领域的深刻应用,阴私性、安全性及应用本钱等问题是大模子企业级应用必须直面的挑战,大模子腹地部署可能是惩办这一挑战极为有用的路子。大模子腹地部署通过减少企业和用户对云劳动的依赖,达到裁汰本钱的恶果,同期显赫熏陶数据安全和阴私保护水平,便于进一步促进企业对合规性要求的谨守。与此同期,大模子腹地部署能以相对方便的方式提供品类稠密的大模子,举例镶嵌模子、聊天模子与多模态模子等,有用助力不同类型的大模子应用构建。

跟着大模子应用波涛的抓续膨胀,大模子在金融投研领域应用的浩荡性进一步突显了大模子腹地部署的价值。华泰金工在前期已发布多篇对于大模子在量化投研场景下的应用叙述,包括《GPT因子工场:多智能体与因子挖掘》(20240220)、《“GPT如海”:RAG与代码复现》(20240506)和《GPT因子工场2.0:基本面与高频因子挖掘》(20240926)。学界对大模子应用的探索相同浩荡且深刻,包括因子挖掘、财务分析、心思分析等角度。通过大模子腹地部署,大模子应用构建的本钱及运行速率可获取显赫熏陶,进而提高辩论效力。

除了大模子腹地部署以外,大模子应用框架相同是熏陶大模子应用开发方便性的利器。从应用框架表面的角度看,RAG(Retrieval-Augmented Generation,检索增强生成)和多智能体架构一直是大模子应用开发避无可避的参考框架,其具体含义在前文GPT如海及GPT因子工场叙述中均有详确先容,在此不为赘述。而RAG和多智能体的高等开源框架也罪孽累累,举例基于RAG的AnythingLLM、RAGFlow等,基于多智能体的Dify、AutoGPT、AutoGen等,这些框架为大模子应用开发提供了优质的惩办有策动参考,可在保证应用恶果的同期,大大熏陶开发效力。

本文是大模子腹地部署的实用参考手册,详确先容大模子非常应用的腹地部署进程。对于大模子腹地部署,本文从前后端是否存在的角度将不同部署框架分为三类:前后端齐存在的大模子集成运行环境、仅含前端的对话式网页应用、仅含后端的腹地大模子运行库,分离以Ollama和LM Studio、ChatGPT Next Web与llama.cpp为例进行部署进程先容。对于大模子应用腹地部署,本文分离以AnythingLLM和Dify行动RAG应用框架和多智能体应用框架的代表,进行详确的部署施展及应用实例构建。

02大模子腹地部署

比拟于生意大模子的API劳动,腹地部署大模子非论对于企业或个东谈主用户都具有无可替代的地位,一方面腹地部署大模子能有用裁汰使用本钱,另一方面大大提高了大模子应用的安全性和闲适性。纵览大模子千般开源部署框架,腹地部署有策动种类稠密,本文从前后端是否存在的角度将不同部署框架分为三类,分离为:前后端齐存在的大模子集成运行环境、仅含前端的对话式网页应用、仅含后端的腹地大模子运行库。下文将以Ollama和LM Studio为例讲解集成运行环境下的大模子腹地部署,以ChatGPT Next Web为例先容仅含前端的对话式网页应用的大模子腹地部署,终末以llama-cpp为例展示仅含后端的腹地大模子部署。

集成运行环境:Ollama

Ollama(Omni-Layer Learning Language AcquisitionModel)是一个专为在腹地环境中运行和定制大谈话模子而联想的开源器具。Ollama提供了一个疏漏而高效的接口,用于创建、运行和管束大谈话模子,同期还提供了一个丰富的模子库,可跋扈集成到千般应用圭臬中。Ollama基于Go谈话开发而成,守旧大模子实独揽载并存储在腹地计较机,同期提供API接口,从而收场大模子的腹地部署。

Ollama装配

Ollama装配有两种可选路子:(1)官网守旧macOS、Linux和Windows系统的下载和装配。用户可笔据所使用的诱骗类型,从官网凯旋下载对应系统的装配包进行腹地装配,装配收场后启动Ollama,在终局中凯旋使用ollama create或ollama run指示即可创建或下载大谈话模子;(2)由于官方提供了Docker镜像 ollama/ollama,用户也可通过Docker完成装配,不外由于Docker存在一层非凡封装,使用CPU/GPU需要不同的配置:

CPU模式:

凯旋运行以下指示:docker run -d-v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

NVIDIA GPU模式:

领先参考NVIDIA官网(https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)装配容器器具包,然后运行以下敕令使用GPU模式启动容器:docker run -d --gpus=all -vollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Ollama运行官方预置大模子

Ollama官方提供的模子库包含诸多性能出色的开源大模子,用户不错笔据我方的需求选择合适的模子。

笔据本文实际教养,腹地部署大模子通过Ollama运行时,运行7B的模子RAM应至少为8GB,运行13B的模子RAM应至少为16GB,运行33B的模子RAM应至少为32GB。然则,由于条记本电脑的处理器速率和算力每每难以企及专科劳动器,基于条记本腹地部署大模子时运行速率一般较慢,由于条记本电脑的CPU和GPU需要非凡责任来知足需求,大模子的介入或将进一步导致电脑超负荷运转,性能收缩。

因此,在算力受限时,选择模子时需在模子恶果与运行效力间作念出选择:举例,咱们在实际中发当今MacBookAir(M1,8GB)运行8B大小的模子(Llama3)时,出现昭着卡顿;而运行2B大小的Gemma时则较为洞开。因此,进行腹地大模子部署时要在诱骗限制下(如RAM,GPU等硬件条目)优选大模子。

Ollama在使用便易之余也提供了个性化设定空间,用户可通过修改大模子配置文献Modelfile进行自定制成立,举例改写system prompt:

使用指示ollama pull+模子称呼;

在默许文献夹中创建新的Modelfile并进行裁剪,举例在Modelfile中写入以下内容:将模子脚色设定为超等马里奥,并提高temperature值为1从而增多模子生成回复的立时性。

Ollama导入其他开源大模子

若用户需要自行创建模子,Ollama守旧导入gguf方法或Safetensors方法的模子源文献。gguf(GPT-GeneratedUnified Format)是一种针对大范围机器学习模子联想的二进制方法文献程序,它主要针对快速加载和保存模子进行了优化,使其好像高效地进行推理,从而销耗更低的资源。而Safetensors方法不包含扩充代码,因此在加载模子时无需进行反序列化操作,从而收场更快的加载速率。

上述两种方法的大谈话模子均可在Huggingface网站(https://huggingface.co/)或镜像网站(https://hf-mirror.com)下载至腹地,通过创建Modelfile完成大模子导入(需使用FROM指示指向要导入模子的文献旅途,适用于gguf方法大模子的指示为FROM/path/to/file.gguf,适用于Safetensors方法大模子的指示为FROM/path/to/safetensors/directory),随后即可创建新的模子并运行。

对于非上述两种方法但可调理为gguf的开源大模子,可将模子数据先调理为gguf方法后再使用创建Modelfile的方式导入大模子。方法调理步履稠密,本文仅以llama.cpp为例,具体步履如下:

准备调理器具:运行

gitclone https://github.com/ggerganov/llama.cpp.git,克隆llama.cpp款式到腹地,准备装配所需的依赖包;

配置环境:参加llama.cpp文献夹场所目次,使用pip install -r requirements.txt敕令装配llama依赖包;

使用convert.py器具:使用convert.py将模子调理为gguf方法。运行convert.py时,需要指定包含模子文献的目次。举例,要是有一个名为llama3的PyTorch模子,不错通过运行python llama.cpp/convert.py llama3 --outfile llama3.gguf--outtype f16将其调理为具有FP16权重的gguf模子。

构建llama.cpp应用圭臬:在llama.cpp款式中,创建一个新的build目次,然后参加该目次。在这里,不错编译llama应用圭臬,以便进一步处理或使用调理后的模子文献。

Ollama交互方式

尽管Ollama属于集成式大模子腹地运行环境,但Ollama并未提供系统界面,对部署后的模子交互方便性产生挑战。Ollama守旧页面交互和API交互两种交互款式,前者使用门槛低,更恰当用户日常使用,后者则更具开发方便性。

基于此,Ollama腹地部署完成后,为其赋予界面可能是裁汰用户使用门槛、扩展大模子应用场景的必经之路。笔据界面应用类型分类,咱们将Ollama界面配置分为网页应用和桌面应用两种。本文提供3个使用方便且爱戴细致的界面应用配置有策动。

除了上述赋予界面的交互有策动,API交互亦然Ollama这类集成运行环境的中枢交互款式,包括腹地终局API交互和Python API交互两大类。腹地终局API交互及Python API交互敕令如下。

Ollama并发

对于大模子而言,并发(Concurrency)是多个苦求在宏不雅上同期扩充的才调,这并不虞味着这些任务在物理上同期进行,而是它们在时刻上被分割成小部分,况兼由操作系统或扩充环境快速轮流扩充,从而给用户一种同期进行的感受。合理使用并发不错显赫熏陶资源利用率和系统婉曲量,从而在一定进程上熏陶推理效力。Ollama0.2以上版块守旧并默许启用了并发功能,这意味着Ollama解锁了两项功能,多苦求并行和多模子对话。多苦求并行只需要在处理每个苦求时非凡占用极少许的存储空间,即可收场同期处理多个聊天对话、同期处理文献的多个部分,以及同期处理多用户的单次对话。多模子对话则意味着可将镶嵌模子与聊天模子同期导入内存,熏陶了RAG类应用的运行效力,除此以外,也可收场其他大小模子的并行处理。

集成运行环境:LMStudio

LM Studio是一款用于在腹地运行和管束大谈话模子的桌面应用,守旧加载一齐gguf方法的大模子,无需装配Python环境非常他稠密组件。LMStudio加载模子、启用GPU、可视化界面操作与模子监控都较为简便。

与Ollama等其他腹地部署大模子的器具比拟,LMStudio具备诸多上风:其用户界面友好且使用方便,模子选择更为浩荡,模子管束自动化(可自动下载、更新和配置环境),守旧多模子chat(便于对比不同模子的恶果),内置HTTP Server守旧OpenAI API、方便开发东谈主员进行腹地模子部署和API测试等。

LM Studio装配及配置

LM Studio官网提供了mac(M1/M2/M3)、Linux和Windows系统中下载装配LMStudio的方式,可参考LM Studio官网(https://lmstudio.ai/)。成立模子保存旅途时,由于大模子文献较大,提出选择较大硬盘文献夹保存模子文献。

值得强调的是,LM studio仅守旧gguf方法原文献,模子下载装配既不错凯旋在LM Studio中下载,也不错在Huggingface官网(http://huggingface.co)或镜像网站(https://hf-mirror.com)手动下载大模子源文献装配,下载收场后存入已成立的模子保存旅途(新建三层文献夹结构,举例models/publisher/repository,将模子文献放入终末一层内,选择my models,变嫌模子加载目次为models即可)。可通过Local models folder稽察模子目次和配置信息。

装配中可能存在以下潜在问题:

成立模子Preset:手动装配时,可能不存在匹配的模子配置,咱们选择相似的模子即可,如基于Llama模子的变体选择Llama的配置,一般是可用的。

无法联网或搜索:一种惩办有策动是,关闭LMStudio,用vs code等肖似器具,大开LM-Studio装配文献夹(如Windows: C:\Users**\AppData\Loca\LM-Studio或Mac: /Users/a/.cache/lm-studio),然后在文献夹下统统文献中查找替换,把一齐找到的huggingface.co替换为hf-mirror.com,再大开LM Studio点击resume即可。

LM Studio交互方式:对话界面

由于LM Studio自带交互界面,对于非开发需求的个东谈主用户而言,不错凯旋使用其交互界面,免去界面部署责任。LMStudio的模子交互守旧单模子对话和多模子对话,左侧器具栏的AI chat tab提供了与单模子对话的路子,具体步履如下:

加载模子:选择念念进行对话的模子,在最上方点击下拉选项进行加载;

入手对话:输入问题,入手与采取的模子对话。

为了提高运算效力和推理质料,LM Studio守旧手动调理参数,包括高等参数成立和推理参数成立,两者均不错在模子对话框的右侧成立页面以手动输入的方式调理。具体参数及参数含义如下表所示。

LM Studio左侧器具栏的Playground tab提供了与多模子同期对话的路子,具体使用步履与单模子对话肖似:

加载多个模子:在最上方下拉按钮中选择念念要同期加载的多个模子(需确保主机内存阔气);

入手对话:右下方对话栏中,输入问题后,多个模子将按规章申诉,便于对比。

LM Studio交互方式:API接口

与Ollama肖似,LMStudio也为用户提供了腹地API接口,其中发送请乞降禁受回复的款式与OpenAIAPI款式相易,使用时仅需将代码顶用到OpenAI url处指向localhost:PORT即可。具体步履如下:

大开LM Studio中的Local Server tab,下拉菜单采取要运行的模子,选择StartServer(要关闭劳动器则选择Stop Server);

使用该提供的API接口示例代码如下(PORT可在左侧“Server Port”处稽察);

界面左上方可不雅察显存与CPU占用情况,可视机器负载情况更换模子;

通过“Embedding Model Settings”菜单,可选择并运行文本镶嵌模子,通过POST/v1/embeddings接口进诈骗用。

仅含前端的对话式网页应用:ChatGPTNext Web

ChatGPT Next Web是基于 OpenAI API 的对话式网页应用,守旧 GPT3,GPT4 &Gemini Pro模子。ChatGPT Next Web提供轻量化(~5MB)的跨平台客户端(Linux/Windows/MacOS)、完备的Markdown守旧(LaTeX公式、Mermaid进程图等)、用心联想的UI(响应式联想,守旧深色模式等)、极快的首屏加载速率(页面大小仅约100kb)。ChatGPTNext Web保证用户阴私安全,将所稀有据保存在用户浏览器腹地。ChatGPT Next Web具有预制脚色功能(“面具”,即对模子提前成立好的脚色设定,模子会以某种特定的方式/作风进行回复,方便创建、共享和调试个性化对话),海量的内置prompt列表,自动压缩高下文聊天纪录(在简约Token的同期守旧超长对话)。

ChatGPT Next Web部署

ChatGPT Next Web提供多平台的应用文献(Linux/Windows/MacOS),凯旋从官方Github仓库中下载即可(https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web)。要是需要将ChatGPT Next Web部署为劳动器款式向外界败露端口,不错通过Vercel和Docker两种方式收场。

Vercel是一个面向当代Web应用圭臬的天下托管平台,它提供了一系列强大的功能,包括零配置部署、自动化构建和部署进程等。Vercel的贪图是简化前端开发者的责任进程,让他们好像专注于编写代码,而无须过多体恤部署和运维方面的问题。因此,对于特定款式而言,比拟更常见的Docker部署,使用Vercel进行部署不错有用简化部署进程。

仅含后端的腹地大模子运行库:llama.cpp

llama.cpp是一个用于大模子推理的C++库,主要利用C++重写了Llama的推理代码,将Meta开源大谈话模子Llama进行量化,其最大的优点在于不需要GPU,在腹地CPU上即可部署。

llama.cpp腹地部署

llama.cpp的腹地部署相同守旧Windows、Linux和MacOS系统,但比拟Linux和MacOS,llama.cpp在Windows 上的部署略繁琐。

部署步履:

下载llama.cpp

git clone https://github.com/ggerganov/llama.cpp

编译llama.cpp

Linux和MacOS系统下的编译可在llama.cpp目次下凯旋输入make指示完成;对于Windows用户而言,需选拔官方提供的软件w64devkit进行编译。下载最新版块的w64devkit.exe(https://github.com/skeeto/w64devkit/releases),装配并运行,之后输入以下指示完成编译:

cd llama.cpp

make

下载llama.cpp守旧的模子:llama.cpp守旧调理的模子有PyTorch的.pth,huggingface的.safetensors,以及ggmlv3,此步履下载需要的模子至llama.cpp的models目次下,举例git clone https://huggingface.co/4bit/Llama-2-7b-chat-hf./models/Llama-2-7b-chat-hf

转机为gguf方法(也可凯旋从huggingface下载gguf方法的模子,放在models目次下):先通过指示pip install -rrequirements.txt装配依赖,再通过以下指示调理模子:

python convert.py./models/Llama-2-7b-chat-hf --vocabtype spm````params = Params(n_vocab=32000, n_embd=4096, n_mult=5504, n_layer=32,n_ctx=2048, n_ff=11008, n_head=32, n_head_kv=32, f_norm_eps=1e-05, f_rope_freq_base=None,f_rope_scale=None, ftype=None,path_model=PosixPath('models/Llama-2-7b-chat-hf'))``Loading vocab file'models/Llama-2-7b-chat-hf/tokenizer.model', type 'spm'``...``Wrotemodels/Llama-2-7b-chat-hf/ggml-model-f16.ggu

选择量化精度,扩充模子量化:quantize指示提供各式精度的量化,扩充指示时修改相应参数即可,举例:

./quantize./models/Llama-2-7b-chat-hf/ggml-model-f16.gguf./models/Llama-2-7b-chat-hf/ggml-model-q4_0.gguf Q4_0````llama_model_quantize_internal: modelsize= 12853.02 MB``llama_model_quantize_internal:quant size=3647.87 MB``llama_model_quantize_internal:hist: 0.036 0.015 0.025 0.039 0.056 0.076 0.096 0.112 0.118 0.112 0.096 0.0770.056 0.039 0.025 0.021

加载并启动模子:运行./main二进制文献即可

此外,llama-cpp-python提供了llama.cpp库的python绑定,比拟于llama.cpp使用愈加方便,装配llama-cpp-python仅需运行指示pip installllama-cpp-python,并下载gguf方法的模子,具体操作与llama.cpp一致。其基本对话和Server调用的代码使用示举例下:

部署有策动对比

本文尝试从多个维度对比Ollama、LMStudio、ChatGPT Next Web和llama.cpp这四种大模子腹地部署有策动。领先,从前后端是否存在的角度,Ollama和LMStudio属于集成运行环境,前端和后端兼备;ChatGPT Next Web是对话式网页应用,仅含前端;llama.cpp是基于C++的大模子运行库,仅含后端。

从用户体验角度看,Ollama因其开源秉性和敕令行界面,有一定的本领使用门槛,但通过赋予界面的非凡操作,可有用裁汰因清寒图形界面而带来的使用难度;而LMStudio则通过其图形用户界面,为非本领用户提供了更友好的体验。ChatGPT Next Web行动隧谈的前端有策动,强调了其界面的好意思不雅和丝滑交互体验,提供了极快的首屏加载速率和流式响应,守旧 Markdown以及多国谈话。而llama.cpp行动一个专注于性能优化的有策动,尽管在易用性方面不如其他有策动直不雅,却在本领社区和开发场景中受到高度评价。

在大模子兼容度方面,LM Studio和llama.cpp对特殊用的开源大模子具有高度的兼容度,导入特殊用模子操作疏漏方便,仅限制模子方法为gguf;Ollama尽管守旧特殊用模子的导入,但需借助Modelfile收场,操作相对繁复;ChatGPTNext Web现时则不守旧GPT3、GPT4及 Gemini Pro 模子以外的大模子导入。

在大模子定制性方面,Ollama具备高度自界说的才调,允许用户笔据需求调理模子;LM Studio在定制性方面提供了均衡,既知足专科需求也斟酌到用户友好度;llama.cpp守旧大模子量化;ChatGPT Next Web在模子性能的定制上莫得突出上风。在部署和装配方面,Ollama和ChatGPT Next Web在这一维度具有逾越上风,前者部署方便,且对硬件诱骗的需求较低,此后者守旧一键装配且比拟之下更轻量。

03大模子应用腹地部署

对于基于大模子的投研领域应用构建而言,对腹地部署大模子附加一站式的应用框架可能是大模子投研应用的合理形态。从框架对应的表面来看,大模子应用框架可分为两类,一类是基于RAG(Retrieval-Augmented Generation,检索增强生成)的应用框架,包括AnythingLLM和RAGFlow等;另一类则是专注于多智能体架构的应用框架,包括Dify、AutoGPT、AutoGen等。咱们将以AnythingLLM和Dify为例,分离对上述两类大模子应用框架伸开先容。

RAG应用框架:AnythingLLM

AnythingLLM是Mintplex Labs开发的一款不错与任何内容聊天的私东谈主ChatGPT,是高效、可定制、开源的企业级文档聊天机器东谈主惩办有策动。守旧多种文档类型(PDF、TXT、DOCX等),具有对话和查询两种聊天模式。

AnythingLLM腹地部署

AnythingLLM装配到腹地有两种版块可供选择,一种是Docker版块,另一种是Desktop版块。Docker版块与Desktop版块功能存在各别,对比如下表。从对比拆伙上看,Desktop版AnythingLLM似乎功能更为受限。

由于Desktop凯旋下载程小序件即可装配,较为疏漏,以下将展示Docker版块的部署有策动。在确保已装配Docker的前提下,于终局中输入dockerpull mintplexlabs/anythingllm。在完成拉取最新的AnythingLLM镜像后,对于Windows系统而言,需以管束员权限在PowerShell中运行以下敕令:

$env:STORAGE_LOCATION="$HOME\Documents\anythingllm";`If(!(Test-Path $env:STORAGE_LOCATION)){New-Item $env:STORAGE_LOCATION -ItemType Directory}; `

If(!(Test-Path"$env:STORAGE_LOCATION\.env")){New-Item"$env:STORAGE_LOCATION\.env"-ItemType File}; `

docker run -d -p 3001:3001 `

--cap-add SYS_ADMIN `

-v"$env:STORAGE_LOCATION`:/app/server/storage" `

-v"$env:STORAGE_LOCATION\.env:/app/server/.env" `

-eSTORAGE_DIR="/app/server/storage" `

mintplexlabs/anythingllm;

如上述敕令夸耀文献挂载失败,可在C:\Users\Admin\Documents\anythingllm文献夹中自行构建.env敕令后再交运行上述敕令。

在Linux或Mac系统下,需运行以下敕令:

exportSTORAGE_LOCATION=$HOME/anythingllm && \

mkdir -p$STORAGE_LOCATION && \

touch"$STORAGE_LOCATION/.env" && \

docker run -d -p3001:3001 \

--cap-add SYS_ADMIN\

-v${STORAGE_LOCATION}:/app/server/storage \

-v${STORAGE_LOCATION}/.env:/app/server/.env \

-eSTORAGE_DIR="/app/server/storage" \

mintplexlabs/anythingllm

上述配置完成后,在网页端输入http://localhost:3001即可在探听腹地AnythingLLM。该平台守旧接入腹地部署的Ollama、LM Studio等大模子集成运行环境,可笔据本色需求完成接入。

AnythingLLM应用实例:私东谈主学问库

AnythingLLM为用户提供了方便的私东谈主学问库构建路子,本文以此功能构建一个应用实例供读者参考。咱们以AnythingLLMDesktop版为例,凯旋将80余篇华泰金工东谈主工智能系列辩论的PDF文献上传至文档库(My Documents)中,并将统统文档挪动到现时责任区(Workspace),随后点击“Save and Embed”按钮,AnythingLLM将利用已设定的词镶嵌模子将文档转为词向量存至向量数据库中。除聊天大模子为Ollama部署的Qwen2以外,其余均为默出嫁置:词镶嵌模子为AnythingLLM Embedder,向量数据库为LanceDB。

向量数据库构建收场后,意味着以华泰金工东谈主工智能系列辩论叙述为主体的私东谈主学问库搭建完成。咱们可凯旋在对话框输入问题,大模子将以私东谈主学问库为参考回答接洽问题。举例下图中盘问“请简要先容华泰金工的GPT因子工场2.0辩论”,大模子好像相对简略准确地将该篇辩论进行回顾并输出。

多智能体应用框架:Dify

比拟于Anything LLM,Dify行动全进程隐讳的专科AI应用开发平台,更恰当具备工程开发才调的专科用户,存在一定使用门槛。Dify界面连合了责任流、RAG、智能体、模子管束等丰富功能。中枢功能主要包括以下几点:

责任流(Workflow):在画布上构建适用于大模子的AI责任进程;

全面的模子守旧:与数百种私有/开源大模子以及数十种推理提供商和自托管惩办有策动无缝集成,涵盖GPT系列、通义千问、ChatGLM以及任何与OpenAI API兼容的模子;

Prompt IDE:用于制作领导、比较模子性能以及向基于聊天的应用圭臬添加其他功能(如文本转语音)的直不雅界面;

检索增强生成(RAG):浩荡的RAG功能,涵盖从文档摄入到检索的全进程,守旧从PDF、PPT和其他常见文献中索求文本;

智能体(Agent):可基于LLM函数调用或ReAct领导框架界说智能体,并可为智能体添加设定或自界说器具。Dify为智能体提供了丰富的内置器具,如谷歌搜索、Stable Diffusion和WolframAlpha等;

LLMOps:随时刻监视和分析应用圭臬日记和性能。不错笔据坐褥数据和标注抓续更正领导、数据集和模子;

API接口:统统Dify的功能都带有相应的API,因此不错跋扈地将Dify集成到我方的业务逻辑中。

Dify腹地部署

笔据Dify官方文档,在部署Dify之前,请确保腹地硬件知足最低系统要求:CPU >= 2 Core,RAM>= 4GB。部署Dify的通用有策动是使用Docker进行部署,在运行装配敕令之前,请确保主机上已装配Docker和DockerCompose。领先,使用git敕令克隆Dify源代码至腹地:git clone https://github.com/langgenius/dify.git;随后,循序扩充以下敕令:

参加Dify 源代码的Docker目次

cd dify/docker

复制环境配置文献

cp .env.example .env

启动Docker容器

docker compose up -d

查验是否统统容器都正常运行

docker compose ps

终末,在浏览器中输入http://localhost即可探听dify。

要是运转情景下成立管束员账户时,界面无法正常夸耀,且容器中postgres并未正常运行,可通过以下步履惩办:领先运行docker volume create --name=pgdata,接着在docker-compose.yaml文献中修改postgresdb的volumes为pgdata:/var/lib/postgresql/data,并在文献尾部volumes中增多pgdata: external: true,终末再行部署即可(规章运行docker compose down与dockercompose up -d两项敕令)。

Dify相同守旧接入Ollama,仅需在成立-模子供应商-Ollama中填入下图所示信息即可。

其中,基础 URL每每填写http://:11434(需填写可探听到的Ollama劳动地址);若Dify为Docker部署,提出填写局域网IP地址,如:http://192.168.1.100:11434 或 Docker宿主机IP地址(宿主机IP可通过在终局输入ping host.docker.internal获取),如:http://172.17.0.1:11434;若为腹地源码部署,可填写 http://localhost:11434。

Dify应用实例:翻译助手责任流

Dify为用户提供了海量的应用模板守旧,在构建应用时,可凯旋从模板中构建,大大裁汰了应用构建难度。下图为Dify提供的部分应用模板展示。

咱们基于“Book Translation”应用模板构建一个疏漏的翻译助手应用。对于该责任流,如下图所示,领先利用一个代码(CODE)节点将输入文本切分红块,以保证大模子的翻译质料,随后将文本块送入迭代(ITERATION)节点进行轮回翻译,每一次翻译均需经历4步处理,即识别术语(IDENTIFYTERMS)→初次翻译(1ST TRANSLATION)→问题(PROBLEMS)→二次翻译(2ND TRANSLATION),终末利用模板(TEMPLATE)节点将翻译内容汇总,以完成翻译任务。

咱们将华泰金工前期叙述《Ten Points to Watch forCSI A500》(20240911)第一段摘抄输入该翻译助手,经上述责任流后可凯旋获取汉文翻译拆伙,如下图所示。全体翻译恶果细致,但仍有熏陶空间,翻译恶果可能主要取决于大模子自己才调及责任流架构联想。

04回顾

本文尝试提供一份澄澈易用的大模子腹地部署参考手册。对于大模子腹地部署,本文从前后端是否存在的角度将不同部署框架分为三类:前后端齐存在的大模子集成运行环境、仅含前端的对话式网页应用、仅含后端的腹地大模子运行库,并一一以Ollama和LM Studio、ChatGPT Next Web与llama.cpp为例进行详确的部署进程先容,同期选择多项维度对比不同部署有策动的优纰漏。

对于大模子应用腹地部署,本文从框架表面启程,基于RAG与多智能体架构对大模子应用框架进行分类,RAG应用框架包括AnythingLLM和RAGFlow等开源框架,多智能体应用框架包括Dify、AutoGPT、AutoGen等。本文分离以AnythingLLM和Dify为例,进行框架部署进程的先容和谨慎事项施展,同期尝试构建私东谈主学问库与翻译助手应用实例,从恶果上看,模子输出质料较高。值得强调的是,大模子应用的恶果不仅取决于应用进程搭建,举例智能体和责任流联想,也受限于大模子自己才调。

回顾上述部署有策动,本文有以下不雅点:

对于大模子腹地部署,从用户体验与功能完备性上看,Ollama与LM Studio最值得推选。Ollama具有一定的本领使用门槛,但通过赋予界面的非凡操作,可有用裁汰因清寒图形界面而带来的使用难度;而LMStudio则通过其完善的图形用户界面,为非本领用户提供了更友好的体验。

行动纯后端的大模子腹地部署有策动,llama.cpp更专注于性能优化。应用触及推理加快或大模子量化时,可体恤肖似于llama.cpp的大模子推理运行库。

开源大模子应用框架是探索大模子应用时既具方便性、本钱也较为便宜的参考有策动。以Dify为例,不错通过简便的操作与官方模板参照快速构建应用,进而高效收场大模子应用构建的尝试。

风险领导:

大模子是海量数据(维权)考验获取的居品,输出准确性可能存在风险;不同大模子恶果存在各别,需严慎选择;大模子腹地部署框架闲适性可能受到版块切换的影响。

接洽研报

]article_adlist-->

研报:《金工:大模子腹地部署手册》2024年10月07日

分析师:林晓明 S0570516010001 | BPY421

分析师:何康    S0570520080004 | BRB318

接洽东谈主:沈洋   S0570123070271

体恤咱们

]article_adlist-->

华泰证券辩论所国内站(辩论Portal)

https://inst.htsc.com/research

探听权限:国内机构客户

华泰证券辩论所国外站

https://intl.inst.htsc.com/research

探听权限:好意思国及香港金控机构客户

添加权限请接洽您的华泰对口客户司理

]article_adlist-->

免责声明

]article_adlist-->

▲朝上滑动有瞻念看

本公众号不是华泰证券股份有限公司(以下简称“华泰证券”)辩论叙述的发布平台,本公众号仅供华泰证券中国内地辩论劳动客户参考使用。其他任何读者在订阅本公众号前,请自行评估禁受接洽推送内容的稳妥性,且若使用本公众号所载内容,务必寻求专科投资参谋人的素质及解读。华泰证券不因任何订阅本公众号的行径而将订阅者视为华泰证券的客户。

本公众号转发、摘编华泰证券向其客户已发布辩论叙述的部天职容及不雅点,完好意思的投资主见分析应以叙述发布当日的完好意思辩论叙述内容为准。订阅者仅使用本公众号内容,可能会因清寒对完好意思叙述的了解或清寒接洽的解读而产生透露上的歧义。如需了解完好意思内容,请具体参见华泰证券所发布的完好意思叙述。

本公众号内容基于华泰证券以为可靠的信息编制,但华泰证券对该等信息的准确性、完好意思性实时效性不作任何保证,也分歧证券价钱的涨跌或市集走势作笃定性判断。本公众号所载的主见、评估及展望仅响应发布当日的不雅点和判断。在不同期期,华泰证券可能会发出与本公众号所载主见、评估及展望不一致的辩论叙述。

在职何情况下,本公众号中的信息或所表述的主见均不组成对任何东谈主的投资提出。订阅者不应单独依靠本订阅号中的内容而取代自身孤独的判断,应自主作念出投资决策并自行承担投资风险。订阅者若使用本费力,有可能会因清寒解读劳动而对内容产生透露上的歧义,进而变成投资蚀本。对依据或者使用本公众号内容所变成的一切后果,华泰证券及作家均不承担任何法律牵扯。

本公众号版权仅为华泰证券统统,未经华泰证券书面许可,任何机构或个东谈主不得以翻版、复制、发表、援用或再次分发他东谈主等任何款式骚扰本公众号发布的统统内容的版权。如因侵权行径给华泰证券变成任何凯旋或障碍的蚀本,华泰证券保留根究一切法律牵扯的权益。华泰证券具有中国证监会核准的“证券投资参谋”业务经历,筹算许可证编号为:91320000704041011J。

]article_adlist-->

(转自:华泰证券金融工程)

海量资讯、精确解读,尽在新浪财经APP

相关资讯

服务项目

TOP
友情链接:

Powered by 中国IT绿叶网 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2021 365建站器 版权所有