Nov 28, 2023

Amir Houieh

Unbody: all AI buzz in one endpoint, one line of code

Hello World

From this point on, everyone —yes, everyone— wants apps that understand their data like humans.

But making A.I. apps isn't easy.

The real challenge is in the development process.

Creating AI apps is tough. Seriously though. And if you're a developer, you know exactly what I mean. If I got you interested keep reading because, in the end, you as a non-ai developer would not feel excluded from AI development.

Big elephant in the room

Remember when ChatGPT hit the scene? Suddenly, AI wasn't just for techies. It showed everyone the power of AI, making us all want more human-like interactions with our apps. We're not just talking about faster data processing; we're talking about apps that understand and respond like a person. That's a game-changer.

But here's the kicker: blending these AI capabilities with your unique content? That's where it gets hairy. And that’s what's driving this whole new shift in how we interact with technology.

Challenge 1 - Personalisation

We've all been amazed by AI's chat prowess, right? But when it comes to really getting personal, things get tricky. These AIs are schooled in general knowledge, thanks to being fed loads of public data. But your data? That's a different story. It's unique, private, and not something these AI models are familiar with.

It's not just feeding them data; it's teaching them to recognize the subtleties that make your data distinct. This leap from generic to personal is tough. We’re talking about a system that needs to be smart enough to adapt to your specific needs, all while keeping things private and secure. That's a tall order.

Challenge 2 - Your data: where it lives and its many faces

Now, let's talk about your own data. We expect AI to understand it, but first, we need to see where this data actually lives and in what shape it is. Our digital lives are scattered – emails, Dropbox, Google Drive, social media, Slack, Discord, local devices... it's a kaleidoscope of data forms. And AI? It struggles with this mishmash.

Each data type – text, images, audio – has its own language, and they're stored in different corners of our digital world. For AI to really make sense of it, it needs to be a jack-of-all-trades. And that's no small feat. The challenge is to make AI savvy enough to navigate and understand these varied data landscapes without making us change our habits. After all, we want AI to fit into our lives, not the other way around.

Challenge 3 - The developer's tightrope

A regular tech stack for a simple chatbot - from @aigeek__

So, we've talked about the challenges of personalizing AI and dealing with our scattered, diverse data. But here's where things really get interesting for developers. This is where the rubber meets the road.

Diving into the heart of AI app development, developers face quite a puzzle. Picture this: you're building a chatbot drawing data from Google Drive and Slack. You start mixing tools like LangChain, vector databases, and LlamaIndex with a dash of RAG APIs and vectorizers. Before you know it, you're juggling query languages and document parsers. It's like opening a toolbox and finding tools you never knew existed. You see, this is already getting out of hand, isn't it?

The decisions you have to make when it comes to building LLM app - Jery liu - CEO of LlamaIndex

The real trick is not just understanding these tools but making them play nicely together. It's a bit like conducting an orchestra where each musician is playing a different tune. That's the challenge here, and it's exactly why Unbody was born – to make this symphony a bit more harmonious, turning what could be a tech headache into a more manageable and even fun endeavor in AI app development.

Tying it all together: the cascade of challenges

Now, let's take a step back and see how these challenges are interconnected, leading to a pivotal pain point for developers. First, we have the personalization challenge – making AI understand your unique data. Then comes the issue of diverse data storage and formats. These two combine to form a complex landscape that developers must navigate. Add to this the intricate web of AI tools and technologies, and you have a perfect storm. It's a cascade of challenges, each feeding into the next, culminating in a significant hurdle: making AI practical and accessible for all developers, not just the AI gurus.

