gaia-deploy v0.0.6
Gaia Deploy
gaia-deploy
is an NPM package that simplifies the installation, initialization, and startup of a Gaia node. It allows developers to easily set up a Gaia node with customizable model configurations, making it an ideal tool for building AI-powered applications.
Features
- Easy Installation: Automates the installation of the Gaia node with a single command.
- Customizable Models: Supports custom model configurations via a URL.
- CLI and Programmable API: Can be used as a command-line tool or integrated into Node.js/TypeScript projects.
- Cross-Platform: Works on Linux, macOS, and Windows (via WSL).
- Secure: Validates URLs and ensures secure command execution.
Why Use Gaia?
Gaia is designed to help application developers quickly integrate Gaia nodes into their projects.
Here’s how it can help:
Simplify Node Setup:
- Automates the installation and configuration of Gaia nodes, saving developers time and effort.
- No need to manually download and configure dependencies.
Customizable AI Models:
- Developers can specify custom model configurations via a URL, allowing them to tailor the node to their application’s needs.
Seamless Integration:
- Gaia can be used as a CLI tool or programmatically in Node.js/TypeScript projects, making it versatile for different use cases.
Open Source and Extensible:
- Gaia is open source, so developers can modify and extend it to suit their requirements.
Community Support:
- Join a growing community of developers building AI-powered applications with Gaia.
Installation
To install the gaia-deploy
package globally, run:
npm install -g gaia-deploy
Usage
To start a Gaia node with the default model configuration, run:
gaia-deploy
To use a custom model configuration, provide the URL to the configuration file using the --model
flag:
gaia-deploy --model https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3.2-3b-instruct/config.json
Usage
You can also use the initGaiaNode
function programmatically in your Node.js or TypeScript projects:
const { initGaiaNode } = require('gaia-deploy');
// URL to the model configuration JSON
const modelConfigUrl = 'https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3.2-3b-instruct/config.json';
// Initialize and start the Gaia node
initGaiaNode(modelConfigUrl)
.then(() => {
console.log('Gaia node setup completed successfully.');
})
.catch((error) => {
console.error('Failed to set up Gaia node:', error);
});
Example Use Cases
- AI Chatbots:
- Use Gaia to deploy a Gaia node as the backend for an AI-powered chatbot.
- Knowledge Bases:
- Set up a Gaia node to serve as a knowledge base for your application.
- AI-Powered APIs:
- Use Gaia nodes as drop-in replacements for OpenAI APIs in your applications.
- Research and Development:
- Quickly spin up Gaia nodes for testing and experimentation with different AI models.
Security Considerations
Gaia is designed with security in mind:
- URL Validation: Ensures that the model configuration URL points to a trusted domain.
- Secure Command Execution: Uses
child_process.execFile
to prevent shell injection vulnerabilities. - Error Handling: Logs errors without exposing sensitive information.
Contributing
Contributions are welcome! If you’d like to contribute to Gaia, follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a detailed description of your changes.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
If you encounter any issues or have questions, please open an issue on the GitHub repository.
Get Started Today!
Start building AI-powered applications with Gaia. Install the package and deploy your first Gaia node in minutes:
npm install -g gaia-deploy
gaia-deploy --model https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3.2-3b-instruct/config.json
Find many other node configurations from Gaia's node-configs repository. There are several pre-set node configs for you to choose.
Join the growing community of developers using Gaia to simplify AI integration. 🚀