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 embediaWhich 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