资讯动态

GaiaNet 节点部署实战:基于 gaianet-node 的一键安装、初始化与 RAG 配置管理

发布时间:2026/10/2 15:08:37 来源:尧图企业网站定制
AI 应用大模型CLIRAG【免费下载链接】gaianet-nodeInstall, run and deploy your own decentralized AI agent service项目地址https://gitcode.com/GitHub_Trending/ga/gaianet-node点击查看免费下载本指南以 README-ru.md 为骨架系统讲解如何在 Mac、Linux 或 Windows WSL 上安装、初始化、启动与停止一个属于自己的 GaiaNet 去中心化 AI 智能体节点并详解gaianet config的每一个配置参数。读完本文你将掌握从零部署一个带 RAG 知识库的 LLM 推理服务节点的完整链路并理解节点启动时 WasmEdge、Qdrant、gaia-frp、gaia-nexus 等组件的协作方式与底层原理。GaiaNet 节点是什么一个可运行的软件栈GaiaNet 节点本质上是一套预打包的分布式 AI 服务软件栈它用WasmEdge 运行时加载 GGUF 格式的大语言模型与 embedding 模型用Qdrant作为向量数据库承载知识库用gaia-frpfrpc做内网穿透以便对外提供官方域名用gaia-nexus充当统一网关。安装脚本会把这些组件一次性装配到$HOME/gaianet目录下。以本仓库默认配置 config.json 为例一个节点包含两类模型与三类端口组件默认端口说明LlamaEdge / gaia-nexus 网关8080对外统一入口web 界面也由此提供Chat 推理服务9068/v1/chat/completionsEmbedding 推理服务9069/v1/embeddingsQdrant 向量数据库6333知识库检索snapshot 导入时使用仓库根目录的 install.sh 中定义了当前安装器版本0.6.0并锁定各组件版本WasmEdge0.14.1GGML 插件b6399、Qdrantv1.14.1、LlamaEdge API Server0.27.0、gaia-nexus0.8.2、dashboardv3.1。这些版本号以硬编码方式出现在安装脚本顶部属于本次安装的明确事实可作排障依据。快速开始三行命令拉起你的第一个节点安装默认节点软件栈只需一行命令支持 Mac、Linux 与 Windows WSLcurl -sSfL https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh | bash安装完成后请按屏幕提示设置PATH环境变量随后的命令应以source开头例如source ~/.bashrczsh 为source ~/.zshrc使gaianetCLI 在当前的 shell 会话中可用。初始化节点。它会下载 config.json 中指定的模型文件与向量数据库快照。由于文件体积较大该过程可能需要几分钟gaianet init启动节点gaianet start启动成功后控制台会打印节点的官方地址形如... ... https://0xf63939431ee11267f4855a166e11cc44d24960c0.us.gaianet.network在浏览器中打开该 URL即可查看节点信息并与节点上的 AI 智能体对话。停止节点gaianet stop从 gaianet 脚本的实现看stop会通过pkill依次清理qdrant、gaia-nexus、cardea-agentic-search、wasmedge与frpc五个进程并删除对应的.pid文件保证节点可以干净地重启。安装指南install.sh 的完整执行流程标准安装与示例输出与快速开始不同安装指南中的命令直接从仓库获取安装脚本curl -sSfL https://raw.githubusercontent.com/GaiaNet-AI/gaianet-node/main/install.sh | bash安装过程的典型输出如下[] Downloading default config file ... [] Downloading nodeid.json ... [] Installing WasmEdge with wasi-nn_ggml plugin ... Info: Detected Linux-x86_64 Info: WasmEdge Installation at /home/azureuser/.wasmedge Info: Fetching WasmEdge-0.13.5 /tmp/wasmedge.2884467 ~/gaianet ######################################################################## 100.0% ~/gaianet Info: Fetching WasmEdge-GGML-Plugin Info: Detected CUDA version: /tmp/wasmedge.2884467 ~/gaianet ######################################################################## 100.0% ~/gaianet Installation of wasmedge-0.13.5 successful WasmEdge binaries accessible The WasmEdge Runtime wasmedge version 0.13.5 is installed in /home/azureuser/.wasmedge/bin/wasmedge. [] Installing Qdrant binary... * Download Qdrant binary ################################################################################################## 100.0% * Initialize Qdrant directory [] Downloading the rag-api-server.wasm ... ################################################################################################## 100.0% [] Downloading dashboard ... ################################################################################################## 100.0%对照 install.sh 源码上述输出背后是一整套分步装配流程每一步都有明确职责安装gaianetCLI 工具下载 CLI 二进制到$base/bin/gaianet并赋予执行权限下载默认config.json若本地已有缓存则复用输出Use the cached config file安装 WasmEdge 与 wasi-nn_ggml 插件通过 WasmEdge 官方安装脚本完成Linux 下若检测到 NVIDIA GPU 会额外提示安装nvidia-smi安装 Qdrant 二进制并初始化目录按架构下载静态编译二进制Linux 为x86_64-unknown-linux-musl或aarch64-unknown-linux-musl并将 Qdrant 源码包的config/拷入qdrant/config/同时把config.yaml中的telemetry_disabled改为true以关闭遥测下载 LlamaEdge API Serverllama-api-server.wasm与 cardea-agentic-search MCP server安装 gaia-nexus下载二进制与mcp_config.toml并放置到基础目录下载 dashboardweb 界面到$base/dashboard下载registry.wasm用于后续生成节点 ID生成节点 ID运行wasmedge --dir .:. registry.wasm产出nodeid.json含地址address、密钥文件keystore与password安装 gaia-frpfrpc下载frpc二进制到bin/下载frpc.toml并根据config.json中的address与domain回填subdomain、serverAddr、name、deviceId等字段。安装脚本还支持--upgrade升级模式升级前会先把config.json、nodeid.json、keystore 文件、frpc.toml、deviceid.txt备份到$base/backup/升级完成后自动恢复--reinstall则会清空整个基础目录后重装。安装到自定义目录默认安装到$HOME/gaianet也可以指定其他目录curl -sSfL https://raw.githubusercontent.com/GaiaNet-AI/gaianet-node/main/install.sh | bash -s -- --base $HOME/gaianet.alt--base参数会同步决定后续init、start、stop时 CLI 操作的目录三者的--base取值必须一致。install.sh 其他实用选项从 install.sh 的print_usage可见安装器还提供以下选项选项作用--config Url指定自定义 config.json 的下载 URL--base Path指定 gaianet 基础目录默认$HOME/gaianet--reinstall清空并重新安装全部依赖--upgrade升级节点自动备份与恢复配置--backup File将config.json、nodeid.json、frpc.toml与 keystore 打包备份到指定文件--migrate File依据备份文件安装并迁移配置到新节点--tmpdir Path指定临时下载目录默认$base/tmp--ggmlcuda [11/12]安装指定 CUDA 版本的 GGML 插件--enable-vector安装 vector 日志聚合器并下载vector.toml仓库根目录即有示例初始化节点下载模型与导入知识库gaianet init初始化过程的典型输出如下[] Downloading Llama-2-7b-chat-hf-Q5_K_M.gguf ... ############################################################################################################################## 100.0%############################################################################################################################## 100.0% [] Downloading all-MiniLM-L6-v2-ggml-model-f16.gguf ... ############################################################################################################################## 100.0%############################################################################################################################## 100.0% [] Creating default collection in the Qdrant instance ... * Start a Qdrant instance ... * Remove the existed default Qdrant collection ... * Download Qdrant collection snapshot ... ############################################################################################################################## 100.0%############################################################################################################################## 100.0% * Import the Qdrant collection snapshot ... * Recovery is done successfully对照 gaianet 脚本的init()函数其内部逻辑分为四步校验配置check_config_options依次确认config.json中存在address、chat、prompt_template、chat_ctx_size、system_prompt、embedding、embedding_ctx_size、snapshot、embedding_collection_name、qdrant_limit、qdrant_score_threshold、domain、llamaedge_port、llamaedge_chat_port、llamaedge_embedding_port等字段缺失任一字段都会立即报错退出下载模型根据chat字段下载聊天 GGUF 模型根据embedding字段下载 embedding GGUF 模型已下载过的文件会提示Using the cached直接复用。字段既支持 http(s) URL也支持本地.gguf文件路径导入知识库快照若snapshot非空则先启动临时 Qdrant 实例监听6333删除同名旧 collection下载 snapshot支持 URL 或本地文件.tar.gz会自动解包成default.snapshot再通过 Qdrant 的/collections/{name}/snapshots/upload接口导入准备 dashboard 与 frpc 配置运行wasmedge --dir .:. registry.wasm把配置同步到 dashboard随后将frpc.toml中的subdomain、name、localPort、serverAddr用config.json的address、domain、llamaedge_port字段回填。使用预置配置或自定义配置init命令依据$HOME/gaianet/config.json初始化节点。可以使用现成的预置配置例如下面的命令初始化一个以 llama-3 8B 为对话模型、以伦敦旅行指南为知识库的节点gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-8b-instruct_london/config.json查看预置配置列表可执行gaianet init --help。从 gaianet 脚本的show_init_help看预置名称包括default、paris_guide、mua、gaia等。此外--config也接受任意自定义config.json的 URL——例如gaianet_docs这类社区配置或你自己托管的一份配置节点会下载并据此初始化到你想要的状态。如果节点安装在替代目录则需显式指定基础目录gaianet init --base $HOME/gaianet.alt启动节点四大组件的一次性编排gaianet start启动过程的典型输出如下[] Starting Qdrant instance ... Qdrant instance started with pid: 39762 [] Starting LlamaEdge API Server ... Run the following command to start the LlamaEdge API Server: wasmedge --dir .:./dashboard --nn-preload default:GGML:AUTO:Llama-2-7b-chat-hf-Q5_K_M.gguf --nn-preload embedding:GGML:AUTO:all-MiniLM-L6-v2-ggml-model-f16.gguf rag-api-server.wasm --model-name Llama-2-7b-chat-hf-Q5_K_M,all-MiniLM-L6-v2-ggml-model-f16 --ctx-size 4096,384 --prompt-template llama-2-chat --qdrant-collection-name default --web-ui ./ --socket-addr 0.0.0.0:8080 --log-prompts --log-stat --rag-prompt Use the following pieces of context to answer the users question.\nIf you dont know the answer, just say that you dont know, dont try to make up an answer.\n----------------\n LlamaEdge API Server started with pid: 39796上面这条wasmedge命令非常关键它揭示了 RAG 推理链路的完整形态--nn-preload同时加载聊天模型与 embedding 模型--ctx-size 4096,384分别为两者指定上下文长度--prompt-template llama-2-chat指定聊天提示词模板--qdrant-collection-name default指定检索使用的向量集合--rag-prompt给出检索增强生成的系统提示词要求模型依据上下文作答、不确定时明确说不知道。需要说明的是当前仓库的 gaianet 脚本已经演进为更细粒度的四步编排start()函数启动日志也会相应打印[1/4] ... [4/4]进度[1/4]校验配置复用check_config_options并运行registry.wasm把config.json同步到 dashboard[2/4]启动下游服务先启动 chat serverllama-api-server.wasm端口9068再启动 embedding server端口9069两者启动后都会用 curl 向/v1/chat/completions、/v1/embeddings发探测请求做健康检查失败会自动重试最多 3 次若snapshot非空RAG 模式还会启动 Qdrant 实例与 cardea-agentic-search MCP server[3/4]启动 gaia-frpfrpc -c $base/gaia-frp/frpc.toml建立到 GaiaNet 域名的内网隧道[4/4]启动 gaia-nexus 并注册服务gaia-nexus 作为统一网关暴露llamaedge_port默认8080随后通过POST /admin/servers/register把 chat server 与 embedding server 注册到网关。仅本机使用local-only可以仅在本机启动节点此时节点只通过localhost访问不会出现在任何 GaiaNet 公网域名上gaianet start --local-only本地模式下启动完成后会打印http://localhost:8080端口取自llamaedge_port。从 gaianet 脚本看start还支持--force-rag即使snapshot为空也强制启动 RAG 服务与--wait val等待 gaia-nexus 就绪的秒数默认 30。从替代目录启动节点gaianet start --base $HOME/gaianet.alt停止节点gaianet stop典型输出[] Stopping WasmEdge, Qdrant and frpc ...停止替代目录中的节点gaianet stop --base $HOME/gaianet.alt另外gaianet 脚本还提供一个gaianet info子命令可随时查看节点的Node ID来自config.json的address与Device ID来自gaia-frp/frpc.toml的metadatas.deviceId。更新配置gaianet config 全参数详解使用gaianet config子命令可以更新 config.json 中的关键字段。修改配置后必须重新执行gaianet init新配置才会真正生效因为init会按新模型 URL 下载模型、按新 snapshot 重建向量集合并重写 frpc 隧道配置。更新聊天模型的 URLgaianet config --chat-url https://huggingface.co/second-state/Llama-2-13B-Chat-GGUF/resolve/main/Llama-2-13b-chat-hf-Q5_K_M.gguf更新聊天模型的上下文大小gaianet config --chat-ctx-size 5120gaianet config的全部选项如下摘自 README其中选项的中文注解为对照 gaianet 脚本show_config_help的说明$ gaianet config --help Usage: gaianet config [OPTIONS] Options: --chat-url url 更新聊天模型的 URL。 --chat-ctx-size val 更新聊天模型的上下文大小。 --embedding-url url 更新 embedding 模型的 URL。 --embedding-ctx-size val 更新 embedding 模型的上下文大小。 --prompt-template val 更新聊天模型的提示词模板。 --port val 更新 LlamaEdge API Server 的端口。 --system-prompt val 更新系统提示词。 --rag-prompt val 更新 RAG 提示词。 --rag-policy val 更新 RAG 策略 [可选值system-message, last-user-message]。 --reverse-prompt val 更新反向提示词。 --domain val 更新 GaiaNet 节点的域名。 --snapshot url 更新 Qdrant 快照。 --qdrant-limit val 更新检索返回结果的最大条数。 --qdrant-score-threshold val 更新结果的最小评分阈值。 --base path GaiaNet 节点的基础目录。 --help 显示此帮助信息。结合 gaianet 脚本的show_config_help实际可用的选项比 README 列出的更全还包含以下进阶参数选项作用--chat-batch-size val更新聊天模型的 batch size--chat-ubatch-size val更新聊天模型的 ubatch size--embedding-batch-size val更新 embedding 模型的 batch size--embedding-ubatch-size val更新 embedding 模型的 ubatch size--chat-port val更新 chat server 端口对应llamaedge_chat_port--embedding-port val更新 embedding server 端口对应llamaedge_embedding_port--context-window val更新上下文窗口config子命令内部通过update_config()函数以sed原位改写config.json中对应字段的值并逐项打印旧值Old url/Old size与新值New url/New size便于确认改动结果。深入 config.json每个字段的含义与默认值仓库根目录的 config.json 是默认配置的真实样例字段含义如下字段默认值当前仓库说明address节点 ID以太坊地址安装后由registry.wasm生成并回填description默认节点描述节点用途说明domaingaia.domainsGaiaNet 公网域名后缀llamaedge_port8080gaia-nexus / LlamaEdge 统一入口端口llamaedge_chat_port9068聊天推理服务端口llamaedge_embedding_port9069embedding 推理服务端口chatQwen3-4B GGUF URL聊天模型下载地址http URL 或本地.gguf文件chat_nameQwen3-4B聊天模型对外名称用于 API 的model字段chat_ctx_size16384聊天模型上下文长度chat_batch_size128聊天模型批处理大小chat_ubatch_size128聊天模型微批大小缺省时回退为 batch sizeprompt_templateqwen3-no-think聊天模型提示词模板reverse_prompt反向提示词多轮对话切换信号留空则不带system_prompt默认助手提示词系统提示词embeddingNomic-embed GGUF URLembedding 模型下载地址embedding_nameNomic-embed-text-v1.5embedding 模型对外名称embedding_ctx_size8192embedding 模型上下文长度embedding_batch_size8192embedding 批处理大小embedding_ubatch_size8192embedding 微批大小snapshotQdrant 知识库快照 URL 或本地路径非空即进入 RAG 模式embedding_collection_namedefaultQdrant 集合名缺省时回退为defaultqdrant_limit1RAG 检索最多返回的结果条数qdrant_score_threshold0.5RAG 检索结果的最低相似度阈值这些字段与 gaianet 脚本中start_chat_server()、start_embedding_server()、start_cardea_agentic_search_mcp_server()等函数的解析逻辑一一对应脚本用awk从config.json提取字段值拼装成wasmedge启动命令与 MCP server 参数因此任何字段的改动都会直接影响运行时的模型加载、上下文长度、批处理与检索行为。验证与补充测试用例与 Docker 部署用测试用例验证节点 API仓库的 tests/chat.hurl 是一份可直接运行的 API 冒烟测试Hurl 格式覆盖了节点启动后的核心能力GET /v1/models断言返回的模型 ID 匹配Qwen3-4B或Nomic-embed-text-v1.5POST /v1/chat/completions提问法国的首都是哪里断言model为Qwen3-4B且回答包含Paris错误模型名容错即使请求体中的model写错如Qwen3-4B-Instruct-invalid网关仍会按正确模型作答。同样地tests/embeddings.hurl 与 tests/rag.hurl配合 tests/test.rag.json分别覆盖 embedding 接口与 RAG 检索问答场景可作为节点部署完成后验证服务可用性的现成脚本。Docker 部署方式除裸机安装外仓库还提供 docker/README.md 与Dockerfile含Dockerfile.cuda11、Dockerfile.cuda12。默认容器使用 CPU 计算适合 LLM 在 8GB 内存以上机器运行NVIDIA GPU 场景需安装 NVIDIA Container Toolkit并把镜像标签换为cuda12或cuda11、加上--device nvidia.com/gpuall标志。典型的启动命令docker run --name gaianet \ -p 8080:8080 \ -v $(pwd)/qdrant_storage:/root/gaianet/qdrant/storage:z \ gaianet/phi-3-mini-instruct-4k_paris:latest容器内部即通过 docker/run.sh 依次执行gaianet init与gaianet start。需要注意镜像内置 LLM 与 embedding 模型但知识库快照向量数据在节点启动时才下载导入因此用宿主机目录挂载qdrant_storage持久化向量库内容每次docker start重启都会重新初始化知识库。容器内的配置修改可执行docker exec -it gaianet /root/gaianet/bin/gaianet config --chat-ctx-size 8192修改后重启容器生效。若想更换节点 ID则把新的nodeid.json与其对应的 keystore 文件用docker cp拷入容器后重启即可。小结一次部署长期可维护从本指南可以看出GaiaNet 节点的日常运维是一条清晰的主线安装install.sh一键装配 CLI、WasmEdge、Qdrant、frpc、gaia-nexus 与 dashboard--base支持多节点并存--upgrade/--backup/--migrate支持平滑升级与迁移初始化gaianet init按config.json下载模型、导入知识库快照--config支持预置或自定义配置是实现每个节点一个专属智能体的入口启停gaianet start编排 chat/embedding 推理服务、Qdrant、frpc 与 gaia-nexus--local-only提供纯本机模式gaianet stop干净回收全部进程持续调优gaianet config覆盖模型 URL、上下文大小、batch/ubatch、提示词、端口、Qdrant 检索参数等全部关键字段改完记得重新init。掌握这条链路后你不仅能运行默认节点还能把任意开源 GGUF 模型与任意知识库快照组合成自己的 RAG 智能体服务并通过公网域名分享给他人使用。赞分享AI 应用大模型CLIRAG【免费下载链接】gaianet-nodeInstall, run and deploy your own decentralized AI agent service项目地址https://gitcode.com/GitHub_Trending/ga/gaianet-node点击查看免费下载相关推荐GaiaNet-node配置中心集中管理节点设置GaiaNet node配置中心集中管理节点设置 你是否还在为AI节点的配置项混乱而烦恼是否在多端口服务管理中迷失方向本文将带你全面掌握GaiaNet nAI 应用大模型CLIRAGSpotBugs最佳实践团队协作中的代码质量保障策略SpotBugs最佳实践团队协作中的代码质量保障策略 SpotBugs作为FindBugs的继任者是一款强大的Java静态代码分析工具能够帮助开发团队在代Granite-8B-Code-Instruct-4K高级技巧自定义生成配置与多轮对话优化Granite 8B Code Instruct 4K高级技巧自定义生成配置与多轮对话优化 Granite 8B Code Instruct 4K是一款功能强上一篇ComfyUI_IPAdapter_plus项目中的设备不匹配问题分析与解决方案下一篇ArchiveBox 源码解析:base_models.admin 模块如何统一 UUID 管理链接、密钥值配置编辑器与后台基类创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