Before we dive into how Unbody simplifies this, let's decode some buzzwords. This way, we're all on the same page, and you won't feel lost in the AI jargon jungle.

  • LLM (Large Language Model): Think of LLMs as the brain behind AI that understands and generates human-like text. They're the wizards of language, trained to interpret and respond just like a person would.

  • RAG (Retrieval-Augmented Generation): This is like giving AI a research assistant. RAG helps AI pull in extra information from user's various data sources to make its responses even smarter.

  • ML (Machine Learning): ML is where computers learn from data to make decisions and predictions. It's like teaching a computer to think and learn from experience.

  • Vectorizing and Embeddings: This is about converting different types of data (like text or images) into a format that AI can understand and work with. Think of it as translating human language into AI language.

  • Multimodal: This refers to AI's ability to understand and process more than one type of data – like text, images, and sound – all at once.

  • Vector Database: Imagine a super-smart library where AI can store and retrieve complex data. Vector databases are designed for the kind of multi-dimensional data that AI needs to function effectively.

With this foundation laid, we're ready to dive into how Unbody addresses these challenges, making AI app development not just a possibility but a pleasure for all developers.

Let’s put all fancy words in one box

Still with me? Navigating AI development can seem daunting, but that's exactly why Unbody is here. Our solution is straightforward; we put all those complex AI terms and intricate tasks into one, magical box. Think of Unbody as an invisible AI layer, a headless API: just tell Unbody where your data lives — any place, any format — and she takes it from there. Unbody will automatically aggregate, sync, and transform your data into advanced AI functionalities, all accessible through a single GraphQL endpoint.

Now, let's delve a bit deeper and peek under the hood. When you're building an app or setting up an integration with Unbody, it unfolds over four layers. And don’t worry, many of these layers work seamlessly in the background, streamlining your workflow without overcomplicating it.

4 layers of a seamless modular AI pipeline from private data to frontend

Layer 1: Data Aggregation and Integration

At the core of Unbody's first layer is the seamless aggregation of your data, setting a strong foundation for the advanced AI processing that follows.

layer 1: connect your data to unbody

Telling Unbody where your data, takes 4 simple clicks!

  • Third-Party Integrations: Unbody effortlessly connects with a variety of platforms. Whether your data is on Google Drive, Discord, Slack, or local folders on your desktop, Unbody integrates seamlessly.

  • Versatile Data Handling: Unbody is equipped to handle a wide range of data formats. From PDFs and text documents to Markdown, JPEGs, videos, and audio files, Unbody ensures that your data, in all its forms, is comprehensively covered and ready for the next stages.

  • Evolving with Your Input: Our commitment to meeting your development needs is ongoing. We maintain an extensive and ever-expanding list of supported providers and data types. Your feedback and suggestions on our GitHub are crucial; they guide our roadmap and help us prioritize new integrations and capabilities.

Layer 1 is where your journey with Unbody begins, ensuring that all your data, regardless of where it resides or its format, is meticulously gathered and prepared for the sophisticated AI operations that Unbody facilitates.

Layer 2: AI data processing and enhancement

Layer 2 is where AI magic happens. This is the stage where the advanced functionalities of Large Language Models (LLMs) and Retrieval Augmented Generation (RAG) come into play. But what exactly goes on in this layer? Let's delve into the key tasks that make Layer 2 a powerhouse of AI activity.

  • Data Transformation: Layer 2 handles the transformation of your raw data into formats that AI can understand and use. This involves breaking down different types of content - text, images, audio, and video - into a form suitable for AI processing.

  • Modular Approach for Customization: Understanding that one size doesn’t fit all in AI, Unbody adopts a modular approach in this layer. This means you, as the user, can choose from different vectorizers and LLMs for different types of inputs. For example:

Layer 2: compose your favorite AI engines for all data types; text, image, audio and video

  • For Text: Options might include popular LLMs like OpenAI's GPT models.

  • For Images: Tools are available to turn images into searchable and analyzable data.

  • For Multimodal Data: Unbody provides solutions that can handle a mix of text, images, and more.

  • Beyond Basic Vectorization: But it's not just about converting data into AI-readable formats. Layer 2 also takes care of complex tasks like applying image captioning, auto transcription, and more. These additional tools and functionalities ensure that your application is not just intelligent but also versatile and capable of handling a variety of AI-driven tasks.

In short, Layer 2 is where your data undergoes a significant transformation, becoming a rich resource for AI applications. It's about taking the complexity of AI processing and making it manageable and customizable for your specific needs.

