ragify_flutter 0.0.6 copy "ragify_flutter: ^0.0.6" to clipboard
ragify_flutter: ^0.0.6 copied to clipboard

Intelligent Context Orchestration Framework for Flutter - Smart Context for LLM-Powered Applications

πŸš€ RAGify Flutter #

Pub Version [License: BSD 3-Clause]

Intelligent Context Orchestration Framework for Flutter - Smart Context for LLM-Powered Applications

A Flutter package that combines data from multiple sources (documents, APIs, databases, real-time) and provides intelligent context management. Built specifically for LLM-powered Flutter applications that need to retrieve and manage contextual information from various data sources.

🎯 Why RAGify Flutter? #

Building AI-powered Flutter apps is challenging because:

  • Multiple data sources need to be combined intelligently
  • Context management requires efficient data retrieval and processing
  • Cross-platform compatibility needs to work on all Flutter platforms
  • Performance must be optimized for mobile and web
  • Easy integration with existing Flutter applications

RAGify Flutter provides a unified framework for context management and data source integration.

🌟 What You Get #

Core Capabilities #

  • Multi-Source Data Integration - Connect to documents, APIs, databases, and real-time sources
  • Context Management - Organize and retrieve contextual information efficiently
  • Privacy Management - Configurable privacy levels for different data sources
  • Concurrent Processing - Process multiple sources simultaneously for better performance
  • Relevance Scoring - Basic relevance assessment for context chunks

Flutter-Specific Features #

  • Cross-Platform Support - Works on iOS, Android, Web, and Desktop
  • Async/Await Support - Full async support for non-blocking operations
  • State Management Integration - Works with Provider, Bloc, Riverpod, and other state management solutions
  • Performance Optimized - Efficient memory usage and processing

πŸš€ Quick Start #

1. Add Dependency #

dependencies:
  ragify_flutter: ^0.0.5

2. Import Package #

import 'package:ragify_flutter/ragify_flutter.dart';

3. Basic Usage #

// Create RAGify instance
final ragify = RAGify();

// Initialize
await ragify.initialize();

// Add data sources
ragify.addDataSource(DocumentSource(
  name: 'docs',
  documentPath: './documents',
));

// Get context
final context = await ragify.getContext(
  query: 'What are the latest features?',
  maxChunks: 10,
  minRelevance: 0.7,
);

// Use the context
for (final chunk in context.chunks) {
  print('${chunk.content} (Score: ${chunk.relevanceScore?.score})');
}

πŸ—οΈ Architecture #

Core Components #

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                Flutter Application                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    RAGify Flutter                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚   Fusion    β”‚ β”‚   Scoring   β”‚ β”‚   Storage   β”‚ β”‚   Updates   β”‚ β”‚
β”‚  β”‚  Engine     β”‚ β”‚  Engine     β”‚ β”‚  Engine     β”‚ β”‚  Engine     β”‚ β”‚
β”‚  β”‚ (Conflicts) β”‚ β”‚ (Relevance) β”‚ β”‚ (Save)      β”‚ β”‚ (Live)      β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚   Vector    β”‚ β”‚   Cache     β”‚ β”‚   Privacy   β”‚ β”‚   Monitor   β”‚ β”‚
β”‚  β”‚     DB      β”‚ β”‚  Manager    β”‚ β”‚  Manager    β”‚ β”‚  Engine     β”‚ β”‚
β”‚  β”‚(Local/Cloud)β”‚ β”‚(Memory/Redis)β”‚ β”‚ (Encrypt)   β”‚ β”‚(Performance)β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    Data Sources                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  Documents  β”‚ β”‚    APIs     β”‚ β”‚  Databases  β”‚ β”‚ Real-time   β”‚ β”‚
β”‚  β”‚ (PDF, DOCX, β”‚ β”‚ (REST,      β”‚ β”‚ (SQL,       β”‚ β”‚   Data      β”‚ β”‚
β”‚  β”‚ TXT, MD)    β”‚ β”‚ GraphQL)    β”‚ β”‚ NoSQL)      β”‚ β”‚(WebSocket,  β”‚ β”‚
β”‚  β”‚             β”‚ β”‚             β”‚ β”‚             β”‚ β”‚ MQTT, Kafka)β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“± Examples #

The package includes a comprehensive example application:

  • Basic Usage - Complete example with all data source types (API, Document, Database)
  • Database Testing - SQLite, PostgreSQL, MySQL, and MongoDB integration examples
  • Real-time Features - WebSocket and real-time data source examples

Run the example:

cd example/basic_usage
flutter run

πŸ”§ Configuration #

final config = RagifyConfig(
  privacyLevel: PrivacyLevel.enterprise,
  maxContextSize: 50000,
  defaultRelevanceThreshold: 0.7,
  enableCaching: true,
  cacheTtl: 7200,
  conflictDetectionThreshold: 0.8,
  sourceTimeout: 60.0,
  maxConcurrentSources: 20,
);

final ragify = RAGify(config: config);

πŸ§ͺ Testing #

# Run all tests
flutter test

# Run with coverage
flutter test --coverage

πŸ”’ Privacy & Security #

  • Privacy Levels: Configurable privacy levels for different data sources
  • Basic Encryption: Support for data encryption (implementation in progress)
  • Access Control: Basic access control mechanisms
  • Logging: Comprehensive logging for debugging and monitoring
  • Data Protection: Basic data protection features

πŸš€ Performance #

  • Response Time: Optimized for reasonable query response times
  • Concurrent Processing: Async processing for better performance
  • Memory Efficient: Basic caching and chunking mechanisms
  • Cross-Platform: Works across all Flutter platforms

πŸ”Œ Data Sources #

  • Documents: PDF, DOCX, TXT, HTML, CSV, JSON, YAML, XML, INI, DOC
  • APIs: REST APIs with GET/POST support and query inclusion
  • Databases: SQLite, PostgreSQL, MySQL, MongoDB
  • Real-time: WebSocket support (basic implementation)

🀝 Contributing #

We welcome contributions! This is an active project with ongoing development.

# Development setup
git clone https://github.com/sumitnemade/ragify_flutter.git
cd ragify_flutter
flutter pub get
flutter test

πŸ“„ License #

BSD 3-Clause License - see LICENSE file for details.

πŸ†˜ Support #


Built with ❀️ for the Flutter community

1
likes
160
points
348
downloads

Publisher

unverified uploader

Weekly Downloads

Intelligent Context Orchestration Framework for Flutter - Smart Context for LLM-Powered Applications

Repository (GitHub)
View/report issues

Topics

#ai #rag #context-management #retrieval-augmented-generation #llm

Documentation

Documentation
API reference

License

BSD-3-Clause (license)

Dependencies

async, crypto, dio, encrypt, flutter, flutter_pdf_text, hive, hive_flutter, http, intl, json_annotation, logger, mongo_dart, mysql1, path, path_provider, postgres, provider, shared_preferences, sqflite, uuid, web_socket_channel

More

Packages that depend on ragify_flutter