# Table of Contents - [👋 Welcome to Gaia | Gaia](#-welcome-to-gaia-gaia) - [💻 For Developers | Gaia](#-for-developers-gaia) - [🛠️ For Node Operators | Gaia](#-for-node-operators-gaia) - [🧠 Knowledge Bases | Gaia](#-knowledge-bases-gaia) - [Overview | Gaia](#overview-gaia) - [🔌 Agent Integrations & Plugins | Gaia](#-agent-integrations-plugins-gaia) - [🔗 Domain Operator Guide | Gaia](#-domain-operator-guide-gaia) - [🌐 Public Gaia Domain | Gaia](#-public-gaia-domain-gaia) - [What is a Gaia node? | Gaia](#what-is-a-gaia-node-gaia) - [📚 Guides & Tutorials | Gaia](#-guides-tutorials-gaia) - [❓ Frequently Asked Questions | Gaia](#-frequently-asked-questions-gaia) - [Setting up your own node | Gaia](#setting-up-your-own-node-gaia) - [Get your API key | Gaia](#get-your-api-key-gaia) - [Using your Gaia Node | Gaia](#using-your-gaia-node-gaia) - [📄 Litepaper | Gaia](#-litepaper-gaia) - [Customizing Your Gaia Node | Gaia](#customizing-your-gaia-node-gaia) - [OpenAI ecosystem apps | Gaia](#openai-ecosystem-apps-gaia) - [Gaia CLI options | Gaia](#gaia-cli-options-gaia) - [Joining the Gaia Protocol | Gaia](#joining-the-gaia-protocol-gaia) - [Troubleshooting | Gaia](#troubleshooting-gaia) - [Quick Start with Launching Gaia Domain | Gaia](#quick-start-with-launching-gaia-domain-gaia) - [Install or Uninstall the CLI | Gaia](#install-or-uninstall-the-cli-gaia) - [Fine-tune an open-source LLM with llama.cpp | Gaia](#fine-tune-an-open-source-llm-with-llama-cpp-gaia) - [System requirements | Gaia](#system-requirements-gaia) - [Advanced Deployment Options | Gaia](#advanced-deployment-options-gaia) - [Working with Coinbase AgentKit | Gaia](#working-with-coinbase-agentkit-gaia) - [Working with eliza | Gaia](#working-with-eliza-gaia) - [API Reference | Gaia](#api-reference-gaia) - [Run a local-only node | Gaia](#run-a-local-only-node-gaia) - [Install multiple nodes on a single machine | Gaia](#install-multiple-nodes-on-a-single-machine-gaia) - [Calling external tools | Gaia](#calling-external-tools-gaia) - [Ensuring Gaia Node Reliability | Gaia](#ensuring-gaia-node-reliability-gaia) - [User Guide | Gaia](#user-guide-gaia) - [Intro to knowledge bases | Gaia](#intro-to-knowledge-bases-gaia) - [Agentic translation on Gaia | Gaia](#agentic-translation-on-gaia-gaia) - [Node Operator Guide | Gaia](#node-operator-guide-gaia) - [How to create a knowledge base | Gaia](#how-to-create-a-knowledge-base-gaia) - [Creator Guide | Gaia](#creator-guide-gaia) - [Build a knowledge base using Gaia web tool | Gaia](#build-a-knowledge-base-using-gaia-web-tool-gaia) - [Domain Operator Guide | Gaia](#domain-operator-guide-gaia) - [Tutorial | Gaia](#tutorial-gaia) - [GaiaNet: GenAI Agent Network | Gaia](#gaianet-genai-agent-network-gaia) - [Public GaiaNet nodes | Gaia](#public-gaianet-nodes-gaia) - [OpenAI ecosystem apps | Gaia](#openai-ecosystem-apps-gaia) - [Quick start with GaiaNet Node | Gaia](#quick-start-with-gaianet-node-gaia) - [Agent frameworks and apps | Gaia](#agent-frameworks-and-apps-gaia) - [Joining the Gaia Protocol | Gaia](#joining-the-gaia-protocol-gaia) - [Customize Your GaiaNet Node | Gaia](#customize-your-gaianet-node-gaia) - [Quick Start with Launching Gaia Domain | Gaia](#quick-start-with-launching-gaia-domain-gaia) - [Knowledge bases | Gaia](#knowledge-bases-gaia) - [GaiaNet Node with finetuned LLMs | Gaia](#gaianet-node-with-finetuned-llms-gaia) - [Dify + Gaia | Gaia](#dify-gaia-gaia) - [Open WebUI | Gaia](#open-webui-gaia) - [Anything LLM | Gaia](#anything-llm-gaia) - [LlamaTutor | Gaia](#llamatutor-gaia) - [Cursor AI IDE | Gaia](#cursor-ai-ide-gaia) - [Gaia nodes with long-term knowledge | Gaia](#gaia-nodes-with-long-term-knowledge-gaia) - [Stockbot | Gaia](#stockbot-gaia) - [Prompt Engineering Tool | Gaia](#prompt-engineering-tool-gaia) - [FlowiseAI RAG chat | Gaia](#flowiseai-rag-chat-gaia) - [Zed | Gaia](#zed-gaia) - [FlowiseAI tool call | Gaia](#flowiseai-tool-call-gaia) - [LobeChat | Gaia](#lobechat-gaia) - [LlamaCloud | Gaia](#llamacloud-gaia) - [Obsidian | Gaia](#obsidian-gaia) - [AI coding assistant: Continue | Gaia](#ai-coding-assistant-continue-gaia) - [CodeGPT | Gaia](#codegpt-gaia) - [LlamaCoder | Gaia](#llamacoder-gaia) - [Translation Agent + Gaia | Gaia](#translation-agent-gaia-gaia) - [Agent Zero | Gaia](#agent-zero-gaia) - [A planning agent | Gaia](#a-planning-agent-gaia) - [Knowledge base from a plain text file | Gaia](#knowledge-base-from-a-plain-text-file-gaia) - [LlamaEdgeBook | Gaia](#llamaedgebook-gaia) - [Knowledge base from source / summary pairs | Gaia](#knowledge-base-from-source-summary-pairs-gaia) - [Knowledge base from a markdown file | Gaia](#knowledge-base-from-a-markdown-file-gaia) - [Knowledge base from a PDF file | Gaia](#knowledge-base-from-a-pdf-file-gaia) - [Knowledge base from a URL | Gaia](#knowledge-base-from-a-url-gaia) - [Install CUDA on Linux | Gaia](#install-cuda-on-linux-gaia) - [Use my GaiaNet node | Gaia](#use-my-gaianet-node-gaia) - [Working with Coinbase AgentKit | Gaia](#working-with-coinbase-agentkit-gaia) - [Working with eliza | Gaia](#working-with-eliza-gaia) - [Agentic translation on GaiaNet | Gaia](#agentic-translation-on-gaianet-gaia) - [API Reference | Gaia](#api-reference-gaia) - [Start a node on AWS using AMI images | Gaia](#start-a-node-on-aws-using-ami-images-gaia) - [Calling external tools | Gaia](#calling-external-tools-gaia) - [System requirements | Gaia](#system-requirements-gaia) - [GaiaNet CLI options | Gaia](#gaianet-cli-options-gaia) - [Start a node with Docker | Gaia](#start-a-node-with-docker-gaia) - [Install and uninstall | Gaia](#install-and-uninstall-gaia) - [Troubleshooting | Gaia](#troubleshooting-gaia) - [How do I ... | Gaia](#how-do-i-gaia) - [Protect the server process | Gaia](#protect-the-server-process-gaia) - [Dify + GaiaNet | Gaia](#dify-gaianet-gaia) - [Anything LLM | Gaia](#anything-llm-gaia) - [llama.cpp | Gaia](#llama-cpp-gaia) - [Open WebUI | Gaia](#open-webui-gaia) - [FlowiseAI RAG chat | Gaia](#flowiseai-rag-chat-gaia) - [Cursor AI IDE | Gaia](#cursor-ai-ide-gaia) - [Stockbot | Gaia](#stockbot-gaia) - [Zed | Gaia](#zed-gaia) - [FlowiseAI tool call | Gaia](#flowiseai-tool-call-gaia) - [LlamaCloud | Gaia](#llamacloud-gaia) - [LobeChat | Gaia](#lobechat-gaia) - [CodeGPT | Gaia](#codegpt-gaia) - [Obsidian | Gaia](#obsidian-gaia) - [AI coding assistant: Continue | Gaia](#ai-coding-assistant-continue-gaia) - [Translation Agent + GaiaNet | Gaia](#translation-agent-gaianet-gaia) - [Agent Zero | Gaia](#agent-zero-gaia) - [LlamaCoder | Gaia](#llamacoder-gaia) - [A planning agent | Gaia](#a-planning-agent-gaia) - [LlamaEdgeBook | Gaia](#llamaedgebook-gaia) - [Gaia nodes with long-term knowledge | Gaia](#gaia-nodes-with-long-term-knowledge-gaia) - [LlamaTutor | Gaia](#llamatutor-gaia) - [Fine-tune LLMs | Gaia](#fine-tune-llms-gaia) - [Knowledge base from a plain text file | Gaia](#knowledge-base-from-a-plain-text-file-gaia) - [Knowledge base from source / summary pairs | Gaia](#knowledge-base-from-source-summary-pairs-gaia) - [Build a knowledge base using Gaia web tool | Gaia](#build-a-knowledge-base-using-gaia-web-tool-gaia) - [Knowledge base from a URL | Gaia](#knowledge-base-from-a-url-gaia) - [Knowledge base from a PDF file | Gaia](#knowledge-base-from-a-pdf-file-gaia) - [Knowledge base from a markdown file | Gaia](#knowledge-base-from-a-markdown-file-gaia) - [Install multiple nodes on a single machine | Gaia](#install-multiple-nodes-on-a-single-machine-gaia) - [Install CUDA on Linux | Gaia](#install-cuda-on-linux-gaia) - [Start a node with Docker | Gaia](#start-a-node-with-docker-gaia) - [Start a node on AWS using AMI images | Gaia](#start-a-node-on-aws-using-ami-images-gaia) - [Run a local-only node | Gaia](#run-a-local-only-node-gaia) --- # 👋 Welcome to Gaia | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page Gaia is a decentralized computing infrastructure that enables everyone to create, deploy, scale, and monetize their own AI agents that reflect their styles, values, knowledge, and expertise. It allows individuals and businesses to create AI agents. Each Gaia node provides: * a web-based chatbot UI [Chat with a Gaia node](https://rustcoder.gaia.domains/chatbot-ui/index.html) that is an expert on the Rust programming language. * an OpenAI compatible API. [See how](/agent-integrations/intro) to use a Gaia node as a drop-in OpenAI replacement in your favorite AI agent app. 100% of today's AI agents are applications in the OpenAI ecosystem. With our API approach, Gaia is an alternative to OpenAI. Each Gaia node has the ability to be customized with a fine-tuned model supplemented by domain knowledge which eliminates the generic responses many have come to expect. For example, a Gaia node for a financial analyst agent can write SQL code to query SEC 10K filings to respond to user questions. Similar Gaia nodes are organized into Gaia domains, to provide stable services by load balancing across the nodes. Gaia domains have public-facing URLs and promote agent services to their communities. When a user or an agent app sends an API request to the domain's API endpoint URL, the domain is responsible for directing the request to a node that is ready. Next steps:[​](#next-steps "Direct link to Next steps:") --------------------------------------------------------- ### Users[​](#users "Direct link to Users") If you are an end user of AI agent applications, you can: * [Find a list of interesting Gaia nodes you can chat with on the web, or access via API](/nodes) . * [Use a Gaia node as the backend AI engine for your favorite AI agent apps](/agent-integrations) . ### Node operators[​](#node-operators "Direct link to Node operators") If you are interested in running Gaia nodes, you can * [Get started with a Gaia node](/getting-started/quick-start) . * [Customize the Gaia node with a finetuned model and custom knowledge base](/getting-started/customize) . * [Join the Gaia Protocol](/getting-started/register) ### Domain operators[​](#domain-operators "Direct link to Domain operators") If you are a Gaia Domain Name owner, you can * [Launch your domain](/domain-guide/quick-start) . ### Creators[​](#creators "Direct link to Creators") If you are a creator or knowledge worker interested in creating your own AI agent service, you can: * [Create your own knowledge base](/knowledge-bases) . * [Finetune a model to "speak" like you](/tutorial/llamacpp) . * [Next steps:](#next-steps) * [Users](#users) * [Node operators](#node-operators) * [Domain operators](#domain-operators) * [Creators](#creators) --- # 💻 For Developers | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 [📄️ What is a Gaia node?\ ------------------------\ \ A Gaia node is an open-source developer platform that lets anyone build, launch, scale and monetize AI agents. It's like having your own personal AI assistant that you can customize and share with others.](/getting-started/what-is-a-node) [📄️ Setting up your own node\ ----------------------------\ \ This guide provides the requisite knowledge necessary to quickly get started with installing a Gaia node.](/getting-started/quick-start) [📄️ Get your API key\ --------------------\ \ We're introducing API keys for authentication. You can create API keys by following the steps below:](/getting-started/authentication) [📄️ Using your Gaia Node\ ------------------------\ \ When you start a Gaia node, or you find a node on the web, you could use it as a](/getting-started/mynode) [📄️ Customizing Your Gaia Node\ ------------------------------\ \ A key goal of the Gaia project is to enable each individual to create and run his or her own agent service node using finetuned LLMs and proprietary knowledge. In all likelihood, you are not going to run a node with the default Llama 3.2 LLM and Paris guidebook knowledge base.](/getting-started/customize) [📄️ Gaia CLI options\ --------------------\ \ After installing the Gaia software, you can use the gaianet CLI to manage the node. The following are the CLI options.](/getting-started/cli-options) [📄️ Joining the Gaia Protocol\ -----------------------------\ \ After successfully running a Gaia node on your machine, it's time to join the Gaia protocol network and get rewards for sharing computing power with the world by binding your node ID and device ID to a Metamask account.](/getting-started/register) [📄️ Troubleshooting\ -------------------\ \ The system cannot find CUDA libraries](/getting-started/troubleshooting) [📄️ Install or Uninstall the CLI\ --------------------------------\ \ The Gaia node utilizes version control from its source GitHub repo. You can check out the Gaia node versions from the release page.](/getting-started/install) [📄️ System requirements\ -----------------------\ \ You can install the Gaia on a wide variety of devices and operating systems with or without GPUs. The node installing and operating instructions work on devices ranging from Raspberry Pi, MacBooks, Linux servers, Windows Desktop, to cloud-based Nvidia H100 clusters. For institutional operators, we recommend EITHER of the following for a Gaia node.](/getting-started/system-requirements) [📄️ API Reference\ -----------------\ \ Introduction](/getting-started/api-reference) [🗃️ Advanced Deployment Options\ -------------------------------\ \ 6 items](/category/advanced-deployment-options) --- # 🛠️ For Node Operators | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page Node Operators focus on setting up, running, and maintaining Gaia nodes without requiring coding expertise. Running a GaiaNet node allows you to participate in the decentralized AI network and potentially earn rewards. The process is straightforward and can be completed in just a few minutes. Before you begin, ensure your system meets these [minimum requirements](/getting-started/system-requirements) Here you'll find everything you need to get started with running and managing your Gaia node. Getting Started[​](#getting-started "Direct link to Getting Started") ---------------------------------------------------------------------- Learn how to get started with your first GaiaNet node. [Learn More →](/getting-started/what-is-a-node) Node Setup & Authentication[​](#node-setup--authentication "Direct link to Node Setup & Authentication") --------------------------------------------------------------------------------------------------------- Step-by-step guide for node installation, setup, and security. * [Setting up your own node](/getting-started/quick-start) * [Authentication guide](/getting-started/authentication) Node Operations[​](#node-operations "Direct link to Node Operations") ---------------------------------------------------------------------- Learn about day-to-day operations and customization. * [Using your Gaia Node](/getting-started/mynode) * [Customizing Your Gaia Node](/getting-started/customize) Network & Protocol[​](#network--protocol "Direct link to Network & Protocol") ------------------------------------------------------------------------------ Join the network and start earning rewards. * [Gaia CLI options](/getting-started/cli-options) * [Joining the Gaia Protocol](/getting-started/register) System Requirements & Troubleshooting[​](#system-requirements--troubleshooting "Direct link to System Requirements & Troubleshooting") --------------------------------------------------------------------------------------------------------------------------------------- Make sure your system is ready and get help when needed. * [System requirements](/getting-started/system-requirements) * [Troubleshooting guide](/getting-started/troubleshooting) Advanced Deployment Options[​](#advanced-deployment-options "Direct link to Advanced Deployment Options") ---------------------------------------------------------------------------------------------------------- Learn about different deployment options. * [Install or Uninstall the CLI](/getting-started/install) * [Install multiple nodes](/getting-started/advanced-deployment-options/multiple) * [Run a local-only node](/getting-started/advanced-deployment-options/local) * [Protect the server process](/getting-started/advanced-deployment-options/protect) * [Getting Started](#getting-started) * [Node Setup & Authentication](#node-setup--authentication) * [Node Operations](#node-operations) * [Network & Protocol](#network--protocol) * [System Requirements & Troubleshooting](#system-requirements--troubleshooting) * [Advanced Deployment Options](#advanced-deployment-options) --- # 🧠 Knowledge Bases | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 [📄️ Intro to knowledge bases\ ----------------------------\ \ Knowledge bases are crucial components in Gaia's context for creating effective AI agents. They serve as structured repositories of information that agents can draw upon to answer questions, make decisions, and perform tasks.](/knowledge-bases/intro) [🗃️ How to create a knowledge base\ ----------------------------------\ \ 5 items](/knowledge-bases/how-to) [📄️ Build a knowledge base using Gaia web tool\ ----------------------------------------------\ \ Gaia has developed a tool for making vector collection snapshot files, so everyone can easily create their own knowledge base.](/knowledge-bases/web-tool) --- # Overview | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 1.0.0 On this page GaiaNet is a decentralized computing infrastructure that enables everyone to create, deploy, scale, and monetize their own AI agents that reflect their styles, values, knowledge, and expertise. It allows individuals and businesses to create AI agents. Each GaiaNet node provides: * a web-based chatbot UI [Chat with a GaiaNet node](https://rustcoder.gaia.domains/chatbot-ui/index.html) that is an expert on the Rust programming language. * an OpenAI compatible API. [See how](/1.0.0/user-guide/apps/intro) to use a GaiaNet node as a drop-in OpenAI replacement in your favorite AI agent app. 100% of today's AI agents are applications in the OpenAI ecosystem. With our API approach, GaiaNet is an alternative to OpenAI. Each GaiaNet node has the ability to be customized with a fine-tuned model supplemented by domain knowledge which eliminates the generic responses many have come to expect. For example, a GaiaNet node for a financial analyst agent can write SQL code to query SEC 10K filings to respond to user questions. Similar GaiaNet nodes are organized into GaiaNet domains, to provide stable services by load balancing across the nodes. GaiaNet domains have public-facing URLs and promote agent services to their communities. When a user or an agent app sends an API request to the domain's API endpoint URL, the domain is responsible for directing the request to a node that is ready. Next steps:[​](#next-steps "Direct link to Next steps:") --------------------------------------------------------- ### Users[​](#users "Direct link to Users") If you are an end user of AI agent applications, you can: * [Find a list of interesting GaiaNet nodes you can chat with on the web, or access via API](/1.0.0/user-guide/nodes) . * [Use a GaiaNet node as the backend AI engine for your favorite AI agent apps](/1.0.0/category/agent-frameworks-and-apps) . ### Node operators[​](#node-operators "Direct link to Node operators") If you are interested in running GaiaNet nodes, you can * [Get started with a GaiaNet node](/1.0.0/node-guide/quick-start) . * [Customize the GaiaNet node with a finetuned model and custom knowledge base](/1.0.0/node-guide/customize) . * [Join the Gaia Protocol](/1.0.0/node-guide/register) ### Domain operators[​](#domain-operators "Direct link to Domain operators") If you are a Gaia Domain Name owner, you can * [Launch your domain](/1.0.0/domain-guide/quick-start) . ### Creators[​](#creators "Direct link to Creators") If you are a creator or knowledge worker interested in creating your own AI agent service, you can: * [Create your own knowledge base](/1.0.0/category/knowledge-bases) . * [Finetune a model to "speak" like you](/1.0.0/category/gaianet-node-with-finetuned-llms) . * [Next steps:](#next-steps) * [Users](#users) * [Node operators](#node-operators) * [Domain operators](#domain-operators) * [Creators](#creators) --- # 🔌 Agent Integrations & Plugins | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 [📄️ OpenAI ecosystem apps\ -------------------------\ \ Since each Gaia node provides an OpenAI-compatible API service, it can be a drop-in replacement for OpenAI in almost all LLM applications and frameworks. Checkout the articles in this section for instructions and examples for how to use Gaia in popular LLM apps.](/agent-integrations/intro) [📄️ Dify + Gaia\ ---------------\ \ You can configure the Dify framework using any Gaia node as the backend LLM API. That allows you to use your own or community Gaia nodes in any application built on Dify. It supports](/agent-integrations/dify) [📄️ Open WebUI\ --------------\ \ You can configure the Open WebUI framework, a self-hosted WebUI, using any Gaia node as the backend LLM API. That allows you to use your own or community Gaia nodes in any application built on Open WebUI.](/agent-integrations/openwebui) [📄️ Anything LLM\ ----------------\ \ Anything LLM is the all-in-one Desktop & Docker AI application with full RAG and AI Agent capabilities. You can configure Anything LLM using the Gaia node as the LLM backend.](/agent-integrations/anything_llm) [📄️ Cursor AI IDE\ -----------------\ \ Cursor is an AI-powered code editor / IDE. Using LLMs to generate and review code, Cursor is an alternative to the very popular GitHub Copilot.](/agent-integrations/cursor) [📄️ Stockbot\ ------------\ \ Stockbot is a lightning fast AI Chatbot that responds with live interactive stock charts, financials, news, screeners, and more. You can configure a Gaia node as the LLM backend.](/agent-integrations/stockbot) [📄️ FlowiseAI RAG chat\ ----------------------\ \ FlowiseAI is a low-code tool for developers to build customized LLM orchestration flows & AI agents. You can configure the FlowiseAI tool to use Gaia nodes as LLM service providers.](/agent-integrations/flowiseai) [📄️ FlowiseAI tool call\ -----------------------\ \ FlowiseAI is a low-code tool for developers to build customized LLM orchestration flows & AI agents.](/agent-integrations/flowiseai-tool-call) [📄️ LobeChat\ ------------\ \ You can configure LobeChat to use a Gaia node as its backend LLM API. It provides a richer and more customizable UI than the default Gaia chatbot UI.](/agent-integrations/lobechat) [📄️ LlamaCloud\ --------------\ \ LlamaParse is an API created by LlamaIndex to efficiently parse and represent files for efficient retrieval and context augmentation using LlamaIndex frameworks. LlamaParse can support different kinds of files, like pdf, doc, .ppt, and other formats.](/agent-integrations/llamaparse) [📄️ Zed\ -------\ \ Zed is a next-generation code editor designed for high-performance collaboration with humans and AI, and it is written in Rust. You can use Zed with your own Gaia node as the LLM backend. There are two big reasons for that](/agent-integrations/zed) [📄️ Obsidian\ ------------\ \ Obsidian is a note-taking application that enables users to create, link, and visualize ideas directly on their devices. With Obsidian, you can seamlessly sync notes across devices, publish your work, and collaborate with others. The app is highly customizable, allowing users to enhance functionality through a wide range of plugins and themes. Its unique features include a graph view to visualize connections between notes, making it ideal for managing complex information and fostering creativity. Obsidian also emphasizes data privacy by storing notes locally.](/agent-integrations/obsidian) [📄️ CodeGPT\ -----------\ \ CodeGPT is a pair-programming partner for developers. It offers AI chat assistance, auto-completion, code explanation, error-checking, and much more. You can find the CodeGPT extension in VScode and Jetbrains. You can easily configure it to use Gaia nodes as LLM backends.](/agent-integrations/codegpt) [📄️ AI coding assistant: Continue\ ---------------------------------\ \ Continue is the leading open-source AI code assistant.](/agent-integrations/continue) [📄️ LlamaCoder\ --------------\ \ LlamaCoder is an open-source tool designed to generate small apps with a single prompt. It leverages LLM to help you quickly create and enhance React applications.](/agent-integrations/llamacoder) [📄️ Agent Zero\ --------------\ \ Agent Zero is a general purpose AI agent application. You can simply ask it to accomplish tasks on the command line.](/agent-integrations/agent-zero) [📄️ Translation Agent + Gaia\ ----------------------------\ \ The Translation Agent originally built by Prof. Andrew Ng, designed to facilitate accurate and efficient translation across multiple languages. It employs open source LLMs (Large Language Models) to provide high-quality translations. You can use any Gaia node as the LLM backend.](/agent-integrations/translation-agent) [📄️ A planning agent\ --------------------\ \ The gpt planner is a Python application that demonstrate the planning capabilities of LLMs. When you run it, it will ask the LLM to generate multiple action plans for a goal or a query. It will then ask the LLM to compare and select the best plan, and then rewrite it to answer the user query.](/agent-integrations/gpt-planner) [📄️ LlamaEdgeBook\ -----------------\ \ LlamaEdgeBook, forked from GroqBook, is an open-source tool that scaffolds the creation of books from a one-line prompt using open-source LLMs. You can configure the LlamaEdgeBook framework using any Gaia node as the backend LLM API.](/agent-integrations/llamaedgebook) [📄️ LlamaTutor\ --------------\ \ The LlamaTutor is a TypeScript](/agent-integrations/llamatutor) --- # 🔗 Domain Operator Guide | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 [📄️ Quick Start with Launching Gaia Domain\ ------------------------------------------\ \ This guide provides all the information you need to quickly set up and run a Gaia Domain.](/domain-guide/quick-start) --- # 🌐 Public Gaia Domain | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page Each Gaia node provides a web-based chatbot UI and an OpenAI compatible web service. Here are some popular nodes. Please refer to the [agent apps](/agent-integrations/intro) section to see how to use the Gaia API in your favorite agent frameworks or apps. Gaia nodes are organized into Gaia domains to provide public services. Each domain has a single API endpoint that load-balances across multiple nodes to ensure service availability. Below are some Gaia domains we provide for free to the public. Public Gaia domains[​](#public-gaia-domains "Direct link to Public Gaia domains") ---------------------------------------------------------------------------------- ### LLM: Llama 8b[​](#llm-llama-8b "Direct link to LLM: Llama 8b") This domain runs Llama 3.1 8b agent nodes without any additional knowledge. It is capable of tool / function calling. [Learn more](/tutorial/tool-call) how to use tool call models in your agent app. [Chat with it](https://llama8b.gaia.domains/chatbot-ui/index.html) or use it from another app. Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://llama8b.gaia.domains/v1](https://llama8b.gaia.domains/v1) | | Model Name (for LLM) | llama | | Model Name (for Text embedding) | nomic-embed | | API key | [Get your API Key here](/getting-started/authentication) | ### Voice-to-text: Whisper v2 large[​](#voice-to-text-whisper-v2-large "Direct link to Voice-to-text: Whisper v2 large") This domain runs Whisper v2 Large agent nodes for voice to text transcription and translation. Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://whisper.gaia.domains/v1](https://whisper.gaia.domains/v1) | | Model Name | whisper | | API key | [Get your API Key here](/getting-started/authentication) | ### Text-to-image: Realistic vision[​](#text-to-image-realistic-vision "Direct link to Text-to-image: Realistic vision") This domain runs stable diffusion agent nodes fine-tuned to generate realistic portraits. The model is [Realistic Vision V6.0 B1](https://civitai.com/models/4201/realistic-vision-v60-b1) . Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://portrait.gaia.domains/v1](https://portrait.gaia.domains/v1) | | Model Name | portrait | | API key | [Get your API Key here](/getting-started/authentication) | ### Text-to-voice: GPT-SoVITS[​](#text-to-voice-gpt-sovits "Direct link to Text-to-voice: GPT-SoVITS") Coming soon! Coding assistant agents[​](#coding-assistant-agents "Direct link to Coding assistant agents") ---------------------------------------------------------------------------------------------- ### Coder[​](#coder "Direct link to Coder") A general coding agent running a STOA coder LLM. It is a highly capable but slow model. [Chat with it](https://coder.gaia.domains/chatbot-ui/index.html) or use it from an IDE tool, such as [Cursor AI](/agent-integrations/cursor) or [Zed](/agent-integrations/zed) . Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://coder.gaia.domains/v1](https://coder.gaia.domains/v1) | | Model Name (for LLM) | coder | | Model Name (for Text embedding) | nomic-embed | | API key | [Get your API Key here](/getting-started/authentication) | ### Rust Coder[​](#rust-coder "Direct link to Rust Coder") A coding agent supplemented with open-source [Rust content](https://huggingface.co/datasets/gaianet/learn-rust) from the Rust Foundation and published books. [Chat with it](https://rustcoder.gaia.domains/chatbot-ui/index.html) or use it from an IDE tool, such as [Cursor AI](/agent-integrations/cursor) or [Zed](/agent-integrations/zed) . Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://rustcoder.gaia.domains/v1](https://rustcoder.gaia.domains/v1) | | Model Name (for LLM) | rustcoder | | Model Name (for Text embedding) | nomic-embed | | API key | [Get your API Key here](/getting-started/authentication) | Alternative LLM domains[​](#alternative-llm-domains "Direct link to Alternative LLM domains") ---------------------------------------------------------------------------------------------- ### Llama 3b[​](#llama-3b "Direct link to Llama 3b") This domain runs plain Llama 3.2 3b agent nodes without any additional knowledge. [Chat with it](https://llama3b.gaia.domains/chatbot-ui/index.html) or use it from another app. Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://llama3b.gaia.domains/v1](https://llama3b.gaia.domains/v1) | | Model Name (for LLM) | llama3b | | Model Name (for Text embedding) | nomic-embed | | API key | [Get your API Key here](/getting-started/authentication) | ### Qwen 7b[​](#qwen-7b "Direct link to Qwen 7b") The Qwen 7b LLM is great for non-English tasks such as translation. [Chat with it](https://qwen7b.gaia.domains/chatbot-ui/index.html) or use it from another app. Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://qwen7b.gaia.domains/v1](https://qwen7b.gaia.domains/v1) | | Model Name (for LLM) | qwen7b | | Model Name (for Text embedding) | nomic-embed | | API key | [Get your API Key here](/getting-started/authentication) | ### Qwen 72b[​](#qwen-72b "Direct link to Qwen 72b") The Qwen 72b LLM is a top open source LLM. It is very capable but could also be slow. It is capable of tool / function calling. [Learn more](/tutorial/tool-call) how to use tool call models in your agent app. [Chat with it](https://qwen72b.gaia.domains/chatbot-ui/index.html) or use it from another app. Replace OpenAI configuration in [your app](/agent-integrations/intro) with the following. | Config option | Value | | --- | --- | | API endpoint URL | [https://qwen72b.gaia.domains/v1](https://qwen72b.gaia.domains/v1) | | Model Name (for LLM) | qwen72b | | Model Name (for Text embedding) | nomic-embed | | API key | [Get your API Key here](/getting-started/authentication) | * [Public Gaia domains](#public-gaia-domains) * [LLM: Llama 8b](#llm-llama-8b) * [Voice-to-text: Whisper v2 large](#voice-to-text-whisper-v2-large) * [Text-to-image: Realistic vision](#text-to-image-realistic-vision) * [Text-to-voice: GPT-SoVITS](#text-to-voice-gpt-sovits) * [Coding assistant agents](#coding-assistant-agents) * [Coder](#coder) * [Rust Coder](#rust-coder) * [Alternative LLM domains](#alternative-llm-domains) * [Llama 3b](#llama-3b) * [Qwen 7b](#qwen-7b) * [Qwen 72b](#qwen-72b) --- # What is a Gaia node? | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page A Gaia node is an open-source developer platform that lets anyone build, launch, scale and monetize AI agents. It's like having your own personal AI assistant that you can customize and share with others. Here's a breakdown of the key components inside a Gaia node: * **WasmEdge Runtime**: WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices. It is the easiest and the fastest way to run LLMs on your own devices. Check the Github of WasmEdge [here](https://github.com/WasmEdge/WasmEdge) . * **LLM (Large Language Models)**: You can use any LLM from Huggingface, which is a platform hosting thousands of open-source models. Gaia has its own organization page on Huggingface where you can find optimized models for Gaia nodes. You can choose or fine-tune these models for specific tasks or knowledge areas. For example, you could select a model that's an expert in chemistry or one that mimics a particular writing style. Checkout Gaia on Huggingface [here](https://huggingface.co/gaianet) . * **RAG (Retrieval-Augmented Generation)**: This component helps the AI access and use relevant information from a knowledge base. It's like giving the AI the ability to quickly look up facts in a specialized encyclopedia before answering questions. * **Vector Database**: This stores information in a format that the AI can easily search and understand. It's similar to how a library organizes books, but for AI-friendly data. * **Multimodal | Embedding Models**: These allow the node to understand and work with different types of data, like text, images, or even audio. The embedding part helps convert this information into a format the AI can process efficiently. * **API Server**: This is the interface that allows users or applications to interact with the Gaia node. It's like a reception desk that takes requests and returns answers. * **Tool Usage and Function Calling**: These components allow the AI to use external tools or perform specific actions. For instance, the AI could use a calculator tool to solve math problems or call a weather API to get current weather information. * **Prompt Selection and Management**: This helps guide the AI's responses by providing context or instructions. It's like giving the AI a script to follow for different scenarios. * **Node ID**: This is a unique identifier for each Gaia node, allowing it to be recognized and connected to the larger Gaia system. Each Gaia node provides a specialized API service that encapsulates a unique combination of * a specialized and fine-tuned LLM (e.g., an LLM that excels in answering questions about the Rust programming language) * a domain-specific knowledge base (e.g., knowledge about the WasmEdge project) * an inference app that manages the context and history of conversations (e.g., RAG and MemGPT prompt injection) compute resources required to run the LLM app as an API service (e.g., a Nvidia GPU or a Mac M3 device) The Gaia node API service is fully compatible with the OpenAI JSON spec, and hence each Gaia node can function as an alternative backend for OpenAI-based frontends or agents. Gaia Protocol[​](#gaia-protocol "Direct link to Gaia Protocol") ---------------------------------------------------------------- The Gaia protocol connects and incentivizes Gaia nodes and domains to form a coherent network of web services for AI agents. It provides a mechanism to discover, connect to, and pay for Gaia node services through a decentralized marketplace. It also incentivizes domains to manage node agents through a staking program. Furthermore, the Gaia protocol connects model creators (i.e., people who have skills to finetune models) and knowledge providers to node operators through a marketplace. ![Gaia Protocol](/assets/images/gaia-protocol-82f49ecf93cb30699fc1168070630fce.png) * [Gaia Protocol](#gaia-protocol) --- # 📚 Guides & Tutorials | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 [📄️ Gaia nodes with long-term knowledge\ ---------------------------------------\ \ The LLM app requires both long-term and short-term memories. Long-term memory includes factual knowledge, historical facts, background stories etc. They are best added to the context as complete chapters instead of small chunks of text to maintain the internal consistency of the knowledge.](/tutorial/concepts) [📄️ Calling external tools\ --------------------------\ \ Tool calling is one of the truly "LLM native" interaction modes that has never existed before.](/tutorial/tool-call) [📄️ Agentic translation on Gaia\ -------------------------------\ \ Prof. Andrew Ng's agentic translation is a great demonstration on how to coordinate multiple LLM "agents" to work on a single task. It allows multiple smaller LLMs (like Llama-3 or Gemma-2) to work together and produce better results than a single large LLM (like ChatGPT).](/tutorial/translator-agent) [📄️ Fine-tune an open-source LLM with llama.cpp\ -----------------------------------------------\ \ You could fine-tune an open-source LLM to](/tutorial/llamacpp) [📄️ Working with Coinbase AgentKit\ ----------------------------------\ \ You can use a Gaia node to power the Coinbase AgentKit.](/tutorial/coinbase) [📄️ Working with eliza\ ----------------------\ \ Eliza is a simple, fast, and lightweight AI agent framework. Recently, eliza has integrated Gaia as one of the model service provider. This means you can now use Gaia as the LLM service backend for the Eliza framework.](/tutorial/eliza) [📄️ Prompt Engineering Tool\ ---------------------------\ \ Video Guide](/tutorial/prompt-engineering-tool) --- # ❓ Frequently Asked Questions | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 What is Gaia? Gaia is a platform for creating and deploying AI agents. It provides tools and infrastructure to build, train, and manage custom AI solutions for various applications. How do I create a knowledge base in Gaia? You can create a knowledge base in Gaia through several methods: 1. [From a plain text file](/knowledge-bases/how-to/text) 2. [From a markdown file](/knowledge-bases/how-to/markdown) 3. [From Source/Summary Pairs (or a CSV)](/knowledge-bases/how-to/csv) 4. [From a PDF file](/knowledge-bases/how-to/pdf) 5. [From a URL](/knowledge-bases/how-to/firecrawl) Each method is detailed in our ["How to create a knowledge base"](/knowledge-bases) guide. Is Gaia suitable for enterprise use? Yes, Gaia is designed with enterprise needs in mind. It offers: * Scalable infrastructure * Security features for sensitive data * Integration capabilities with existing systems * Customization options for specific industry needs --- # Setting up your own node | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page This guide provides the requisite knowledge necessary to quickly get started with installing a Gaia node. ### Prerequisites[​](#prerequisites "Direct link to Prerequisites") Before you get started, ensure that you have the following on your system: | System | Minimum Requirements | | --- | --- | | OSX with Apple Silicon (M1-M4 chip) | 16GB RAM (32GB recommended) | | Ubuntu Linux 20.04 with Nvidia CUDA 12 SDK | 8GB VRAM on GPU | | Azure/AWS | Nvidia T4 GPU Instance | Learn more about [system requirements](/getting-started/system-requirements) . ### Installing the node[​](#installing-the-node "Direct link to Installing the node") 1. Use the following command to download the latest version of the Gaia node: curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash 2. Run the command printed on the terminal to set up the environment path, it is started with `source`. ![](/assets/images/quick-start-96fed073147105b82f4885934602852b.png) 3. Use the following command to initialize the Gaia node according to the configuration options in `$HOME/gaianet/config.json`. By default, the Gaia is initialized with a [Llama 3.2](https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct) LLM and a [knowledge base about Paris](https://huggingface.co/datasets/gaianet/paris) . This command could take some time since it will download a very large LLM file. gaianet init 4. Use the following command to start your node: gaianet start #### After starting your node[​](#after-starting-your-node "Direct link to After starting your node") * A successful start prints a public URL for the node. Opening a browser to that URL will display the node information and allow you to chat with the AI agent on the node. ... ... https://0xf63939431ee11267f4855a166e11cc44d24960c0.gaianet.xyz * To stop the node: `gaianet stop` Video Guide[​](#video-guide "Direct link to Video Guide") ---------------------------------------------------------- Next steps[​](#next-steps "Direct link to Next steps") ------------------------------------------------------- * [Customize](/getting-started/customize) your node. You probably do not wish to just run the default Phi-3 model and Paris knowledge base. * [Join the Gaia Protocol](/getting-started/register) and join the Gaia protocol network to receive payments. * [Ensure Node Reliability](/getting-started/advanced-deployment-options/protect) the node server to ensure stable service. * [Prerequisites](#prerequisites) * [Installing the node](#installing-the-node) * [Video Guide](#video-guide) * [Next steps](#next-steps) --- # Get your API key | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page We're introducing API keys for authentication. You can create API keys by following the steps below: 1. Go to [https://gaianet.ai](https://gaianet.ai) and click on **Launch App** 2. Click **CONNECT** and connect your Metamask Wallet 3. After connecting your wallet, click on the profile drop down and then click **Setting** ![](/assets/images/settings-for-api-12fe9b183d793b1b6c67c2836b49c790.png) 4. Under **Setting**, click on **Gaia API Keys** and then **Create API Key** ![](/assets/images/settings-for-api-keys-9796ca33d6aa6b8ce205bf388c3e07eb.png) 5. Give your API Key a name and click **Create** Important Remember that your API key is a secret! Do not share it with others or expose it in any client-side code (browsers, apps). Production requests must be routed through your own backend server where your API key can be securely loaded from an environment variable or key management service. ![](/assets/images/create-api-key-5911b944e10616af0e31670920beff5c.png) ![](/assets/images/api-key-created-bbfb92a8c7df41f38a6ac3f7d448e757.png) Tip Your API Key is like a password and helps verify your usage. This will be one of the last times you‘ll see it displayed, so remember to save it in a safe place. Important[​](#important "Direct link to Important") ---------------------------------------------------- #### API Keys are now available for all your applications and usage.[​](#api-keys-are-now-available-for-all-your-applications-and-usage "Direct link to API Keys are now available for all your applications and usage.") Currently, we don't charge anything for usage or API key creation. However, it is highly recommendation that you start using and updating your existing applications or new ones with your own API keys to avoid any disruption in the future. Please refer to the [API Reference](/getting-started/api-reference) page for the updated examples with the API keys usage. * [Important](#important) --- # Using your Gaia Node | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page When you [start a Gaia node](/getting-started/quick-start) , or you find a node on the web, you could use it as a web-based chatbot UI and an OpenAI compatible web service. Just load the node's public URL in the browser to open its dashboard. Let's say the URL is as follows. https://0x1234...xyz.gaianet.network/ > Please refer to the [agent apps](/agent-integrations/intro) > section to see how to use the Gaia node API in your favorite agent frameworks or apps. Web-based chatbot[​](#web-based-chatbot "Direct link to Web-based chatbot") ---------------------------------------------------------------------------- On the Gaia node dashboard, you will see a "Chat with this node" button. ![](/assets/images/chat_button-8557659182506ceed736a17b449dd9d8.png) OpenAI API replacement[​](#openai-api-replacement "Direct link to OpenAI API replacement") ------------------------------------------------------------------------------------------- The Gaia node is a drop-in replacement for OpenAI API in [agent and LLM apps](/agent-integrations/intro) . On the Gaia node dashboard, you will see a table that shows how to replace OpenAI parameters in those apps. ![](/assets/images/openai_api_options-6610435c06758b955dcd1f73bcfd1d52.png) * [Web-based chatbot](#web-based-chatbot) * [OpenAI API replacement](#openai-api-replacement) --- # 📄 Litepaper | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page GaiaNet: GenAI Agent Network ============================ Abstract[​](#abstract "Direct link to Abstract") ------------------------------------------------- Specialized, finetuned and RAG-enhanced open-source Large Language Models are key elements in emerging AI agent applications. However, those agent apps also present unique challenges to the traditional cloud computing and SaaS infrastructure, including new requirements for application portability, virtualization, security isolation, costs, data privacy, and ownership. GaiaNet is a decentralized computing infrastructure that enables everyone to create, deploy, scale, and monetize their own AI agents that reflect their styles, values, knowledge, and expertise. A GaiaNet node consists of a high-performance and cross-platform application runtime, a finetuned LLM, a knowledge embedding model, a vector database, a prompt manager, an open API server, and a plugin system for calling external tools and functions using LLM outputs. It can be deployed by any knowledge worker as a digital twin and offered as a web API service. A new class of tradeable assets and a marketplace could be created from individualized knowledge bases and components. Similar GaiaNet nodes are organized into GaiaNet domains, which offer trusted and reliable AI agent services to the public. The GaiaNet node and domains are governed by the GaiaNet DAO (Decentralized Autonomous Organization). Through Purpose Bound Money smart contracts, the GaiaNet network is a decentralized marketplace for AI agent services. Introduction[​](#introduction "Direct link to Introduction") ------------------------------------------------------------- The emergence of ChatGPT and Large Language Model (LLM) has revolutionized how humans produce and consume knowledge. Within a year, AI-native applications have evolved from chatbots to copilots, to agents. > AI agents would increasingly evolve from supportive tools (akin to Copilots) to autonomous entities capable of completing tasks independently. — Dr. Andrew Ng at Sequoia Capital AI Ascent 2024 Summit Agents are software applications that can complete tasks on its own autonomously like a human. The agent can understand the task, plan the steps to complete the task, execute all the steps, handle errors and exceptions, and deliver the results. While a powerful LLM could act as the “brain” for the agent, we need to connect to external data sources (eyes and ears), domain-specific knowledge base and prompts (skills), context stores (memory), and external tools (hands). For agent tasks, we often need to customize the LLM itself * to reduce hallucinations in a specific domain. * to generate responses in a specific format (e.g., a JSON schema). * to answer “politically incorrect” questions (e.g., to analyze CVE exploits for an agent in the security domain). * and to answer requests in a specific style (e.g., to mimic a person). ![What is a GaiaNet agent](/assets/images/gaianet_agent-f614c7c96d8253e1b4024e396b96169e.png) Agents are complex software that require significant amount of engineering and resources. Today, most agents are close-source and hosted on SaaS-based LLMs. Popular examples include GPTs and Microsoft/GitHub copilots on OpenAI LLMs, and Duet on Google’s Gemini LLMs. However, as we discussed, a key requirement for agents is to customize and adapt its underlying LLM and software stack for domain-specific tasks — an area where centralized SaaS perform very poorly. For example, with ChatGPT, every small task must be handled by a very large model. It is also enormously expensive to fine-tune or modify any ChatGPT models. The one-size-fits-all LLMs are detrimental to the agent use case in capabilities, alignment, and cost structure. Furthermore, the SaaS hosted LLMs lack privacy controls on how the agent’s private knowledge might be used and shared. Because of these shortcomings, it is difficult for individual knowledge workers to create and monetize agents for his or her own domain and tasks on SaaS platforms like OpenAI, Google, Anthropic, Microsoft and AWS. In this paper, we propose a decentralized software platform and protocol network for AI agents for everyone. Specifically, our goals are two-folds. **Goal #1:** Empower individuals to incorporate his/her private knowledge and expertise into personal LLM agent apps. Those apps aim to perform knowledge tasks and use tools just as the individual would, but also reflect the individual’s style and values. **Goal #2:** Enable individuals to provide and scale their LLM agents as services, and get compensated for their expertise and work. > GaiaNet is “YouTube for knowledge and skills.” Open-source and decentralization[​](#open-source-and-decentralization "Direct link to Open-source and decentralization") ------------------------------------------------------------------------------------------------------------------------- As of April 2024, there are over 6000 open-source LLMs published on Hugging face. Compared with close-source LLMs, such as GPT-4, open-source LLMs offer advantages in privacy, cost, and systematic bias. Even with general QA performance, open-source LLMs are closing the gap with close-source counterparties quickly. ![Open vs close source LLMs](/assets/images/closed_vs_open-7465b42b1c6b33cfebee85ed6c721e5a.jpg) For AI agent use cases, it has been demonstrated that smaller but task-specific LLMs often outperform larger general models. However, it is difficult for individuals and businesses to deploy and orchestrate multiple finetuned LLMs on their own heterogeneous GPU infrastructure. The complex software stack for agents, as well as the complex interaction with external tools, are fragile and error-prone. Furthermore, LLM agents have entirely different scaling characteristics than past application servers. LLM is extremely computationally intensive. A LLM agent server can typically only serve one user at a time, and it often blocks for seconds at a time. The scaling need is no longer to handle many async requests on a single server, but to load balance among many discrete servers on the internet scale. The GaiaNet project provides a cross-platform and highly efficient SDK and runtime for finetuned open-source LLMs with proprietary knowledge bases, customized prompts, structured responses, and external tools for function calling. A GaiaNet node can be started in minutes on any personal, cloud, or edge device. It can then offer services through an incentivized web3 network. GaiaNet node[​](#gaianet-node "Direct link to GaiaNet node") ------------------------------------------------------------- The basic operational unit in the GaiaNet network is a node. A GaiaNet node is a streamlined software stack that allows any technically competent person to run an AI agent of his own. The software stack on the GaiaNet node consists of the following 7 key components. ![GaiaNet node architecture](/assets/images/gaianet_node-91f817661a1d3e1f4f7628f809ed6c70.png) **1 Application runtime.** GaiaNet applications run in a lightweight, secure and high-performance sandbox called WasmEdge. As an open-source project managed by the Linux Foundation and CNCF, WasmEdge runtime works seamlessly with leading cloud native tools such as Docker, containerd, CRI-O, Podman and Kubernetes. It is also the virtual machine of choice by leading public blockchains to securely and efficiently execute on-chain and off-chain smart contracts. WasmEdge is a high-performance and cross-platform runtime. It can run AI models on almost all CPUs, GPUs, and AI accelerators at native speed, making it an ideal runtime for decentralized AI agents. **2 Finetuned LLM.** The GaiaNet node supports almost all open-source LLMs, multimodal models (eg Large Vision Models or LVMs), text-to-image models (eg Stable Diffusion) and text-to-video models. That includes all finetuned models using personal or proprietary data. The node owner can finetune open-source models using a wide variety of tools. For example, the node owner can finetune an LLM using personal chat histories so that the finetuned LLM can mimic his own speaking style. He can also finetune an LLM to focus it on a specific knowledge domain to reduce hallucinations and improve answer quality for questions in that domain. A finetuned LLM can guarantee to output JSON text that matches a pre-determined schema for use with external tools. Besides LLMs, the node owner could finetune Stable Diffusion models with her own photos to generate images that look like her. **3 Embedding model.** The GaiaNet node needs to manage a body of public or proprietary knowledge for the AI agent. It is a key feature that enables the agent to specialize and outperform much larger models in a specific domain. The embedding models are specially trained LLMs that turns input sentences into a vector representation, instead of generating completions. Since the embedding models are trained from LLMs, they can “embed” the “meaning” of the sentences into the vectors so that similar sentences are located close together in the high dimensional space occupied by those vectors. With the embedding model, a GaiaNet node can ingest a body of text, images, PDFs, web links, audio and video files, and generate a collection of embedding vectors based on their contents. The embedding model also turns user questions and conversations into vectors, which allows the GaiaNet node to quickly identify contents in its knowledge base that are relevant to the current conversation. **4 Vector database.** The embedding vectors that form GaiaNet node’s knowledge base are stored on the node itself for optimal performance and maximum privacy. The GaiaNet node includes a Qdrant vector database. **5 Custom prompts.** Besides finetuning and knowledge arguments, the easiest way to customize an LLM for new applications is simply to prompt it. Like humans, LLMs are remarkable one-shot learners. You can simply give it an example of how to accomplish a task, and it will learn and do similar tasks on its own. Prompt engineering is a practical field to research and develop such prompts. Furthermore, effective prompts could be highly dependent on the model in use. A prompt that works well for a large model, such as Mixtral 8x22b, is probably not going to work well for a small model like Mistral 7b. The GaiaNet node can support several different prompts that are dynamically chosen and used in applications. For example, * The `system_prompt` is a general introduction to the agent task the node is supposed to perform. It often contains a persona to help the LLM respond with the right tone. For example, the `system_prompt` for a college teaching assistant could be: “You are a teaching assistant for UC Berkeley’s computer science 101 class. Please explain concepts and answer questions in detail. Do not answer any question that is not related to math or computer science.” * The `rag_prompt` is a prefix prompt to be dynamically inserted in front of knowledge base search results in an RAG chat. It could be something like this: “Please answer the question based on facts and opinions in the context below. Do not make anything that is not in the context. ---------” The LLM community has developed many useful prompts for different application use cases. GaiaNet node allows you to easily manage and experiment with them. Through the our developer SDK, GaiaNet owners and operators could customize the logic of dynamic prompt generation in their own way. For example, a GaiaNet node could perform a Google search for any user question, and add the search results into the prompt as context. **6 Function calls and tool use.** The LLM not only is great at generating human language, but also excels at generating machine instructions. Through finetuning and prompt engineering, we could get some LLMs to consistently generate structured JSON objects or computer code in many language tasks, such as summarizing and extracting key elements from a paragraph of text. The GaiaNet node allows you to specify the output format of the generated text. You can give it a grammar specification file to enforce that responses will always conform to a pre-defined JSON schema. Once the LLM returns a structured JSON response, the agent typically need to pass the JSON to a tool that performs the task and comes back with an answer. For example, the user question might be. What is the weather like in Singapore? The LLM generates the following JSON response. {"tool":"get_current_weather", "location":"Singapore","unit":"celsius"} The GaiaNet node must know what is the tool associated with get\_current\_weather and then invoke it. GaiaNet node owners and operators can configure any number of external tools by mapping a tool name with a web service endpoint. In the above example, the get\_current\_weather tool might be associated with a web service that takes this JSON data. The GaiaNet node sends the JSON to the web service endpoint via HTTPS POST and receives an answer. 42 It then optionally feeds the answer to the LLM to generate a human language answer. The current weather in Singapore is 42C. Through the GaiaNet node SDK, developers are not limited to using web services. They can write plugins to process LLM responses locally on the node. For example, the LLM might return Python code, which can be executed locally in a sandbox and for the GaiaNet node to perform a complex operation. **7 The API server.** All GaiaNet nodes must have the same API for questions and answers. That allows front-end applications to work with, and potentially be load-balanced to any GaiaNet node. We choose to support the OpenAI API specification, which enables GaiaNet nodes to become drop-in replacements for OpenAI API endpoints for a large ecosystem of applications. The API server runs securely and cross-platform on the WasmEdge runtime. It ties together all the other components in the GaiaNet node. It receives user requests, generates an embedding from the request, searches the vector database, adds search results to the prompt context, generates an LLM response, and then optionally uses the response to perform function calling. The API server also provides a web-based chatbot UI for users to chat with the RAG-enhanced finetuned LLM on the node. GaiaNet network[​](#gaianet-network "Direct link to GaiaNet network") ---------------------------------------------------------------------- While each GaiaNet node is already a powerful AI agent capable of answering complex questions and performing actions, individual nodes are not suitable for providing public services. There are several important reasons. * For the public consumers and users, it is very hard to judge the trustworthiness of individual GaiaNet nodes. Harmful misinformation could be spread by malicious node operators. * For GaiaNet node owners and operators, there is no economic incentive to provide such services to the public, which could be very costly to run. * The AI agent servers have very different scaling characteristics than traditional internet application servers. When the agent is processing a user request, it typically takes up all the computing resources on the hardware. Instead of using software to scale concurrent users on a single server, the challenge of GaiaNet is to scale to many different identical nodes for a large application. Those challenges have given rise to the GaiaNet domain, which forms the basis of the GaiaNet web3 network. A GaiaNet domain is a collection of GaiaNet nodes available under a single Internet domain name. The domain operator decides which GaiaNet nodes can be registered under the domain and makes the node services available to the public. For example, a GaiaNet domain might be a Computer Science teaching assistant for UC Berkeley. The domain could provide services through `https://cs101.gaianet.berkeley.edu`. The domain operator needs to do the following. * Verify and admit individual nodes to be registered under the domain. Those nodes must all meet requirements, such as the LLM, knowledge base, and prompts, set by the domain operator to ensure service quality. The node registration on a domain could be done via a whitelist or blacklist. It is up to the domain operator. * Monitor each node’s performance at real time and remove inactive ones. * Promotes the “teaching assistant” chatbot apps to the target audience. * Set the price for the API services. * Load balance between active nodes. * Getting paid by users. * Pay nodes for their services. ![GaiaNet network architecture](/assets/images/gaianet_eco-cd68b47237f0227986c6317281b31ccb.png) Each GaiaNet node has an unique node ID in the form of an ETH address. The private key associated with the ETH address is stored on the node. Once a node is successfully registered with a domain, it is entitled to receive payments from both service revenue and network awards from the domain. The domain could send payments directly to the node's ETH address. Or, the domain could provide a mechanism for a node operator to register multiple nodes under a single Metamask address, such as signing a challenge phrase using the node private keys. In that case, the node operator will receive aggregated payments in his Metamask account for all associated nodes. Each GaiaNet domain has an associated smart contract that is used for escrow payments. It is similar to OpenAI’s credit payment model, where users purchase credits first, and then consume them over time. When the user pays into the smart contract, an access token will be automatically issued to him. He uses this token to make API calls to the domain, which is then load-balanced to random nodes in the domain. As the user consumes those services, his fund in the contract depletes and the access token stops working if he no longer has any balance. The pricing and payment of the API service are determined by the domain operator. It is typically denominated in USD stable coins. The domain operator pays a share of the revenue to node operators who provided the services. The GaiaNet network is a decentralized marketplace of agent services. > The funds locked in GaiaNet domain contracts are for a single purpose of consuming API services. It is called Purpose Bound Money. A key aspect of the GaiaNet protocol is that the domain operators are “trust providers” in the ecosystem of decentralized nodes. The protocol network is designed to incentivize the trust of the operators through tokenomics designs such as mining and staking. GaiaNet nodes, domains, users, and developers form a DAO to grow the network and benefit all contributors. GaiaNet token[​](#gaianet-token "Direct link to GaiaNet token") ---------------------------------------------------------------- The GaiaNet token is a utility token designed to facilitate transactions, support governance, and foster trust in the network. It serves three primary purposes. * As a DAO governance token, holders can participate in setting the rules of the network. * As a staking token, holders vouch for domain operators’ trustworthiness. Stakers get a cut from the domain operator’s service revenue. But they could also be slashed if the domain operator misbehave, such as spreading misinformation or providing unreliable services. * As a payment token, the GaiaNet token could be deposited into the domain’s escrow contract and be used to pay for services over time. The payment utility of the GaiaNet token is designed to balance the network supply and demand. The value of the GaiaNet token asset is determined at the time when it enters or leaves the escrow smart contract based on real-time exchange rates. Service consumers could lock in savings from the potential appreciation of the token. For example, if a user deposits $100 worth of GaiaNet tokens into the contract, and when the domain and nodes get paid, the token value has gone up to $110, he would have received $110 worth of agent services. Conversely, if the token price drops, the service providers (domains and nodes) now have an opportunity to “mine” the tokens on the cheap. If the $100 initial tokens is only worth $90 now, service providers will get more tokens for each unit of electricity and compute they provide. That incentivizes more nodes to join the network and speculate on a later rise in token value. > An exercise: OpenAI is projected to reach $5 billion in ARR in 2024. Assume that most enterprise customers pay quarterly, that is $1.25 billion of circulation market cap in addition to OpenAI’s current enterprise value if they were to issue a payment token. The overall AI services market size is projected to reach $2 trillion in a few years. That translates to $500 billion market cap for a payment utility token alone. Component marketplace for AI assets[​](#component-marketplace-for-ai-assets "Direct link to Component marketplace for AI assets") ---------------------------------------------------------------------------------------------------------------------------------- GaiaNet is a developer platform to create your agent services. We provide tools for you to do these. * Tools to generate finetuning datasets and perform finetuning on CPU and GPU machines. * Tools to ingest documents and create vector embeddings for the knowledge base. * Rust-based SDK to dynamically generate and manage prompts. * Rust-based SDK to extend the agent’s capability for invoking tools and software on the node. For developers who do not wish to operate nodes, we are building a marketplace for * finetuned models * knowledge bases and datasets * function-calling plugins All those components are blockchain-based assets represented by NFTs. A node operator could purchase NFTs for the components it wishes to use, and share service revenue with the component developers. That enables diverse and cashflow-generating assets to be issued from the GaiaNet ecosystem. Conclusion[​](#conclusion "Direct link to Conclusion") ------------------------------------------------------- GaiaNet provides open-source tools for individuals and teams to create agent services using their proprietary knowledge and skills. Developers could create finetuned LLMs, knowledge collections, and plugins for the agent, and issue assets based on those components. The GaiaNet protocol makes those nodes discoverable and accessible through GaiaNet domains. * [Abstract](#abstract) * [Introduction](#introduction) * [Open-source and decentralization](#open-source-and-decentralization) * [GaiaNet node](#gaianet-node) * [GaiaNet network](#gaianet-network) * [GaiaNet token](#gaianet-token) * [Component marketplace for AI assets](#component-marketplace-for-ai-assets) * [Conclusion](#conclusion) --- # Customizing Your Gaia Node | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page A key goal of the Gaia project is to enable each individual to create and run his or her own agent service node using finetuned LLMs and proprietary knowledge. In all likelihood, you are not going to run a node with the [default](/getting-started/quick-start) Llama 3.2 LLM and Paris guidebook knowledge base. In this chapter, we will discuss ways to customize your node. Pre-set configurations[​](#pre-set-configurations "Direct link to Pre-set configurations") ------------------------------------------------------------------------------------------- All the node configuration options, such as LLM settings, vector collection for the knowledge base, and prompts, are all in the `gaianet/config.json` file. You can edit this file directly to use your models and vector collections. Or, you can select a different `config.json` when you initialize the node. Just pass in a URL to the `config.json` file in your `gaianet init` command. We have several pre-set `config.json` files to choose from [in this repo](https://github.com/GaiaNet-AI/node-configs) . For example, the following command initialize a Gaia node with a Llama 3 8B model. gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-8b-instruct/config.json > The URL to the `config.json` must point to the actual text file. (i.e., the `raw.githubusercontent.com` URL for GitHub links) instead of the GitHub HTML page for that file. The config subcommand[​](#the-config-subcommand "Direct link to The config subcommand") ---------------------------------------------------------------------------------------- After you have initialized the node, you can still make changes to its configuration by editing the `config.json` file directly. But it is easier and safer to use the `gaianet` CLI to make changes. note You MUST run `gaianet init` and `gaianet start` again after you make any changes to the node configuration. The following command shows the `config.json` fields you can make changes to. gaianet config list Now, let's look at some examples. ### Select an LLM[​](#select-an-llm "Direct link to Select an LLM") There are over 10,000 finetuned open-source LLMs you can choose from on Huggingface. They each have different sizes (larger models are more capable but more expensive to run), unique capabilities (e.g., uncensored, to excel in math or reasoning, to support large context length etc), domain expertise (e.g., medicine, coding), and / or styles (e.g., to speak like a teacher or a pirate, to respond in code, to follow conversations). To replace Gaia node's default LLM with an alternative finetuned model, you will need to make changes to the model file, prompt template, and model context length parameters. Those parameters vary depending on the model, but they can be found on the [Gaia Huggingface organization's](https://huggingface.co/gaianet) model cards. For example, the following command changes the LLM to a Llama 3 8B model. gaianet config \ --chat-url https://huggingface.co/gaianet/Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q5_K_M.gguf \ --chat-ctx-size 4096 \ --prompt-template llama-3-chat > The llama 3 8B model requires at least 16GB of RAM. If none of the published finetuned models are perfect for your use case, you can also finetune your own LLM by following [these guides](/tutorial/llamacpp) . Your Gaia node can run your own finetuned models. > The `--chat-url` argument could point to a local file under `$HOME/gaianet` instead of a public URL. That allows you to use a privately trained or finetuned LLM model file. ### Select a knowledge base[​](#select-a-knowledge-base "Direct link to Select a knowledge base") A key feature of Gaia is that users can create and deploy proprietary knowledge base on the node to supplement the LLM. Each knowledge base is a snapshot file for a vector collection. We encourage you to [create your own knowledge base](/knowledge-bases/how-to) . But you can also use ready-made knowledge bases. You will need to do the following. * specify the URL to the vector collection (i.e., the `snapshot` or `snapshot.tar.gz` file) in the `snapshot` option. * use the same embedding model that generated this vector collection. * modify the `system_prompt` to give the model background knowledge. * modify the `rag_prompt` to instruct the model to answer the question when context is retrieved from the vector collection. The following example changes the knowledge base in the node from "Paris guidebook" to "London guidebook". gaianet config \ --snapshot https://huggingface.co/datasets/gaianet/london/resolve/main/london_768_nomic-embed-text-v1.5-f16.snapshot.tar.gz \ --embedding-url https://huggingface.co/gaianet/Nomic-embed-text-v1.5-Embedding-GGUF/resolve/main/nomic-embed-text-v1.5.f16.gguf \ --embedding-ctx-size 8192 \ --system-prompt "You are a tour guide in London, UK. Please answer the question from a London visitor accurately." \ --rag-prompt "The following text is the context for the user question.\n----------------\n" > The `--snapshot` could point to a local file under `$HOME/gaianet` instead of a public URL. That allows you to use a private vector collection snapshot. Depending on the quality and size of the vectors, you might also need to change the `qdrant-` options to customize the retrieval behavior. * `qdrant-limit` sets the max number of relevant context to add to the prompt. If your knowledge base consists of large sections of text (i.e., each book chapter is a vector), you should probably make this 1 or 2 to limit the prompt length to a reasonable size. * `qdrant-score-threshold` is the min match "score" the knowledge content must meet in order to be considered "relevant". This depends on the quality of the knowledge text and the embedding model. In general, this score should be over 0.5 to reduce irrelevant context in the prompt. > The embedding model encodes and transforms text into vectors so that the can be stored, searched and retrieved. For different context material, you might need a different embedding model to achieve the optimal performance. The [MTEB leaderboard](https://huggingface.co/spaces/mteb/leaderboard) > is a good place to see the performance benchmarks of embedding models. You can find many of them in the [gaia organization on Huggingface](https://huggingface.co/gaianet) > . ### Customize prompts[​](#customize-prompts "Direct link to Customize prompts") In `config.json`, you can also customize the prompts. Prompts are often tailored for the finetuned LLM or the knowledge base to generate optimal responses from the node. The `--system-prompt` option sets a system prompt. It provides the background and "personality" of the node. Each API request can set its own system prompt. The `--rag-prompt` is the prompt to be appended after the system prompt (or user query). It introduces the RAG context retrieved from the vector database, which follows it. The `--rag-policy` option specifies where the `rag-prompt` and context should go. By default, its value is `system-message` and it puts the context in the system prompt. But you could also set it to `last-user-message`, which puts the `rag-prompt` and context in front of the latest message from the user. Next steps[​](#next-steps "Direct link to Next steps") ------------------------------------------------------- Remember to re-initialize and re-start the node after you make configuration changes. # If the node is running# gaianet stopgaianet initgaianet start Next, you can * [Create a knowledge base](/knowledge-bases/how-to) from your proprietary knowledge or skills. * [Finetune](/tutorial/llamacpp) your own LLM. Have fun! * [Pre-set configurations](#pre-set-configurations) * [The config subcommand](#the-config-subcommand) * [Select an LLM](#select-an-llm) * [Select a knowledge base](#select-a-knowledge-base) * [Customize prompts](#customize-prompts) * [Next steps](#next-steps) --- # OpenAI ecosystem apps | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page Since each Gaia node provides an OpenAI-compatible API service, it can be a drop-in replacement for OpenAI in almost all LLM applications and frameworks. Checkout the articles in this section for instructions and examples for how to use Gaia in popular LLM apps. The OpenAI Python library[​](#the-openai-python-library "Direct link to The OpenAI Python library") ---------------------------------------------------------------------------------------------------- note Make sure to replace `YOUR_API_KEY_GOES_HERE` with your **own API key**. To get your own API key, follow [this](/getting-started/authentication) tutorial. You can install the [official OpenAI Python library](https://pypi.org/project/openai/) as follows. pip install openai When you create an OpenAI client using the library, you can pass in the API endpoint point as the `base_url`. Remember to append the `/v1` after the host name. You can find a list of public nodes [here](/nodes) . import openaiclient = openai.OpenAI(base_url="https://YOUR-NODE-ID.us.gaianet.network/v1", api_key="YOUR_API_KEY_GOES_HERE") Alternatively, you could set an environment variables at the OS level. export OPENAI_API_BASE=https://YOUR-NODE-ID.us.gaianet.network/v1export OPENAI_API_KEY=YOUR_API_KEY_GOES_HERE Then, when you make API calls from the `client`, make sure that the `model` is set to the model name available on your node. response = client.chat.completions.create( model="Meta-Llama-3-8B-Instruct-Q5_K_M", messages=[ {"role": "system", "content": "You are a strategic reasoner."}, {"role": "user", "content": "What is the purpose of life?"} ], temperature=0.7, max_tokens=500 ]) That's it! You can now take any application built with the official OpenAI Python library and use a Gaia node as its backend! The OpenAI Node API library[​](#the-openai-node-api-library "Direct link to The OpenAI Node API library") ---------------------------------------------------------------------------------------------------------- note Make sure to replace `YOUR_API_KEY_GOES_HERE` with your **own API key**. To get your own API key, follow [this](/getting-started/authentication) tutorial. You can install the [OpenAI Node library](https://www.npmjs.com/package/openai) which provides convenient access to the OpenAI REST API from TypeScript or JavaScript as follows: npm install openai Import it into your project as: // Example usage in Node.jsconst OpenAI = require('openai'); Create an OpenAI client with a custom base URL. Remember to append the `/v1` after the host name. const client = new OpenAI({ baseURL: 'https://YOUR-NODE-ID.us.gaianet.network/v1', apiKey: 'YOUR_API_KEY_GOES_HERE'}); Alternatively, you can set an environment variable using `dotenv` in Node. process.env.OPENAI_API_BASE = 'https://YOUR-NODE-ID.us.gaianet.network/v1'; Then, when you make API calls from the `client`, make sure that the `model` is set to the model name available on your node. async function callOpenAI() { try { const response = await client.chat.completions.create({ model: "Meta-Llama-3-8B-Instruct-Q5_K_M", messages: [ { role: "system", content: "You are a strategic reasoner." }, { role: "user", content: "What is the purpose of life?" } ], temperature: 0.7, max_tokens: 500 }); console.log(response.choices[0].message.content); } catch (error) { console.error('Error:', error); }}//UsagecallOpenAI(); * [The OpenAI Python library](#the-openai-python-library) * [The OpenAI Node API library](#the-openai-node-api-library) --- # Gaia CLI options | Gaia [Skip to main content](#__docusaurus_skipToContent_fallback) Version: 2.0.0 On this page After installing the Gaia software, you can use the `gaianet` CLI to manage the node. The following are the CLI options. help[​](#help "Direct link to help") ------------------------------------- You can use `gaianet --help` to check all the available CLI options. gaianet --help## OutputUsage: gaianet {config|init|run|stop|OPTIONS}Subcommands: config Update the configuration. init Initialize the GaiaNet node. run|start Start the GaiaNet node. stop Stop the GaiaNet node.Options: --help Show this help message version[​](#version "Direct link to version") ---------------------------------------------- You can use `gaianet --version` to check your GaiaNet version. gaianet --version init[​](#init "Direct link to init") ------------------------------------- The `gaianet init` command initializes the node according to the `$HOME/gaianet/config.json` file. You can use some of our [pre-set configurations](https://github.com/GaiaNet-AI/node-configs) . * `gaianet init` will init the default node. It's an RAG application with Gaia knowledge. * `gaianet init --config mua` will init a node with the MUA project knowledge. * `gaianet init --base ` will init a node in an alternative directory. You can also use `gaianet init url_your_config_json` to init your customized settings for the node. You can customize your node using the Gaia node link. If you're familiar with the Gaia config.json, you can create your own manually. See an example [here](https://github.com/GaiaNet-AI/gaianet-node/blob/main/config.json) . gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/pure-llama-3-8b/config.json start[​](#start "Direct link to start") ---------------------------------------- The `gaianet start` is to start running the node. * Use `gaianet start` to start the node according to the `$HOME/gaianet/config.json` file. * Use `gaianet start --base $HOME/gaianet-2.alt` to start the node according to the `$HOME/gaianet-2/config.json` file. * Use `gaianet start --local-only` to start the node for local use according to the `$HOME/gaianet/config.json` file. stop[​](#stop "Direct link to stop") ------------------------------------- The `gaianet stop` is to stop the running node. * Use `gaianet stop` to stop running the node. * Use `gaianet stop --force` to force stop the Gaia node. * Use `gaianet stop --base $HOME/gaianet-2.alt` to stop the node according to the `$HOME/gaianet-2/config.json` file. config[​](#config "Direct link to config") ------------------------------------------- The `gaianet config` can update the key fields defined in the `config.json` file. * `gaianet config --help` will list all the available arguments * `gaianet config --chat-url ` will change the download link of the chat model. * `gaianet config --prompt-template