ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

在 Gaianet 上运行你自己的去中心化 AI 节点:安装、初始化、启动与配置全指南

在 Gaianet 上运行你自己的去中心化 AI 节点:安装、初始化、启动与配置全指南 AI 应用大模型CLIRAG【免费下载链接】gaianet-nodeInstall, run and deploy your own decentralized AI agent service项目地址https://gitcode.com/GitHub_Trending/ga/gaianet-node点击查看免费下载本篇指南以 README-ja.md 的日文版操作手册为核心骨架系统讲解如何在自己的 Mac、Linux 或 Windows WSL 机器上用一条命令安装 GaiaNet 节点软件栈并通过gaianet init、gaianet start、gaianet stop、gaianet config四个子命令完成节点全生命周期管理。读完本文你将掌握从零部署一个带 RAG 知识库的私有 AI 代理服务、将其发布到 GaiaNet 公网域名、以及通过配置文件热更新模型与向量库参数的完整实战方案。一、快速开始一条命令装好节点GaiaNet 的目标是让任何人都能运行自己的去中心化 AI 代理服务。在 Mac、Linux 或 Windows WSL 上安装默认节点软件栈只需要一行命令curl -sSfL https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh | bash安装完成后按屏幕提示设置环境变量路径命令行以source开头例如source $HOME/.bashrc随后即可使用gaianet命令。快速验证版本gaianet --version接着依次执行三个命令完成初始化 → 启动 → 停止的完整闭环gaianet init # 下载模型文件与向量数据库文件文件较大可能需要几分钟 gaianet start # 启动节点 gaianet stop # 停止节点启动成功后脚本会在控制台打印官方节点地址例如... ... https://0xf63939431ee11267f4855a166e11cc44d24960c0.us.gaianet.network在浏览器中打开该 URL即可查看节点信息并与节点上的 AI 代理进行对话。二、安装指南install.sh 做了什么除了快速开始中使用的latest/download链接你也可以显式从main分支安装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 ... [] Installing Qdrant binary... * Download Qdrant binary * Initialize Qdrant directory [] Downloading the rag-api-server.wasm ... [] Downloading dashboard ...从仓库根目录的 install.sh 源码看安装过程依次完成以下工作安装gaianetCLI 工具到$gaianet_base_dir/bin默认$HOME/gaianet/bin下载默认config.json默认使用 config.json当前仓库默认配置为 Qwen3-4B 聊天模型 Nomic-embed-text-v1.5 嵌入模型安装 WasmEdge 运行时及其 wasi-nn_ggml 插件GGML 后端用于在 WebAssembly 中推理 GGUF 模型安装后源码source $HOME/.wasmedge/env使wasmedge命令立即可用安装 Qdrant 二进制并初始化 Qdrant 数据目录同时会关闭 Qdrant 遥测把config.yaml中的telemetry_disabled改为true下载 LlamaEdge API Serverllama-api-server.wasm下载 Cardea Agentic Search MCP server用于基于 Qdrant 的 RAG 检索服务下载 gaia-nexus节点网关/编排服务及其mcp_config.toml下载 dashboardWeb UI即对话聊天界面下载registry.wasm用于生成节点 ID 与同步配置的 Wasm 工具源码位于 utils/registry/src/main.rs生成节点 ID通过wasmedge --dir .:. registry.wasm执行注册表工具写入nodeid.json与 keystore 文件安装 gaia-frp基于 frp 的内网穿透客户端下载 frpc.toml 模板并用config.json中的address子域名、domain域名、deviceId回填其中的subdomain、serverAddr、name、metadatas.deviceId字段。安装脚本还支持大量可选参数适用于进阶场景# 安装到替代目录 curl -sSfL https://raw.githubusercontent.com/GaiaNet-AI/gaianet-node/main/install.sh | bash -s -- --base $HOME/gaianet.alt # 指定 config.json 的 URL curl -sSfL .../install.sh | bash -s -- --config Url # 重装 / 升级 / 备份迁移 curl -sSfL .../install.sh | bash -s -- --reinstall curl -sSfL .../install.sh | bash -s -- --upgrade curl -sSfL .../install.sh | bash -s -- --backup File # 备份 config.json、nodeid.json、frpc.toml、keystore curl -sSfL .../install.sh | bash -s -- --migrate File # 从备份迁移到新节点 # CUDA 环境安装指定的 GGML CUDA 插件11/12 curl -sSfL .../install.sh | bash -s -- --ggmlcuda 12其中--backup/--migrate组合尤其适合换机迁移备份文件以 tar 打包config.json、nodeid.json、gaia-frp/frpc.toml与 keystore 文件迁移时在install.sh内自动解包恢复从而保持原有节点 ID 不变install.sh 第 99-117 行、第 204-220 行。三、初始化节点gaianet init 的完整流程安装完成后用init子命令按$HOME/gaianet/config.json中的配置初始化节点gaianet init典型输出[] Downloading Llama-2-7b-chat-hf-Q5_K_M.gguf ... #################################################################### 100.0% [] Downloading all-MiniLM-L6-v2-ggml-model-f16.gguf ... #################################################################### 100.0% [] 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 successfully对照 CLI 脚本 gaianet 中init()函数的实现gaianet init实际执行四个阶段校验config.jsoncheck_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等字段是否存在缺任一字段即报错退出下载 GGUF 模型从chat与embedding字段指向的 URL 下载聊天模型与嵌入模型到$HOME/gaianet/若目标文件已存在则直接复用缓存不再重复下载恢复向量库若snapshot字段非空则临时启动 Qdrant监听 6333 端口删除旧 collection下载并导入快照支持.tar.gz压缩包或裸快照文件导入成功后停止 Qdrant 并输出 Recovery is done successfully准备 dashboard 与公网域名运行wasmedge --dir .:. registry.wasm将config.json同步到 dashboard并依据address、domain、llamaedge_port重写gaia-frp/frpc.toml中的subdomain、name、localPort、serverAddr。使用预置配置或自定义 config.json# 使用预置配置llama-3 8B 模型 伦敦旅行指南知识库 gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-8b-instruct_london/config.json # 查看预置配置列表default、paris_guide、mua、gaia 等 gaianet init --help除gaianet_docs这类预置配置外--config也接受任意指向自定义config.json的 URL——节点会按你提供的配置初始化到期望的状态模型、知识库、上下文大小等均以该文件为准。初始化安装在替代目录的节点gaianet init --base $HOME/gaianet.altconfig.json 字段速查仓库根目录的默认 config.json 是理解全部字段的最佳样例{ 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 }关键字段含义字段含义默认值示例address节点 ID子域名前缀由registry.wasm生成空init 时填充domainGaiaNet 公网域名后缀最终地址为https://address.domaingaia.domainsllamaedge_portgaia-nexus 网关端口对外 API 入口8080llamaedge_chat_port聊天推理服务端口9068llamaedge_embedding_port嵌入服务端口9069chat/chat_name聊天模型 GGUF 下载 URL 及其展示名Qwen3-4B 的 GGUFchat_ctx_size聊天模型上下文窗口大小token16384chat_batch_size/chat_ubatch_size聊天模型批大小与微批大小128prompt_template聊天模型的提示词模板qwen3-no-thinksystem_prompt系统提示词通用助手指令embedding/embedding_name嵌入模型 GGUF URL 及其展示名Nomic-embed-text-v1.5embedding_ctx_size嵌入模型上下文大小8192snapshotQdrant 集合快照 URL为空则跳过 RAG 知识库恢复空embedding_collection_nameQdrant 集合名defaultqdrant_limitRAG 检索返回的最大结果数1qdrant_score_thresholdRAG 检索结果的最小得分阈值0.5四、启动与停止节点启动节点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()函数看启动流程分为 4 步校验config.json并同步到 dashboard再次执行registry.wasm启动下游服务先启动聊天服务start_chat_server基于chat、chat_ctx_size、prompt_template等字段拼装wasmedge命令并对/v1/chat/completions做健康检查失败自动重试最多 3 次再启动嵌入服务start_embedding_server对/v1/embeddings做健康检查若snapshot非空RAG 模式再启动 Qdrant 与 Cardea Agentic Search MCP server启动 gaia-frp以nohup方式运行frpc -c $gaianet_base_dir/gaia-frp/frpc.toml建立到 GaiaNet 公网域名的隧道启动 gaia-nexus作为节点编排网关以--port $llamaedge_port对外提供 OpenAI 兼容 API并通过register_chat_server/register_embedding_server把聊天与嵌入服务注册进网关。全部完成后打印公网地址✅ COMPLETED! The GaiaNet node is started at: https://subdomain.domain本地模式启动若只想本地使用不发布到 GaiaNet 公网域名使用--local-onlygaianet start --local-only该模式下节点仅通过http://localhost:llamaedge_port访问不会启动 gaia-frp也不出现在任何 GaiaNet 公网 URL 上。此模式适合调试或私有场景。脚本还支持# 启动安装在替代目录的节点 gaianet start --base $HOME/gaianet.alt # 即使 snapshot 为空也强制以 RAG 模式启动需自行保证 Qdrant 已初始化快照 gaianet start --force-rag # 指定等待 gaia-nexus 就绪的秒数默认 30 秒 gaianet start --wait 60停止节点gaianet stop输出[] Stopping WasmEdge, Qdrant and frpc ...脚本内部执行stop_force通过pkill依次清理qdrant、gaia-nexus、cardea-agentic-search、wasmedge、frpc全部进程并删除$gaianet_base_dir下的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子命令可更新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 5120gaianet config --help的完整选项如下以下为仓库当前版本输出$ gaianet config --help Usage: gaianet config [OPTIONS] Options: --chat-url url 更新聊天模型的 URL。 --chat-ctx-size val 更新聊天模型的上下文大小。 --embedding-url url 更新嵌入模型的 URL。 --embedding-ctx-size val 更新嵌入模型的上下文大小。 --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 源码的config分支看脚本解析上述参数后调用update_config用sed就地改写config.json中对应的键值对并逐个打印旧值 → 新值便于核对--snapshot传空值时会把该字段清空用于关闭 RAG 模式。相比手册中列出的选项仓库当前 CLI 还额外支持--chat-batch-size、--chat-ubatch-size、--embedding-batch-size、--embedding-ubatch-size、--chat-port、--embedding-port、--context-window见脚本show_config_help可按需使用。六、验证节点仓库自带的 Hurl 测试仓库 tests/ 目录提供了可直接运行的 Hurl 测试用于验证节点启动后的 API 行为可作为初始化 启动是否成功的自动化判据tests/chat.hurl验证/v1/models返回Qwen3-4B或Nomic-embed-text-v1.5向/v1/chat/completions提问法国首都是哪断言模型名与回答中包含 Paris并验证即使传入不存在的模型名Qwen3-4B-Instruct-invalid服务仍能正常回答tests/embeddings.hurl验证/v1/embeddings对多段文本批量生成嵌入向量断言返回Nomic-embed-text-v1.5且数据条数大于 0tests/rag.hurl结合知识库提问巴黎在塞纳河畔的位置验证 RAG 检索链路端到端可用。这些测试也印证了节点对外暴露的是 OpenAI 兼容 API/v1/models、/v1/chat/completions、/v1/embeddings意味着你可以用任何 OpenAI SDK 直接对接自己的节点。七、总结与故障排查要点完整的节点生命周期操作可以归纳为阶段命令关键产物安装curl ... install.sh \| bash$HOME/gaianet/bin/gaianet、WasmEdge、Qdrant、dashboard初始化gaianet init模型 GGUF、Qdrant 快照恢复、frpc.toml回填启动gaianet startchat/embedding 服务、Qdrant、frpc、gaia-nexus验证gaianet info显示 Node ID 与 Device ID停止gaianet stop清理全部进程与 PID 文件改配gaianet config ...后重跑gaianet init更新后的config.json常见问题的处理思路gaianet init报Not found the ... field in config.json说明配置文件缺少必需字段参考上文字段速查表补齐后再执行端口被占用脚本检测到llamaedge_chat_port/llamaedge_embedding_port已被监听时直接退出并触发stop_force可通过gaianet config --chat-port/--embedding-port/--port更换端口聊天或嵌入服务启动失败start内置 3 次重试并对/v1/chat/completions、/v1/embeddings做健康检查持续失败可查看$HOME/gaianet/log/chat-server.log与embedding-server.log修改配置后不生效gaianet config只更新config.json必须重新gaianet init使新配置新模型、新快照、新上下文落地。掌握以上命令与配置文件字段后你就能把任意 GGUF 开源模型与自定义知识库组合部署出自己的私有 AI 代理节点并通过公网域名对外提供服务。赞分享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 应用大模型CLIRAGGranite-8B-Code-Instruct-4K高级技巧自定义生成配置与多轮对话优化Granite 8B Code Instruct 4K高级技巧自定义生成配置与多轮对话优化 Granite 8B Code Instruct 4K是一款功能强TOAST UI Editor 快速上手安装、初始化与核心配置全指南TOAST UI Editor 快速上手安装、初始化与核心配置全指南 TOAST UI Editor即 tui.editor是一款支持 GFMGitHu前端UI组件上一篇如何高效使用UAssetGUI无需虚幻引擎深度编辑.uasset资产的完整指南下一篇Apex Legends终极压枪指南智能武器识别与自动压枪解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表