Skip to content

GetSoloTech/solo-server-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solo Server JS

Local AI Orchestration to Make Privacy and Performance Possible
A modular, extensible, and high-performance framework for running AI tasks locally, designed with privacy, portability, and scalability at its core.


Overview

Solo Server JS enables developers to orchestrate AI tasks on local devices with minimal setup. By leveraging on-device computation, it ensures privacy, reduces latency, and eliminates cloud dependency. With built-in tools for benchmarking and profiling, Solo Server JS is perfect for building cutting-edge AI solutions.


Features

🔒 Privacy by Design

All computations happen locally on the device, ensuring that your data never leaves your system.

High Performance

Optimized for low-latency AI tasks, with support for on-device acceleration (e.g., GPUs, TPUs).

🔧 Extensible

Add custom AI tasks or categories with ease using the modular architecture.

📊 Benchmarking and Profiling

Integrated tools for performance measurement, resource utilization analysis, and optimization.

🌐 Wide Compatibility

Supports multiple AI domains:

  • NLP: Tasks like Fill-Mask, Question Answering, Sentence Similarity
  • Vision: Image Classification, Object Detection, Image Segmentation
  • Audio: ASR, Text-to-Speech, Audio Classification

Table of Contents

  1. Installation
  2. Quick Start
  3. Supported Categories and Tasks
  4. Benchmarking and Profiling
  5. Testing
  6. Contributing
  7. License

Installation

Install Solo Server JS using npm:

npm install solo-server-js

Quick Start

1. Start the Server

Run the server to access AI tasks locally:

const soloServer = require('solo-server-js');

soloServer.start(() => {
  console.log('Solo Server is running on http://localhost:3000');
});

2. Run an AI Task

Use the built-in tasks for quick results. Example: Fill-Mask (NLP task):

const { run } = require('solo-server-js/src/categories/nlp/fillMask');

const result = await run({
  sentence: 'The sky is [MASK].',
  mask: '[MASK]'
});

console.log(result); // Output: "The sky is <predicted-word>."

Supported Categories and Tasks

Natural Language Processing

Task Description Supported
Fill-Mask Predicts words to replace masked tokens in a sentence.
Question Answering Answers questions based on a given context.
Sentence Similarity Determines how similar two sentences are.
Text Classification Assigns labels to given text.
Text Generation Produces new text by predicting the next word in a sequence.

Vision

Task Description Supported
Image Classification Assigns labels to an image.
Object Detection Identifies objects and their locations in an image.
Image Segmentation Divides an image into regions mapped to objects or segments.

Audio

Task Description Supported
Audio Classification Classifies audio into predefined categories.
ASR Converts spoken audio to text.
Text-to-Speech Converts text to natural-sounding speech.

Benchmarking and Profiling

Run Benchmarks

Measure performance for AI tasks using the benchmarking scripts:

node benchmarks/nlp/fillMask.benchmark.js

Run Profiling

Analyze memory and CPU usage for AI tasks:

node profiles/nlp/fillMask.profile.js

Testing

Run the test suite to ensure functionality:

npm test

Contributing

We welcome contributions to make Solo Server JS even better! Here’s how you can contribute:

  1. Fork the repository.
  2. Create a new branch (feature/my-new-feature).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature/my-new-feature).
  5. Create a pull request.

Roadmap

🚀 Upcoming Features:

  • Multimodal Support:
    • Document Question Answering
    • Zero-Shot Audio Classification
  • Advanced Benchmarking Features:
    • Comparative Benchmarks Across Tasks
  • GUI for Local Orchestration:
    • Intuitive dashboards for task management and profiling

License

This project is licensed under the MIT License. See the LICENSE file for details.


Contact

For questions, feedback, or support:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published