On-Device RAG Client
A native SwiftUI client for document extraction and Pinecone vector database integration.
OpenCone is a native iOS application that performs local document ingestion (PDF, DOCX, TXT, and images via OCR), generates vector embeddings via OpenAI, syncs with Pinecone vector search, and runs Retrieval Augmented Generation (RAG).
Key Features of OpenCone
Multi-Format Document Management
Upload, view, and manage various document types (PDF, DOCX, TXT, images with OCR). Securely handles file access using bookmarks.
Advanced Processing Pipeline
Automated text extraction, strategic chunking (MIME-type specific), and robust error handling during document ingestion.
OpenAI Embeddings
Generates high-dimensional vector embeddings for text chunks using configurable OpenAI models (e.g., text-embedding-3-large).
Pinecone Integration
Full lifecycle management for Pinecone serverless indexes: create, list, select active index, and manage namespaces.
Semantic Search & RAG
Perform natural language queries. Retrieves semantically similar text chunks and generates AI answers via OpenAI.
Detailed Statistics
View comprehensive processing statistics including phase timings, token counts, and chunk size distributions.
Custom Design & Theming
Features a bespoke UI library (OCDesignSystem) with OCButton, OCCard, OCBadge. Multiple themes available.
Real-time Processing Logs
Detailed, filterable logs for all major operations with timestamps and context.
Guided Setup
User-friendly WelcomeView for initial API key configuration and app introduction.
How OpenCone Works
Launch & Setup
Enter your OpenAI API Key, Pinecone API Key, and Pinecone Project ID through the guided WelcomeView.
Add & Process Documents
Upload files (PDF, TXT, DOCX, images), create or select a Pinecone index, then process documents to extract text, generate embeddings, and upload to Pinecone.
Semantic Search
Ask natural language questions. The app retrieves semantically similar chunks and generates AI-powered answers using RAG.
Monitor & Configure
View real-time logs, check processing statistics, and adjust settings including models, chunk sizes, and themes.
Tech Stack & Architecture
Architecture
- Pattern: MVVM with Service Layer
- UI: SwiftUI
- Concurrency: async/await & Combine
- Design System: Custom OCDesignSystem
Integrations
- OpenAI: Embeddings & Completions
- Pinecone: Vector Database
- PDFKit: PDF Processing
- VisionKit: OCR for Images