Layer 3: Delivery and interaction

Layer 3 marks the exciting phase where the magic of AI processing comes to fruition, and your data is now ready for interaction. This stage is all about delivering the processed data through Unbody's robust APIs, enabling you to tap into a range of enhanced AI functionalities.

Content API (GraphQL)

Our primary touchpoint, the Content API, uses GraphQL. It provides a direct and powerful way for you to interact with your enhanced data. The GraphQL interface simplifies complex queries, making data retrieval both efficient and precise. While this post will demonstrate examples using GraphQL, remember that our SDKs are also available for deeper and more integrated solutions. Read more about our SDKs here.

With Unbody's GraphQL endpoints, you get straightforward access to AI functionalities, including:

  • Basic content retrieval: Anything you would expect from a rest API and a database, from getting multiple documents to filters to sorts and pagination. read more → []

  • Semantic Search: Dive deep into the meaning behind words and phrases in your data

  • Generative search

  • Q&A: Provide direct answers to queries using your data.

  • Generative Search: Create new content or find connections within your data.

  • Visual Search: Harness AI to search and analyze visual content.

We are working hard to deliver even more:

  • Chat: Engage in intelligent and context-aware conversations.

  • Classification: Categorize and organize your data smartly.

  • Summarization: Get concise summaries of larger text bodies.

  • Entity Extraction: Identify and extract key information.

Additional APIs for enhanced functionality

Image API (Powered by Imgix)

Our Image API, powered by Imgix, offers a range of tools for image processing and manipulation, enriching your applications with powerful image handling capabilities. Explore more about the Image API here.

Video API (Powered by Mux)

This API, in collaboration with Mux, brings advanced video functionalities to your fingertips. More details on Video API capabilities here.

Layer 3 is where you, as a developer, begin to see the practical applications of all the AI processing done in the previous layers. It’s the stage where your data, now fully processed and AI-enhanced, becomes an interactive asset, ready to be used in a myriad of innovative ways.

Layer 4: Application realization & use-cases

Layer 4 is the stage where all the Unbody magic you've seen so far really takes shape. This is where the AI-enhanced data, meticulously processed in the previous layers, transforms into something tangible and interactive for your users.

Now it is time to create intuitive and engaging interfaces for users to interact with the AI capabilities. It's where your creativity as a developer shines, leveraging the processed data to build unique applications.

Real-World Use Cases of Unbody

Unbody’s applications fall into two major categories:

  • AI use-cases:

  • Semantic search: Enhance search capabilities with contextually aware results.

  • Visual search: Implement advanced image search functionalities.

  • Generative search: Create content or find connections within data.

  • Chatbots and private AI assistants: Develop conversational agents for various purposes.

  • Q&A systems: Build systems that provide direct answers from large datasets.

These functionalities enable you to integrate sophisticated AI solutions into your applications.

  • Intelligent content management:

Unbody enabled IsiaUrbino platform to offer their students to use google drive as their CMS - isiaurbino.net

Unbody can serve as a next-generation solution for managing website content and data, replacing traditional headless CMSs. It offers an intuitive and intelligent way to handle content, making it more responsive and context-aware. [Read more about using Unbody as an intelligent content management system in our other blog post].

Layer 4 marks the culmination of Unbody’s AI processing, where developers can harness its full potential to deliver innovative applications and solutions that are not just smart but also user-centric.

The end beginning

I think this is it! 🌟

I hope this post has shed some light on the challenges of AI development and how Unbody might just be the ally you need on this journey.

A huge shout-out to the amazing team at Weaviate, the powerhouse engine behind Unbody! 💛

Whether you choose to use Unbody or blaze your own trail, I encourage you to dive into AI development. The gap between tech capabilities and practical applications is vast, and your creativity is key to bridging it. Don't let the jargon deter you – let's innovate together! 💡

Interested in joining the Unbody adventure? That's what Xbody is all about! Check it out and see how you can be a part of our community of change-makers. 🌐

Last but not least, our freemium plan is available for you to try out Unbody for free. Sign up here and start building your AI applications today! 🚀