Database & Data Sync Blog
First on-device Vector Database (aka Semantic Index) for iOS
Revolutionize Your iOS and macOS Apps with ObjectBox and Swift
Easily empower your iOS and macOS apps with cutting-edge, private, and sustainable AI features using ObjectBox, an on-device vector database built specifically for Swift apps. Leveraging Small Language Models (SLM), ObjectBox enables local semantic indexing, providing fast on-device AI capabilities like Retrieval-Augmented Generation (RAG) or Generative AI (GenAI) without requiring an internet connection, ensuring complete data privacy.
Apple Intelligence Meets ObjectBox Swift
Apple’s recently demonstrated “Apple Intelligence” features combine on-device AI models with a vector database (semantic index). ObjectBox Swift now lets you incorporate similar advanced AI features into your iOS apps quickly and easily.
Cross-Platform Flexibility
Not using Swift? ObjectBox offers bindings for:
Flutter/Dart (iOS, Android, desktop)
Java/Kotlin (Android and JVM)
C++ (embedded devices)
Advanced AI Anywhere, Anytime
Typical AI applications use user-specific or company-specific data and multiple queries to enhance model responses and perform complex tasks. With the release of ObjectBox 4.0, this functionality is now available locally on restricted devices.
Cloud vs. On-Device Vector Databases
ObjectBox is a comprehensive database allowing storage of complex data objects alongside vectors. This enables hybrid search, traceability, and powerful queries, providing the full feature set of a database.
Use Cases for On-Device AI with ObjectBox
ObjectBox can power various applications, from generative AI features in mobile apps to predictive maintenance in cars and AI-enhanced games. For iOS apps, anticipated on-device AI use cases include:
Chat-with-Files Apps:
Travel: Offline travel guide.
Research: Chat with research papers.
Health: Personalized health recommendations.
Productivity: Personal assistants for various life areas.
Family Management: Assistants monitoring school channels, emails, and more.
Professional Assistants: Sales assistants for contextual and personalized follow-ups.
Educational: Apps generating quizzes and practice questions from learning materials.
Running Local AI Stack with SLMs
Recent Small Language Models (SLMs) offer impressive capabilities while being small enough to run on mobile phones. To run these models on an iPhone or macOS device, you need:
ObjectBox: Vector database for the semantic index.
Models: An embedding model and a language model suited to your needs.
MLX: Model runtime framework by Apple, optimized for Apple Silicone.
Start Building Next-Generation On-Device AI Apps
With ObjectBox and Swift, you can begin developing advanced on-device AI applications today. For more information, visit our vector search documentation.
Enhance your iOS and macOS apps with fast, private, and sustainable AI features using ObjectBox’s on-device vector database built for Swift.
Retrieval Augmented Generation (RAG) with vector databases: Expanding AI Capabilities
RAG Explained
Retrieval Augmented Generation (RAG) is a technique that enhances large language models (LLMs) with reliable facts from external sources, typically stored in a vector database. By integrating internal company data, the latest news, or personal device information, RAG enables models to generate context-specific, expert-level responses, significantly reducing hallucinations.
Key Benefits of RAG
Customization and Adaptation: RAG tailors responses to specific domains using vector databases, transforming general intelligence into expert intelligence.
Contextual Relevance: Incorporating information from extensive text corpora, RAG models generate contextually relevant and high-quality responses.
Accuracy and Diversity: External information integration ensures more accurate, informative, and diverse responses, avoiding repetition.
Cost-Effective Implementation: RAG requires less task-specific training data compared to fine-tuning, making it a cost-effective solution, especially when annotated data is scarce or expensive.
Transparency: RAG models enhance trust by explicitly indicating the sources of retrieved information.
How RAG Works
DB Creation: External data is transformed into vector embeddings and stored in a vector database.
Retrieval: Queries are converted to vectors to retrieve relevant information using semantic search.
Augmentation: Retrieved data augments the query.
Generation: The augmented query is used by the LLM to generate an accurate answer.
Future Directions
RAG continues to evolve, with researchers exploring enhancements through techniques like fine-tuning, long context windows, and improved data handling for multimodal data. Advances in optimizing LLMs for local device operation also expand RAG’s potential applications.
The on-device Vector Database for Android and Java
ObjectBox 4.0 introduces an advanced on-device vector database for Android, designed specifically to empower Android and Java developers with robust local AI capabilities. This on-device vector database for Android supports sophisticated vector data processing and analysis, enabling developers to assess semantic similarities across various document types, including images, audio files, and texts. A prime application of this technology is to augment Large Language Models (LLMs) or smaller models such as Phi-3 with unique domain expertise, proprietary knowledge, and private data. This integration of AI models with specialized knowledge bases facilitates high-quality, tailored results that surpass the capabilities of standard models. This process is known as “retrieval-augmented generation” (RAG). With ObjectBox’s on-device functionality, developers can now leverage on-device RAG, ensuring that all data remains private and never leaves the device. Explore the potential of on-device vector database technology with ObjectBox 4.0 on your Android device, enhancing your applications while maintaining complete data privacy.
Vector search: making sense of search queries
What is vector search and why does it matter? Learn how it enhances query accuracy, leverages semantics, and utilizes advanced techniques like approximate nearest neighbor search. Explore how vector search revolutionizes AI and information retrieval.
Python on-device Vector and Object Database for Local AI
Python developers, did you know you can now do local / on-device RAG on commodity hardware without the need for an Internet connection, and no need to share the data?
The battle-tested on-device database, ObjectBox, has just extended their Python support. It’s a very lightweight and fast vector database alternative you can run on almost any hardware.
Even with millions of documents, ObjectBox finds the nearest neighbours within milliseconds on commodity hardware.
Evolution of search: traditional vs vector search
Traditional search vs. vector search – what are the key differences? Why is vector search crucial in today’s data-driven world? This article delves into the evolution of search technology, comparing traditional keyword methods with vector search, and highlights the benefits of AI-powered semantic understanding for improved search accuracy and relevance.
On-device Vector Database for Dart/Flutter
ObjectBox 4.0 introduces the first on-device vector database for the Dart/Flutter platform, allowing Dart developers to enhance their apps with AI in ways previously not possible. A vector database facilitates advanced data processing and analysis, such as measuring...
The first On-Device Vector Database: ObjectBox 4.0
With on-device vector database, you can bring the capability of vector databases directly onto a wide range of devices, from mobile phones to IoT and embedded systems.
SQLite and SQLite alternatives – a comprehensive overview
Overview of SQLite alternatives and the on-device “Edge Database” market including a handy comparison matrix, updated in 2024
Edge AI: The era of on-device AI
The Era of Edge AI: Unleashing Localized Intelligence
Edge AI represents a transformative shift in artificial intelligence, moving data processing from centralized cloud servers directly to the local devices we use every day. This evolution allows for real-time AI applications in environments where connectivity is limited or non-existent—from rural health monitors to autonomous vehicles. By processing data on the device itself, Edge AI offers enhanced privacy, reduced latency, and improved reliability, making smart technology truly ubiquitous.
To power these advanced applications, a critical component is necessary: the vector database. Unlike traditional databases that manage data in structured formats, vector databases handle and interpret vector embeddings—complex data formats crucial for AI tasks. These databases enable the rapid processing and analysis of large datasets right where the data is generated, supporting everything from instant language translation on smartphones to critical decision-making in driver assistance systems.
As we delve deeper into the capabilities and requirements of on-device AI, it becomes clear that vector databases are not just supporting infrastructure—they are foundational to the advancement and expansion of Edge AI. Their ability to manage and search through massive sets of high-dimensional data efficiently allows Edge AI systems to perform sophisticated tasks such as pattern recognition, semantic search, and dynamic learning, all in real time.
With the rapid development of Edge AI technology, we are on the brink of a new era where artificial intelligence is not just a distant server’s capability but a localized, accessible, and integral part of our daily devices. This shift promises to make AI more personal, immediate, and effective, thereby shaping the future of how technology interacts seamlessly with our everyday lives.
In-Memory Database Use Cases
Discover the versatility of ObjectBox with its new in-memory database feature. Ideal for caching, temporary data, and enhancing app speed, this update caters to various use cases, including diskless devices and testing environments. Seamlessly switch between disk-based and in-memory storage options, with future updates promising enhanced performance and persistence functionalities. Available now for Java, Android, C, C++, with support for Dart, Go, Python, and Swift coming soon.
Data Viewer for Objects – announcing ObjectBox Admin
ObjectBox Admin (Docker container) allows you to analyze ObjectBox databases that run on desktop and server machines. Releasing ObjectBox Admin as a standalone Docker image makes it possible to run Admin on a larger number of platforms
Vector Databases for Edge AI
Vector Databases are an essential component of the AI and Edge AI technology stacks; find out why they are so essential for AI-powered edge applications here.
Vector Database Release for Flutter / Dart + Python
The Flutter Database now supports vector types for Flutter AI apps as well as in Python: 👉 Learn how to store integer & floating point lists – an essential for any AI app
Vector types (aka arrays) added with ObjectBox Java 3.6 release
Multi-dimensional vectors / vector embeddings are a central building block for AI applications. And accordingly, the ability to store vectors to add long-term memory to your AI applications (e.g. via vector databases) is gaining importance. Sounds fancy, but for the basic use cases, this simply boils down to “arrays of floats” for developers. And this is exactly what ObjectBox database now supports natively. If you want to use vectors on the edge, e.g. in a mobile app or on an embedded device, when offline, independent from an Internet connection, removing the unknown latency, try it and let us know what you think.
Vector databases – a look at the AI database market with a comprehensive comparison matrix
Vector databases – what are vector databases? Why do you need them for AI applications? This article provides an overview on the topic of vector databases, its use for AI and takes a look at the market including a comprehensive comparison matrix on popular vector database choices like Weaviate, Marqo AI, Chroma, Pinecone and many more
What is an Edge Database, and why do you need one?
Edge Databases are a new type of database rising to the needs of the decentralized Edge Computing topology. They deliver specific feature sets making it easy for application developers to implement edge solutions quickly and successfully without being detered or even stopped by fundamental functionalities like fast local data persistence and decentralized data flows (Data Sync).
Why do we need Edge Computing for a sustainable future?
Centralized data centers consume a lot of energy, produce a lot of carbon emissions and cause significant electronic waste. While data centers are seeing a positive trend towards using green energy, an even more sustainable approach (alongside so-called “green data centers” [1]) is to cut unnecessary cloud traffic, central computation and storage as much as possible by shifting computation to the edge. Ideally, Edge Computing strategies use efficient technologies like ObjectBox to harness the power of already deployed available devices (like e.g. smartphones, machines, desktops, gateways), making the solution even more sustainable.
Green Coding: Developing Sustainable Software for a Greener Future
Every line of code – scaled up to hundreds, thousands, or even millions of devices (desktops, smartphones, tablets…) worldwide – has the potential to significantly reduce energy consumption and CO₂ emissions.
Digitization helps to save CO₂ – many experts agree on that. But things are not that simple, because the creation of software and its use contribute to greenhouse gas emissions too.
All code creates a carbon footprint. Software development and use affect the environment from the energy consumed while running to the associated electronic device waste. Choosing a sustainable architecture matters, but developers also can make a difference with green coding, creating envrionmentally sustainable software. And those that build developer tools can help even more so.
New async APIs in ObjectBox database 2.0.0 for Flutter/Dart
ObjectBox Flutter database reached 2.0 today - with new async APIs. This release has major improvements when using ObjectBox with asynchronous programming in Dart. Notably, the Box API has added async variants of methods to get and put one or more objects. Let’s take...