Flowise+LocalAI部署--Agent应用

这篇具有很好参考价值的文章主要介绍了Flowise+LocalAI部署--Agent应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

概念

Flowise

Flowise 是一个开源的用户界面可视化工具,它允许用户通过拖放的方式来构建自定义的大型语言模型(LLM)流程。
Flowise基于LangChain.js,是一个非常先进的图形用户界面,用于开发基于LLM的应用程序。Flowise还支持Docker和NodeJS,可以在本地或者在容器中运行。如果有需求修改相关代码,可以本地部署运行。

Langflow

Langflow 是一个用于创建和运行语言模型流程的网络应用程序。
Langflow是一个动态图,每个节点都是一个可执行单元¹。它的模块化和交互式设计促进了快速的实验和原型制作。Langflow还提供了一种无代码的AI生态系统,可以无缝地与您的团队熟悉和喜欢的工具和堆栈集成。

Localai

LocalAI是一个免费的、开源的OpenAI替代品。它是一个与OpenAI API规范兼容的REST API,允许你在本地或者在本地网络上使用消费级硬件运行大型语言模型(LLM)。它支持多个与ggml格式兼容的模型系列。

1.Flowise安装部署

git

https://github.com/FlowiseAI/Flowise

官网

FlowiseAI - Build LLMs Apps Easily

docker部署

[root@master docker]# git clone https://github.com/FlowiseAI/Flowise.git
[root@master langchain_wk]# ls
Flowise
[root@master langchain_wk]# cd Flowise/
[root@master Flowise]# ls
artillery-load-test.yml  babel.config.js     CODE_OF_CONDUCT-ZH.md  CONTRIBUTING-ZH.md  Dockerfile  LICENSE.md    packages   README-ZH.md
assets                   CODE_OF_CONDUCT.md  CONTRIBUTING.md        docker              images      package.json  README.md  turbo.json
[root@master Flowise]# clear
[root@master Flowise]# ls
artillery-load-test.yml  babel.config.js     CODE_OF_CONDUCT-ZH.md  CONTRIBUTING-ZH.md  Dockerfile  LICENSE.md    packages   README-ZH.md
assets                   CODE_OF_CONDUCT.md  CONTRIBUTING.md        docker              images      package.json  README.md  turbo.json
[root@master Flowise]# cd docker/
[root@master docker]# ls
docker-compose.yml  Dockerfile  README.md
[root@master docker]# ls -alh
总用量 24K
drwxr-xr-x 2 root root 4.0K 11月 21 13:21 .
drwxr-xr-x 9 root root 4.0K 11月 21 13:21 ..
-rw-r--r-- 1 root root  988 11月 21 13:21 docker-compose.yml
-rw-r--r-- 1 root root  441 11月 21 13:21 Dockerfile
-rw-r--r-- 1 root root  675 11月 21 13:21 .env.example
-rw-r--r-- 1 root root 1.3K 11月 21 13:21 README.md
[root@master docker]# cp .env.example .env
[root@master docker]# vim .env
[root@master docker]#

修改.env配置文件

PORT=3090
DATABASE_PATH=/root/.flowise
APIKEY_PATH=/root/.flowise
SECRETKEY_PATH=/root/.flowise
LOG_PATH=/root/.flowise/logs

# NUMBER_OF_PROXIES= 1

# DATABASE_TYPE=postgres
# DATABASE_PORT=""
# DATABASE_HOST=""
# DATABASE_NAME="flowise"
# DATABASE_USER=""
# DATABASE_PASSWORD=""

# FLOWISE_USERNAME=user
# FLOWISE_PASSWORD=1234
# FLOWISE_SECRETKEY_OVERWRITE=myencryptionkey
DEBUG=true
# LOG_LEVEL=debug (error | warn | info | verbose | debug)
# TOOL_FUNCTION_BUILTIN_DEP=crypto,fs
# TOOL_FUNCTION_EXTERNAL_DEP=moment,lodash

# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
# LANGCHAIN_API_KEY=your_api_key
# LANGCHAIN_PROJECT=your_project

docker-compose启动

