Introduction
What is Embedia?
Embedia is a framework for making LLM-powered webapps with ease.
With Python 3.8
or higher set up, install Embedia using:
pip install embedia
Which webapps can be created using Embedia?
Embedia is built keeping in mind the common as well as advanced usecases of LLMs in webapps.
Some advanced usecases include:
- AI Agents that can run predefined code with custom parameters based on conversation context
- Natural language search over files, websites, or datasets powered by Retrieval Augmented Generation
- Coding assistants that can translate, write, run, test, and debug code
- All the functionalities of OpenAI ChatGPT, but with an opensource LLM like llama-2
Some common usecases include:
- Chatbots with a personality (similar to character.ai (opens in a new tab))
- A panel discussion between multiple personalities. These multiple personalities can also be internal to a single complex chatbot.
- Language translators, improvers, and correctors
- Text summarizers
- Keyword extractors
- Sentiment analyzers
- Social media content generators
- Creative writing assistants
- Specific planner for a complex task
- Text based adventure games
Why choose Embedia?
- Developer friendly: Easy to follow documentation, IntelliSense enabled
- Pre-defined common AI Agents and Tools
- LLM agnostic: Our universal APIs are LLM independent, it can be used with any LLM - whether you're using a service provider like OpenAI, Anthropic, Google or have deployed your own open-source model like Llama-2, Falcon, or Vicuna.
- DB agnostic: Our APIs are also independent of what Vector database (or Graph Database) you want to connect to your web application. Your vector database might be managed by a cloud provider like Weaviate, Pinecone or ElasticSearch. Or it might be hosted on a docker container besides your webapp.
- Pub-sub based event system to build highly customizable workflows
- Async: Built from ground up to be asynchronus. It works out of the box with asynchronomous web frameworks like FastAPI, Starlette, Sanic, etc.
- Lightweight: Keeping production use-cases in mind, we have kept the library's dependencies to a minimum. This makes it a very lightweight component in your webstack.
- Small dev team with a clear focus on developer experience and scalability
Helpful Resources
To make sure you can use the complete power of Embedia, we've compiled a list of resources that you can use to learn more about the underlying technologies.
- This video by Jeremy Howard
- This article from Huggingface about Tokenizers will give you a good overview of what types of tokenizers exist and how they work
- These two videos by ArjanCodes explain with example everything you need to know about asynchronous programming in Python
- This video by ArjanCodes explains how to use Pydantic
- This absolute gem of a video by Andrej Karpathy takes you step by step as he builds GPT from scratch
- The Fast.ai course by Jeremy Howard is the best course online to learn about deep learning, neural networks, NLP and vision models because he takes a top down approach in teaching which makes the experience fun and interesting