Skip to content

JavaScript for MultiMindSDK – bring advanced context transfer and multi-LLM orchestration, Node.js apps, and web tools

License

Notifications You must be signed in to change notification settings

multimindlab/multimind-sdk-js

Repository files navigation

MultiMind SDK for JavaScript

npm License TypeScript Node.js

NPM Version

This SDK gives JavaScript developers full access to advanced AI features like agent orchestration, RAG, and fine-tuning — without needing to manage backend code.

🚀 What This SDK Does

The MultiMind SDK provides a comprehensive JavaScript interface for advanced AI capabilities:

  • 🤖 AI Agent Orchestration: Create intelligent agents that can reason, plan, and execute complex tasks
  • 🔍 RAG (Retrieval-Augmented Generation): Build knowledge systems that combine your data with AI reasoning
  • 🎯 Model Fine-tuning: Customize AI models for your specific use cases and domains
  • 🔄 Model Routing: Automatically select the best AI model for each task
  • 📊 Model Evaluation: Assess and compare AI model performance
  • 🔧 Adapter Management: Enhance models with specialized capabilities
  • 🛠️ Advanced Workflows: LoRA fine-tuning, document processing, compliance monitoring, and more

📦 Installation

npm install multimind-sdk

🚀 Quick Start

Basic Usage