[root@master docker]# docker-compose up -d
WARNING: The FLOWISE_USERNAME variable is not set. Defaulting to a blank string.
WARNING: The FLOWISE_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The DATABASE_TYPE variable is not set. Defaulting to a blank string.
WARNING: The DATABASE_PORT variable is not set. Defaulting to a blank string.
WARNING: The DATABASE_HOST variable is not set. Defaulting to a blank string.
WARNING: The DATABASE_NAME variable is not set. Defaulting to a blank string.
WARNING: The DATABASE_USER variable is not set. Defaulting to a blank string.
WARNING: The DATABASE_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The FLOWISE_SECRETKEY_OVERWRITE variable is not set. Defaulting to a blank string.
WARNING: The LOG_LEVEL variable is not set. Defaulting to a blank string.
WARNING: Found orphan containers (supabase-rest, supabase-studio, supabase-edge-functions, supabase-auth, realtime-dev.supabase-realtime, supabase-imgproxy, supabase-storage, supabase-meta, supabase-db, supabase-kong) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Pulling flowise (flowiseai/flowise:)...
latest: Pulling from flowiseai/flowise
96526aa774ef: Pull complete
3130715204cf: Pull complete
b06de8ab1c4f: Pull complete
90ef3ffc5156: Pull complete
018fd88f5f14: Pull complete
e405bd0a6e44: Pull complete
6678d95b4ce0: Pull complete
f0b6d32b7e1f: Pull complete
754763d6e863: Pull complete
db86a2a89c8a: Pull complete
Digest: sha256:348211f573335adca3fdcfa1d62345eadee65e19cc3d83301f96b0359f31dc03
Status: Downloaded newer image for flowiseai/flowise:latest
Creating docker_flowise_1 ... done
[root@master docker]# docker-compose logs -f
Attaching to docker_flowise_1
flowise_1  | 2023-11-21 05:30:05 [INFO]: Starting Flowise...
flowise_1  | 2023-11-21 05:30:06 [INFO]: ⚡️ [server]: Flowise Server is listening at 3090
flowise_1  | 2023-11-21 05:30:06 [INFO]: 📦 [server]: Data Source has been initialized!

flowise 部署,大模型,aiagent,nlp,自然语言处理,langchain,ai这里不多做flowise的教程,可以参考相关官方文档。

2.Localai 部署

注意:这里默认用的是cpu,localai主推用CPU,LocalAI具有Rust后端,内存效率高,体积小,并且后端模型部署gRpc,至于gpu部署,需要不同的nvidia cuda版本,可根据自己的cuda版本拉取相关镜像,然后重新build镜像;

build镜像会非常,最好使用代理或更换国内相关系统镜像源,rust源,go源,pip源;

# docker images | grep nvcr.io/nvidia/cuda
nvcr.io/nvidia/cuda                                                        11.2.1-cudnn8-devel-ubuntu20.04   b74328ac303f   5 months ago    7.72GB
nvcr.io/nvidia/cuda                                                        11.4.2-cudnn8-devel-ubi8          260b885046fb   5 months ago    9.76GB
nvcr.io/nvidia/cuda                                                        11.4.0-cudnn8-devel-centos7       32f9c23be6b7   5 months ago    9.69GB
nvcr.io/nvidia/cuda                                                        11.4.2-cudnn8-runtime-ubi8        16112a9b5038   5 months ago    3.89GB

这里用的11.2.1-cudnn8-devel-ubuntu20.04;

GPU的部署和编译相对比较麻烦,可参考官方文档。

GPU编译方法

make BUILD_TYPE=cublas build

启动方法

# ./local-ai --debug=true --f16=true --autoload-galleries=true

