GaiaNet 节点部署实战:一行命令安装到 RAG 智能体服务上线的完整指南(gaianet-node)

发布时间:2026/10/2 13:46:52
GaiaNet 节点部署实战:一行命令安装到 RAG 智能体服务上线的完整指南(gaianet-node) AI 应用大模型CLIRAG【免费下载链接】gaianet-nodeInstall, run and deploy your own decentralized AI agent service项目地址https://gitcode.com/GitHub_Trending/ga/gaianet-node点击查看免费下载本指南以 gaianet-node 仓库的官方 READMEREADME-fa.md为核心骨架完整讲解如何在你自己的 Mac、Linux 或 Windows WSL 机器上安装、初始化、启动、停止并配置一个去中心化的 GaiaNet AI 智能体节点。读完本文你将掌握gaianetCLI 的完整生命周期操作install → init → start → stop → config理解config.json每个关键字段的底层含义并能基于仓库源码定位每个命令背后真正执行的组件与调用链实现从照抄命令到按需定制节点的进阶。快速开始四步跑通一个 GaiaNet 节点如果你只想在最短时间内把一个默认节点跑起来只需依次执行以下四步1. 安装节点软件栈在 Mac、Linux 或 Windows WSL 终端中执行一行命令即可安装默认的节点软件栈curl -sSfL https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh | bash安装完成后请跟随终端提示设置 environment path——提示的命令行会以source开头用于把 WasmEdge 等运行时加入当前 shell 的 PATH。注意Windows 用户必须使用 WSLWindows Subsystem for Linux环境运行仓库脚本 gaianet 中对MINGW32_NT平台会直接提示For Windows users, please run this script in WSL。2. 初始化节点下载模型与知识库gaianet initinit会依据$HOME/gaianet/config.json中指定的地址下载 GGUF 格式的对话模型文件、Embedding 模型文件并在 Qdrant 向量数据库中创建或从快照恢复知识库 collection。由于这些文件通常很大这一步可能需要几分钟。3. 启动节点gaianet start启动成功后脚本会在控制台打印节点的正式访问地址格式类似... ... https://0xf63939431ee11267f4855a166e11cc44d24960c0.us.gaianet.network用浏览器打开这个 URL即可查看节点信息并直接与节点上的 AI 智能体对话。4. 停止节点gaianet stop安装指南install.sh 的完整行为解析除快速开始使用的 Release 安装命令外仓库还支持从源码仓库直接安装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 ... Installation of wasmedge-0.13.5 successful The WasmEdge Runtime wasmedge version 0.13.5 is installed in /home/azureuser/.wasmedge/bin/wasmedge. [] Installing Qdrant binary... * Download Qdrant binary * Initialize Qdrant directory [] Downloading the rag-api-server.wasm ... [] Downloading dashboard ...从上述日志可以看出一次安装实际做了四类工作对应 install.sh 中的版本常量组件作用仓库中声明的版本示例WasmEdge wasi-nn_ggml 插件WebAssembly 运行时负责执行 GGML 神经网络推理wasmedge 0.14.1 / 0.13.5Qdrant 二进制向量数据库存储 RAG 知识库 collectionv1.14.1llama-api-server.wasm / rag-api-server.wasmLlamaEdge API 服务OpenAI 兼容接口0.27.0dashboard网页控制台用于展示节点信息与对话v3.1此外install.sh 还支持--reinstall重装并下载全部依赖、--upgrade升级节点、--backup File/--migrate File配置备份与迁移、--ggmlcuda 11|12安装指定 CUDA 版本的 GGML 插件等高级参数需要时可用./install.sh --help查看完整选项。安装到自定义目录--base默认情况下节点安装到$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/config命令也都要通过--base指定同一目录详见下文各节。在 gaianet 脚本中默认基目录同样被定义为gaianet_base_dir$HOME/gaianet--base参数会将其覆盖。初始化节点gaianet init 详解默认初始化gaianet init成功输出类似[] Downloading Llama-2-7b-chat-hf-Q5_K_M.gguf ... ############################################################################################################################## 100.0% [] Downloading all-MiniLM-L6-v2-ggml-model-f16.gguf ... [] Creating default collection in the Qdrant instance ... * Start a Qdrant instance ... * Remove the existed default Qdrant collection ... * Download Qdrant collection snapshot ... * Import the Qdrant collection snapshot ... * Recovery is done successfullyinit严格依据$HOME/gaianet/config.json完成四件事对应 gaianet 中init()函数校验配置调用check_config_options逐一检查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对话模型 URL与embeddingEmbedding 模型 URL并下载 GGUF 文件若已存在同名文件则复用缓存本地.gguf路径也被支持。恢复知识库当snapshot字段非空时调用create_collection启动临时 Qdrant 实例、删除旧的defaultcollection、下载快照支持.tar.gz压缩包或直接快照文件、通过 Qdrant 的 snapshot 上传接口导入并完成恢复。准备控制台与域名下载并执行 registry.wasmwasmedge --dir .:. registry.wasm同步 dashboard 配置并改写gaia-frp/frpc.toml中的subdomain、name、localPort、serverAddr为公网域名映射做准备。使用预设配置初始化你可以使用社区/官方提供的预设配置。例如下面的命令初始化一个使用 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可查看全部预设配置名。--config参数既支持预设名称也接受任意config.json的 URL——也就是说你可以托管自己的配置让节点初始化为你想要的任意状态。初始化自定义基目录下的节点gaianet init --base $HOME/gaianet.alt启动节点gaianet start 背后的组件调用链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结合 gaianet 脚本中start()函数的实现输出[1/4]到[4/4]四个进度阶段gaianet start实际启动了五个协同工作的进程Chat Serverstart_chat_server用wasmedge --nn-preload default:GGML:AUTO:模型文件 llama-api-server.wasm --model-name chat_name --ctx-size chat_ctx_size --prompt-template 模板 --port llamaedge_chat_port启动对话推理服务默认端口 9068并自动通过/v1/chat/completions做健康检查最多重试 3 次。Embedding Serverstart_embedding_server以--prompt-template embedding启动 Embedding 推理服务默认端口 9069通过/v1/embeddings做健康检查。Qdrant 实例start_qdrant_instance当snapshot非空即 RAG 模式开启时启动向量数据库默认监听 6333 端口PID 写入qdrant.pid。gaia-frp公网映射当未加--local-only时启动frpc -c gaia-frp/frpc.toml把节点通过 GaiaNet 域名反向代理暴露到公网。gaia-nexus网关负责统一入口、健康检查每 60 秒一次与 Web UI并把 Chat/Embedding 两个下游服务注册到自己的/admin/servers/register接口。启动完成后控制台会输出✅ COMPLETED! The GaiaNet node is started at: https://subdomain.domain To stop the GaiaNet node, run the command: gaianet stop ❗ You can close this terminal window safely now.仅本地启动--local-only如果只想在本机使用可以本地模式启动。节点只会通过localhost访问不会出现在 GaiaNet 域名的任何公网 URL 上gaianet start --local-only本地模式下脚本不再启动 gaia-frp而是提示The GaiaNet node is started in local mode at: http://localhost:llamaedge_port。启动自定义基目录下的节点gaianet start --base $HOME/gaianet.alt停止节点gaianet stopgaianet stop输出[] Stopping WasmEdge, Qdrant and frpc ...从源码 gaianet 的stop_force()可以看到停止操作实际会依次pkillQdrant、gaia-nexus、cardea-agentic-search、wasmedge覆盖 Chat/Embedding 推理进程以及 frpc并清理qdrant.pid、chat_server.pid、embedding_server.pid、llama_nexus.pid、cardea_agentic_search_mcp.pid、gaia-frp.pid等 PID 文件。停止安装在其他基目录的节点gaianet stop --base $HOME/gaianet.alt更新配置gaianet config 子命令全解gaianet config用于就地更新$HOME/gaianet/config.json中的关键字段。重要每次更新配置后必须重新执行gaianet init否则新的配置不会生效。更新对话模型 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 5120全部选项参考README 中给出的gaianet config --help输出如下$ gaianet config --help Usage: gaianet config [OPTIONS] Options: --chat-url url Update the url of chat model. --chat-ctx-size val Update the context size of chat model. --embedding-url url Update the url of embedding model. --embedding-ctx-size val Update the context size of embedding model. --prompt-template val Update the prompt template of chat model. --port val Update the port of LlamaEdge API Server. --system-prompt val Update the system prompt. --rag-prompt val Update the rag prompt. --rag-policy val Update the rag policy [Possible values: system-message, last-user-message]. --reverse-prompt val Update the reverse prompt. --domain val Update the domain of GaiaNet node. --snapshot url Update the Qdrant snapshot. --qdrant-limit val Update the max number of result to return. --qdrant-score-threshold val Update the minimal score threshold for the result. --base path The base directory of GaiaNet node. --help Show this help message对照仓库内 CLI 脚本 gaianet 中show_config_help()的实现当前版本还支持以下扩展选项可按需使用--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 端口。 --embedding-port val 更新 Embedding Server 端口。 --context-window val 更新上下文窗口。各选项与config.json字段的映射关系为--chat-url → chat、--chat-ctx-size → chat_ctx_size、--chat-port → llamaedge_chat_port、--port → llamaedge_port、--embedding-port → llamaedge_embedding_port、--snapshot → snapshot、--domain → domain、--qdrant-limit → qdrant_limit、--qdrant-score-threshold → qdrant_score_threshold。脚本通过update_config()中的sed就地替换对应键值因此字段名必须与配置文件严格一致。config.json 核心字段深度解析README 反复提到的$HOME/gaianet/config.json是节点的唯一事实来源。仓库根目录的 config.json 是一份可直接参考的默认配置对话模型为 Qwen3-4BEmbedding 模型为 Nomic-embed-text-v1.5{ address: , description: The default GaiaNet node config with a Llama-3.2-3B-Instruct model., domain: gaia.domains, llamaedge_chat_port: 9068, llamaedge_embedding_port: 9069, llamaedge_port: 8080, chat: https://huggingface.co/second-state/Qwen3-4B-GGUF/resolve/main/Qwen3-4B-Q5_K_M.gguf, chat_name: Qwen3-4B, chat_ctx_size: 16384, chat_batch_size: 128, chat_ubatch_size: 128, prompt_template: qwen3-no-think, reverse_prompt: , system_prompt: You are a helpful AI assistant. Please answer questions as clearly and concisely as possible., embedding: https://huggingface.co/gaianet/Nomic-embed-text-v1.5-Embedding-GGUF/resolve/main/nomic-embed-text-v1.5.f16.gguf, embedding_name: Nomic-embed-text-v1.5, embedding_ctx_size: 8192, embedding_batch_size: 8192, embedding_ubatch_size: 8192, snapshot: , embedding_collection_name: default, qdrant_limit: 1, qdrant_score_threshold: 0.5 }各字段在运行时gaianet 脚本中的实际作用如下字段作用与说明address节点 IDnode id会写入gaia-frp/frpc.toml的subdomain拼出公网地址https://address.domain安装时由 nodeid.json 提供domainGaiaNet 域名后缀同时写入 frpc 的serverAddrllamaedge_portgaia-nexus 统一入口端口默认 8080Web UI 与 OpenAI 兼容 API 均经此暴露llamaedge_chat_portChat 推理服务端口默认 9068llamaedge_embedding_portEmbedding 推理服务端口默认 9069chat/chat_name对话模型 GGUF 的下载 URL / 展示名chat_name会作为--model-name传给 llama-api-server.wasmchat_ctx_size/chat_batch_size/chat_ubatch_size对话模型的上下文长度、batch 与 ubatch 大小作为--ctx-size / --batch-size / --ubatch-size传给推理服务prompt_template对话模板如llama-2-chat、qwen3-no-think脚本会按模板拼接请求格式reverse_prompt反向提示词用于多轮对话的会话分隔非空时才追加--reverse-prompt参数system_prompt系统提示词决定 AI 助手的角色与行为embedding/embedding_nameEmbedding 模型 GGUF 的下载 URL / 展示名embedding_ctx_size/embedding_batch_size/embedding_ubatch_sizeEmbedding 模型的上下文与批处理参数snapshotQdrant 知识库快照 URL或本地文件路径为空则关闭 RAG 模式启动时不会拉起 Qdrantembedding_collection_name向量集合名默认defaultcreate_collection会先删除再导入该集合qdrant_limitRAG 检索返回的最大结果数qdrant_score_thresholdRAG 检索的最低相似度阈值低于该值的知识片段会被丢弃值得一提的是chat_name/embedding_name若未配置脚本会自动从 GGUF 文件名推导模型名见start_chat_server()/start_embedding_server()中的回退逻辑因此自定义模型时这两个字段可省。用测试用例验证节点 API节点启动后可借助仓库 tests 目录下的 Hurl 测试脚本快速验证 OpenAI 兼容接口是否按预期工作tests/chat.hurl验证GET /v1/models断言模型 id 为Qwen3-4B或Nomic-embed-text-v1.5、POST /v1/chat/completions断言模型名为Qwen3-4B且回答包含 Paris并覆盖了传入错误模型名仍能正常回落的场景。tests/embeddings.hurl验证 Embedding 接口。tests/rag.hurl带 RAG 上下文的问答测试请求体与 tests/test.rag.json 配合使用。例如本地模式启动后可直接执行hurl --test tests/chat.hurl这也印证了start()中健康检查采用的就是同一套/v1/chat/completions与/v1/embeddings探测逻辑。其他部署形态Docker 一键运行如果你希望跳过手动安装环境依赖也可以使用官方 Docker 镜像直接运行节点详见 docker/README.md。典型命令docker run --name gaianet \ -p 8080:8080 \ -v $(pwd)/qdrant_storage:/root/gaianet/qdrant/storage:z \ gaianet/phi-3-mini-instruct-4k_paris:latest镜像内置了 LLM 与 Embedding 模型文件但知识库快照会在容器每次启动时下载导入因为知识库更新频繁宿主机上的qdrant_storage目录负责持久化向量数据。Nvidia CUDA 12 用户可改用cuda12标签并追加--device nvidia.com/gpuall。需要注意的是Docker 方式与本文前述--base目录方式二选一即可两者都是对同一节点配置模型的不同交付形式。小结围绕 README-fa.md 的完整脉络本文不仅覆盖了 install / init / start / stop / config 五类命令的标准用法还通过 gaianet 脚本、config.json、install.sh 与 tests 逐层拆解了节点背后的组件架构安装WasmEdge推理运行时 Qdrant向量库 llama-api-server.wasmAPI 服务 dashboard控制台支持--base自定义目录初始化按config.json下载模型、恢复知识库快照、改写 frpc 隧道配置启动Chat Server、Embedding Server、Qdrant、gaia-frp、gaia-nexus 五进程协同本地模式与公网模式自由切换配置gaianet config支持 20 字段就地更新改后必须重新init。现在你已经具备从零部署、定制并验证一个 GaiaNet 去中心化 AI 智能体节点的完整能力。Enjoy!赞分享AI 应用大模型CLIRAG【免费下载链接】gaianet-nodeInstall, run and deploy your own decentralized AI agent service项目地址https://gitcode.com/GitHub_Trending/ga/gaianet-node点击查看免费下载相关推荐GaiaNet 节点部署实战基于 gaianet-node 的一键安装、初始化与 RAG 配置管理GaiaNet 节点部署实战基于 gaianet node 的一键安装、初始化与 RAG 配置管理 本指南以 README ru.md https://linAI 应用大模型CLIRAGijkplayer 版本演进全景解析从 NEWS.md 看基于 FFmpeg 的跨平台播放器技术路线ijkplayer 版本演进全景解析从 NEWS.md 看基于 FFmpeg 的跨平台播放器技术路线 本文以仓库根目录下的 NEWS.md https://lAI 应用大模型CLIRAGgaianet-node 节点部署实战安装、初始化、启动与配置更新全指南gaianet node 节点部署实战安装、初始化、启动与配置更新全指南 本篇指南围绕 gaianet node 仓库中《README pt.md》所述的完整AI 应用大模型CLIRAG上一篇VeleroArkschedule delete 命令详解删除定时备份计划的最佳实践与实现原理下一篇Kubernetes 社区 devstats 子项目指标看板运营、贡献流程与 repo_groups 自动化生成创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考