import { MultiMindSDK } from 'multimind-sdk'; async function main() { const sdk = new MultiMindSDK(); try { await sdk.initialize(); // Generate a response with an AI agent const response = await sdk.generateWithAgent( "What is artificial intelligence?", { model: "mistral", temperature: 0.7 } ); console.log(response); } finally { await sdk.close(); } } main();

Advanced Usage

import { MultiMindSDK } from 'multimind-sdk'; const sdk = new MultiMindSDK(); // Advanced Fine-tuning with LoRA const fineTuneResult = await sdk.advancedFineTune({ baseModelName: "bert-base-uncased", outputDir: "./output", method: "lora", epochs: 10, learningRate: 0.001, batchSize: 32, loraConfig: { r: 16, alpha: 32, dropout: 0.1, targetModules: ["query", "value"] } }); // Advanced RAG with Document Management const documents = [ { text: "MultiMind SDK provides comprehensive AI capabilities.", metadata: { type: "introduction", source: "docs" } } ]; await sdk.addDocumentsToRAG(documents); const ragResponse = await sdk.queryAdvancedRAG({ query: "What is MultiMind SDK?", topK: 5, includeMetadata: true }); // Model Conversion const conversionResult = await sdk.pytorchToONNX( "./models/model.pt", "./models/model.onnx", { quantization: { method: "int8", targetDevice: "cpu" }, graphOptimization: { fuseOperations: true, optimizeMemory: true } } ); // Compliance Monitoring const complianceResult = await sdk.checkCompliance({ modelId: "model_123", dataCategories: ["text", "user_data"], useCase: "customer_support", region: "EU" }); // Advanced Agent with Tools const agentResponse = await sdk.runAdvancedAgent( "Calculate 15 * 23 and search for quantum computing information", { context: "mathematical and scientific inquiry" } ); // Model Client System const lstmClient = await sdk.createLSTMModelClient({ modelPath: "./models/lstm.pt", modelName: "custom_lstm" }); const moeClient = await sdk.createMoEModelClient({ experts: { "expert1": { modelName: "gpt-3.5-turbo" }, "expert2": { modelName: "claude-3" } }, router: (input: string) => input.length > 100 ? "expert2" : "expert1" }); // Gateway API const gateway = await sdk.startGateway({ host: "0.0.0.0", port: 8000, enableMiddleware: true, corsEnabled: true, rateLimit: 100 });

🤖 Models and Agents

Supported AI Models

  • OpenAI Models: GPT-3.5, GPT-4, GPT-4 Turbo
  • Anthropic Models: Claude-2, Claude-3, Claude-3.5 Sonnet
  • Open Source Models: Mistral, Llama, BERT, and many more
  • Custom Models: Load and use your own fine-tuned models

Agent Types

  • Basic Agents: Simple question-answering and text generation
  • Advanced Agents: Multi-step reasoning, tool usage, and memory
  • Specialized Agents: Code generation, data analysis, creative writing
  • Custom Agents: Build agents tailored to your specific domain

RAG Capabilities

  • Document Processing: PDF, DOCX, TXT, and more
  • Vector Storage: Efficient similarity search
  • Knowledge Graphs: Structured information retrieval
  • Hybrid Search: Combine semantic and keyword search

🖥️ Command Line Interface (CLI)

The MultiMind SDK includes a powerful CLI for automation and batch operations:

Installation

npm install -g multimind-sdk

Basic CLI Usage

# Transfer context between different AI models multimind-cli --source chatgpt --target claude --input conversation.json --output prompt.txt # List supported models multimind-cli --list-models # Run batch transfer operations multimind-cli --batch # Generate Chrome extension configuration multimind-cli --chrome-config

CLI Options

# Basic Transfer --source, -s <model> Source model name (e.g., chatgpt, claude) --target, -t <model> Target model name (e.g., deepseek, gemini) --input, -i <file> Input conversation file (JSON, TXT, MD) --output, -o <file> Output formatted prompt file # Transfer Options --last-n <number> Number of recent messages to extract (default: 5) --summary-type <type> Summary type: concise, detailed, structured --output-format <format> Output format: txt, json, markdown --no-smart-extraction Disable smart context extraction --no-metadata Exclude metadata from output # Model-Specific Options --include-code Include code context (for coding models) --include-reasoning Include reasoning capabilities --include-safety Include safety considerations --include-creativity Include creative capabilities --include-examples Include example generation --include-step-by-step Include step-by-step explanations --include-multimodal Include multimodal capabilities --include-web-search Include web search capabilities # Advanced Features --batch Run batch transfer operations --validate Validate conversation format --list-models List all supported models --chrome-config Generate Chrome extension configuration --help, -h Show help message

CLI Examples

# Basic transfer from ChatGPT to Claude multimind-cli --source chatgpt --target claude --input conversation.json --output prompt.txt # Advanced transfer with custom options multimind-cli --source gpt-4 --target deepseek --input chat.txt --output formatted.md \ --summary-type detailed --include-code --include-reasoning # Batch transfer with validation multimind-cli --batch --validate # Generate Chrome extension config multimind-cli --chrome-config

🔧 Automation Potential

Node.js Scripts

// Automated content generation const sdk = new MultiMindSDK(); await sdk.initialize(); // Generate blog posts from outlines const outline = "AI trends in 2024"; const blogPost = await sdk.generateWithAgent( `Write a comprehensive blog post about: ${outline}`, { model: "gpt-4", temperature: 0.7 } ); // Automated customer support const customerQuery = "How do I reset my password?"; const response = await sdk.queryAdvancedRAG({ query: customerQuery, topK: 3, includeMetadata: true });

CI/CD Integration

# GitHub Actions example - name: Generate Documentation run: |  npm install multimind-sdk  node scripts/generate-docs.js

Batch Processing

// Process multiple documents const documents = await loadDocuments('./data/'); const results = []; for (const doc of documents) { const summary = await sdk.generateWithAgent( `Summarize this document: ${doc.content}`, { model: "claude-3" } ); results.push({ id: doc.id, summary }); }

📚 Examples

Running Examples

# Basic agent example npm run example:agent # Advanced usage example npm run example:advanced # Comprehensive demo npm run demo # CLI directly npm run cli -- --help

Example Files

  • example/run-agent.ts: Basic agent generation example
  • example/advanced-usage.ts: Advanced features example
  • example/comprehensive-demo.ts: Complete feature demonstration
  • example/context-transfer-cli.ts: CLI implementation

📚 API Reference

MultiMindSDK Class

The main SDK class that provides a unified interface to all MultiMind functionality.

Basic Methods

Agent Methods
  • generateWithAgent(prompt: string, config?: AgentConfig): Generate responses using AI agents
  • createAgent(config?: AgentConfig): Create a new agent instance
Fine-tuning Methods
  • fineTuneModel(config: FineTuneConfig): Fine-tune a model
  • createFineTuner(config: FineTuneConfig): Create a fine-tuner instance
RAG Methods
  • queryRAG(prompt: string, config: RAGConfig): Query a RAG system
  • createRAGEngine(config: RAGConfig): Create a RAG engine instance
Adapter Methods
  • loadAdapter(config: AdapterConfig): Load a model adapter
  • listAdapters(model: string): List available adapters for a model
  • removeAdapter(model: string, adapterPath: string): Remove an adapter
Evaluation Methods
  • evaluateModel(config: EvaluationConfig): Evaluate a model
  • compareModels(models: string[], task: string, dataset?: string): Compare multiple models
Model Methods
  • loadModel(config: ModelConfig): Load a model
  • routeModel(input: string, availableModels?: string[]): Route to the best model
  • listAvailableModels(): List all available models

Advanced Methods

Advanced Fine-tuning
  • advancedFineTune(config: AdvancedFineTuneConfig): Advanced fine-tuning with LoRA, Adapters, etc.
  • createAdvancedTuner(config: AdvancedFineTuneConfig): Create advanced tuner
Advanced RAG
  • createAdvancedRAG(config?: AdvancedRAGConfig): Create advanced RAG client
  • addDocumentsToRAG(documents: Document[]): Add documents to RAG
  • queryAdvancedRAG(config: QueryConfig): Query advanced RAG system
Model Conversion
  • createModelConverter(): Create model converter
  • convertModel(config: ConversionConfig): Convert model between formats
  • pytorchToONNX(inputPath: string, outputPath: string, config?): Convert PyTorch to ONNX
  • tensorflowToTFLite(inputPath: string, outputPath: string, config?): Convert TensorFlow to TFLite
  • pytorchToGGUF(inputPath: string, outputPath: string, config?): Convert PyTorch to GGUF
Compliance
  • createComplianceMonitor(config: ComplianceConfig): Create compliance monitor
  • checkCompliance(check: ComplianceCheck): Check compliance
Advanced Agents
  • createAdvancedAgent(config: AdvancedAgentConfig): Create advanced agent
  • runAdvancedAgent(input: string, context?): Run advanced agent with tools
Model Client System
  • createLSTMModelClient(config: ModelClientConfig): Create LSTM model client
  • createMoEModelClient(config: MoEConfig): Create MoE model client
  • createMultiModalClient(config: MultiModalConfig): Create MultiModal client
  • createFederatedRouter(config: FederatedConfig): Create federated router
Gateway
  • createGateway(config?: GatewayConfig): Create gateway
  • startGateway(config?: GatewayConfig): Start gateway API
  • stopGateway(): Stop gateway
Context Transfer
  • transferContext(sourceModel: string, targetModel: string, conversationData: ConversationMessage[], options?: TransferOptions): Transfer context between models
  • quickTransfer(sourceModel: string, targetModel: string, conversationData: ConversationMessage[], options?: Record<string, any>): Quick context transfer
  • getSupportedModels(): Get supported models for context transfer
  • validateConversationFormat(data: ConversationMessage[]): Validate conversation format
  • batchTransfer(transfers: Array<{sourceModel: string, targetModel: string, conversationData: ConversationMessage[], options?: TransferOptions}>): Batch context transfer
  • createChromeExtensionConfig(): Create Chrome extension configuration

Utility Methods

  • getSDKInfo(): Get SDK information
  • healthCheck(): Check SDK health
  • initialize(): Initialize SDK
  • close(): Close SDK

🛠️ Development

Setup

# Clone the repository git clone <repository-url> cd multimind-sdk # Install dependencies npm install # Build the project npm run build:examples # Run tests npm test # Run linting npm run lint

Available Scripts

npm run build # Build TypeScript to JavaScript npm run build:examples # Build with example fixes npm run test # Run test suite npm run test:watch # Run tests in watch mode npm run test:coverage # Run tests with coverage npm run lint # Run ESLint npm run lint:fix # Fix linting issues npm run sync-features # Sync with backend features npm run cli # Run CLI npm run demo # Run comprehensive demo

Project Structure

multimind-sdk/ ├── src/ │ ├── bridge/ │ │ └── multimind-bridge.ts # Backend bridge setup │ ├── agent.ts # Basic agent functionality │ ├── fineTune.ts # Basic fine-tuning functionality │ ├── rag.ts # Basic RAG functionality │ ├── adapters.ts # Adapter management │ ├── evaluation.ts # Model evaluation │ ├── models.ts # Model loading and routing │ ├── advancedFineTuning.ts # Advanced fine-tuning (LoRA, Adapters, etc.) │ ├── advancedRAG.ts # Advanced RAG with document management │ ├── modelConversion.ts # Model conversion and optimization │ ├── compliance.ts # Compliance monitoring and validation │ ├── advancedAgent.ts # Advanced agents with tools and memory │ ├── modelClientSystem.ts # LSTM, MoE, MultiModal, Federated routing │ ├── gateway.ts # Gateway API and middleware │ ├── contextTransfer.ts # Context transfer functionality │ └── index.ts # Main SDK class and exports ├── example/ │ ├── run-agent.ts # Basic example │ ├── advanced-usage.ts # Advanced example │ ├── comprehensive-demo.ts # Complete feature demo │ └── context-transfer-cli.ts # CLI implementation ├── test/ │ ├── sdk-smoke.test.ts # Basic SDK tests │ ├── module-tests.test.ts # Module functionality tests │ └── cli.test.ts # CLI tests ├── scripts/ │ ├── fix-example-imports.js # Fix example import paths │ ├── fix-all-imports.js # Fix all import paths │ └── sync-features.js # Sync with backend features ├── package.json ├── tsconfig.json └── README.md 

🔧 Error Handling

The SDK includes comprehensive error handling. All methods throw errors with descriptive messages when operations fail:

try { const response = await sdk.generateWithAgent("Hello world"); } catch (error) { console.error('Generation failed:', error.message); }

🚨 Troubleshooting

Common Issues

  1. Initialization failed: Ensure all required dependencies are installed
  2. Model loading issues: Check that model files are accessible and valid
  3. Memory issues: For large models, ensure sufficient RAM and consider using quantization
  4. GPU issues: Ensure CUDA is properly installed for GPU acceleration
  5. Network issues: Check internet connectivity for cloud-based models

Debug Mode

Enable debug logging by setting the environment variable:

DEBUG=multimind-sdk npm run dev

📊 Testing

# Run all tests npm test # Run tests with coverage npm run test:coverage # Run specific test file npm test -- test/sdk-smoke.test.ts

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite
  6. Submit a pull request

📄 License

Apache License 2.0 - see LICENSE file for details.

🆘 Support

For issues and questions:

  • Create an issue on GitHub
  • Check the troubleshooting section
  • Ensure you have the latest version installed
  • Review the comprehensive examples

🔗 Related Links


Built with ❤️ by the MultiMind Team