3:17PM INF Starting LocalAI using 4 threads, with models path: /build/models
3:17PM INF LocalAI version: v1.40.0-22-g991ecce (991ecce00462db955934ec1293954b7d61c58ad2)
3:17PM DBG Model: bert-embeddings (config: {PredictionOptions:{Model:bert-MiniLM-L6-v2q4_0.bin Language: N:0 TopP:0 TopK:0 Temperature:0 Maxtokens:0 Echo:false Batch:0 F16:false IgnoreEOS:false RepeatPenalty:0 Keep:0 MirostatETA:0 MirostatTAU:0 Mirostat:0 FrequencyPenalty:0 TFZ:0 TypicalP:0 Seed:0 NegativePrompt: RopeFreqBase:0 RopeFreqScale:0 NegativePromptScale:0 UseFastTokenizer:false ClipSkip:0 Tokenizer:} Name:bert-embeddings F16:false Threads:0 Debug:false Roles:map[] Embeddings:true Backend:bert-embeddings TemplateConfig:{Chat: ChatMessage: Completion: Edit: Functions:} PromptStrings:[] InputStrings:[] InputToken:[] functionCallString: functionCallNameString: FunctionsConfig:{DisableNoAction:false NoActionFunctionName: NoActionDescriptionName:} FeatureFlag:map[] LLMConfig:{SystemPrompt: TensorSplit: MainGPU: RMSNormEps:0 NGQA:0 PromptCachePath: PromptCacheAll:false PromptCacheRO:false MirostatETA:0 MirostatTAU:0 Mirostat:0 NGPULayers:0 MMap:false MMlock:false LowVRAM:false Grammar: StopWords:[] Cutstrings:[] TrimSpace:[] ContextSize:0 NUMA:false LoraAdapter: LoraBase: LoraScale:0 NoMulMatQ:false DraftModel: NDraft:0 Quantization: MMProj: RopeScaling: YarnExtFactor:0 YarnAttnFactor:0 YarnBetaFast:0 YarnBetaSlow:0} AutoGPTQ:{ModelBaseName: Device: Triton:false UseFastTokenizer:false} Diffusers:{PipelineType: SchedulerType: CUDA:false EnableParameters: CFGScale:0 IMG2IMG:false ClipSkip:0 ClipModel: ClipSubFolder:} Step:0 GRPC:{Attempts:0 AttemptsSleepTime:0} VallE:{AudioPath:}})
3:17PM DBG Model: thebloke__wizardlm-13b-v1-0-uncensored-superhot-8k-ggml__wizardlm-13b-v1.0-superhot-8k.ggmlv3.q4_k_m.bin (config: {PredictionOptions:{Model:wizardlm-13b-v1.0-superhot-8k.ggmlv3.q4_K_M.bin Language: N:0 TopP:0.7 TopK:80 Temperature:0.2 Maxtokens:0 Echo:false Batch:0 F16:false IgnoreEOS:false RepeatPenalty:0 Keep:0 MirostatETA:0 MirostatTAU:0 Mirostat:0 FrequencyPenalty:0 TFZ:0 TypicalP:0 Seed:0 NegativePrompt: RopeFreqBase:0 RopeFreqScale:0 NegativePromptScale:0 UseFastTokenizer:false ClipSkip:0 Tokenizer:} Name:thebloke__wizardlm-13b-v1-0-uncensored-superhot-8k-ggml__wizardlm-13b-v1.0-superhot-8k.ggmlv3.q4_k_m.bin F16:false Threads:0 Debug:false Roles:map[] Embeddings:false Backend: TemplateConfig:{Chat:wizardlm-chat ChatMessage: Completion:wizardlm-completion Edit: Functions:} PromptStrings:[] InputStrings:[] InputToken:[] functionCallString: functionCallNameString: FunctionsConfig:{DisableNoAction:false NoActionFunctionName: NoActionDescriptionName:} FeatureFlag:map[] LLMConfig:{SystemPrompt: TensorSplit: MainGPU: RMSNormEps:0 NGQA:0 PromptCachePath: PromptCacheAll:false PromptCacheRO:false MirostatETA:0 MirostatTAU:0 Mirostat:0 NGPULayers:0 MMap:false MMlock:false LowVRAM:false Grammar: StopWords:[] Cutstrings:[] TrimSpace:[] ContextSize:1024 NUMA:false LoraAdapter: LoraBase: LoraScale:0 NoMulMatQ:false DraftModel: NDraft:0 Quantization: MMProj: RopeScaling: YarnExtFactor:0 YarnAttnFactor:0 YarnBetaFast:0 YarnBetaSlow:0} AutoGPTQ:{ModelBaseName: Device: Triton:false UseFastTokenizer:false} Diffusers:{PipelineType: SchedulerType: CUDA:false EnableParameters: CFGScale:0 IMG2IMG:false ClipSkip:0 ClipModel: ClipSubFolder:} Step:0 GRPC:{Attempts:0 AttemptsSleepTime:0} VallE:{AudioPath:}})
3:17PM DBG Extracting backend assets files to /tmp/localai/backend_data

 ┌───────────────────────────────────────────────────┐
 │                   Fiber v2.50.0                   │
 │               http://127.0.0.1:8080               │
 │       (bound on host 0.0.0.0 and port 8080)       │
 │                                                   │
 │ Handlers ............ 74  Processes ........... 1 │
 │ Prefork ....... Disabled  PID ............. 10297 │
 └───────────────────────────────────────────────────┘

flowise 部署,大模型,aiagent,nlp,自然语言处理,langchain,ai

MODEL GALLERY 包含了huggingface的项目,如果下载模型,可能回被墙,至于如何解决,请自行解决。

下载模型

flowise 部署,大模型,aiagent,nlp,自然语言处理,langchain,ai

[192.168.12.82]:62589 200 - POST /models/apply
3:41PM DBG Checking "bert-MiniLM-L6-v2q4_0.bin" exists and matches SHA
3:41PM DBG File "bert-MiniLM-L6-v2q4_0.bin" already exists and matches the SHA. Skipping download
3:41PM DBG Written config file /build/models/bert-embeddings.yaml

编码测试

flowise 部署,大模型,aiagent,nlp,自然语言处理,langchain,ai

3.Flowise文档知识库召回应用

flowise 部署,大模型,aiagent,nlp,自然语言处理,langchain,ai

转载请注明出处!文章来源地址https://www.toymoban.com/news/detail-803005.html

到了这里,关于Flowise+LocalAI部署--Agent应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LocalAI - 兼容OpenAI API的本地大模型技术栈【LLM】

    LocalAI 是一个用于本地推理的 与OpenAI API 规范兼容的REST API, 它允许使用消费级硬件在本地或本地运行模型,支持llama.cpp、alpaca.cpp、gpt4all.cpp、rwkv.cpp、whisper.cpp、vicuna、koala、gpt4all-j、cerebras 等大模型。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 LocalAI的主要特性包括: O

    2024年02月09日
    浏览(47)
  • chatgpt AI agent插件架构设计(nlp插件)

    自然语言处理(Natural Language Processing,简称NLP)是一个位于计算机科学与人工智能交叉领域的关键研究方向。它结合了语言学、计算机科学和数学等多个学科的理论与方法,旨在实现人与计算机之间的自然语言交流。 自然语言处理还包括了很多具体应用,例如:信息检索、信

    2024年02月04日
    浏览(31)
  • 不需要本地部署大模型,modelscope-agent加qwen-max免费搭建自己的定制机器人

    最近阿里开源了通用大模型qwen-72b,正在为怎么本地化部署发愁,转眼看到提供了qwen-max相关接口的免费试用(据说就是基于qwen-72b大模型),这就来体验一番。 开通阿里云灵积平台,并创建api-key python:3.10+; pydantic 2.0以上,老版本pydantic会报一个tool_schema.model_dump_json的函数错误

    2024年01月25日
    浏览(59)
  • 自然语言处理 Paddle NLP - 预训练语言模型及应用

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月08日
    浏览(77)
  • 人工智能任务1-【NLP系列】句子嵌入的应用与多模型实现方式

    大家好,我是微学AI,今天给大家介绍一下人工智能任务1-【NLP系列】句子嵌入的应用与多模型实现方式。句子嵌入是将句子映射到一个固定维度的向量表示形式,它在自然语言处理(NLP)中有着广泛的应用。通过将句子转化为向量表示,可以使得计算机能够更好地理解和处理

    2024年02月13日
    浏览(41)
  • 自然语言处理实战项目17-基于多种NLP模型的诈骗电话识别方法研究与应用实战

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目17-基于NLP模型的诈骗电话识别方法研究与应用,相信最近小伙伴都都看过《孤注一掷》这部写实的诈骗电影吧,电影主要围绕跨境网络诈骗展开,电影取材自上万起真实诈骗案例。随着科技的快速发展,诈骗电

    2024年02月09日
    浏览(65)
  • [学习笔记]刘知远团队大模型技术与交叉应用L1-NLP&Big Model Basics

    本节主要介绍NLP和大模型的基础知识。提及了词表示如何从one-hot发展到Word Embedding。语言模型如何从N-gram发展成预训练语言模型PLMs。然后介绍了大模型在NLP任务上的表现,以及它遵循的基本范式。最后介绍了本课程需要用到的编程环境和GPU服务器。 Advances in Natural Language Pr

    2024年01月18日
    浏览(81)
  • 基于Bert+Attention+LSTM智能校园知识图谱问答推荐系统——NLP自然语言处理算法应用(含Python全部工程源码及训练模型)+数据集

    这个项目充分利用了Google的Bert模型,这是一种基于Attention的大规模语料预训练模型,以及LSTM命名实体识别网络。项目的目标是设计一套通用的问答系统处理逻辑,以实现智能问答任务。 首先,我们采用了Bert模型,这是一种在自然语言处理领域非常强大的预训练模型。它具备

    2024年02月09日
    浏览(67)
  • AI大模型之——Agent

    AI Agent(人工智能代理)是一种能够感知环境、进行决策和执行动作的智能实体。 AI Agent也可以称为“智能体”,也可理解为“智能业务助理”,指在大模型技术驱动下,让人们以自然语言为交互方式高自动化地执行和处理专业或繁复的工作任务,从而极大程度释放人员精力

    2024年04月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包