Nenhuma descrição

Deshraj Yadav 38e212c721 [Bug fix] Fix test (#1255) 1 ano atrás
.github 7a026ea282 Fix link in github issue bug template (#1068) 1 ano atrás
configs 0373fa231c [Feature] Add support for vllm as llm source (#1149) 1 ano atrás
docs d38120c839 [Docs] Added documentation to deploy to Railway.app (#1250) 1 ano atrás
embedchain 2f285ea00a [Bug fix] Fix history sequence in prompt (#1254) 1 ano atrás
embedchain-js 1878f8d4fc README.md: Fix typo (#1140) 1 ano atrás
examples 3cff5e9898 Ruff: Add ASYNC checks (#1139) 1 ano atrás
notebooks 5b46daaee4 Fix #1176 (a bug in the chromadb provider definition example) (#1177) 1 ano atrás
tests 38e212c721 [Bug fix] Fix test (#1255) 1 ano atrás
.env.example 702067e521 Improve user readability of .env.example (#781) 1 ano atrás
.gitignore 04daa1b206 [Feature] Add support for GPTCache (#1065) 1 ano atrás
.pre-commit-config.yaml ac68986404 Add project tools and contributing guidelines (#281) 2 anos atrás
CITATION.cff 736b645fea Add citation (#137) 2 anos atrás
CONTRIBUTING.md 76f1993e7a Update CONTRIBUTING.md (#845) 1 ano atrás
LICENSE 65d1ff37e8 Create LICENSE 2 anos atrás
Makefile a1394ce32e [chore] pypdf and bs4 by default in package (#1038) 1 ano atrás
README.md 9fa368b114 [Refactor] Remove usage of 'Pipeline' in favor of 'App' (#1246) 1 ano atrás
poetry.lock e75c05112e [Improvement] update pinecone client v3 (#1200) 1 ano atrás
poetry.toml ac68986404 Add project tools and contributing guidelines (#281) 2 anos atrás
pyproject.toml 2f285ea00a [Bug fix] Fix history sequence in prompt (#1254) 1 ano atrás

README.md

Embedchain Logo

PyPI Downloads Slack Discord Twitter Open in Colab codecov


What is Embedchain?

Embedchain is an Open Source RAG Framework that makes it easy to create and deploy AI apps. At its core, Embedchain follows the design principle of being "Conventional but Configurable" to serve both software engineers and machine learning engineers.

Embedchain streamlines the creation of Retrieval-Augmented Generation (RAG) applications, offering a seamless process for managing various types of unstructured data. It efficiently segments data into manageable chunks, generates relevant embeddings, and stores them in a vector database for optimized retrieval. With a suite of diverse APIs, it enables users to extract contextual information, find precise answers, or engage in interactive chat conversations, all tailored to their own data.

🔧 Quick install

Python API

pip install embedchain

✨ Live demo

Checkout the Chat with PDF live demo we created using Embedchain. You can find the source code here.

🔍 Usage

Embedchain Demo

For example, you can create an Elon Musk bot using the following code:

import os
from embedchain import App

# Create a bot instance
os.environ["OPENAI_API_KEY"] = "YOUR API KEY"
elon_bot = App()

# Embed online resources
elon_bot.add("https://en.wikipedia.org/wiki/Elon_Musk")
elon_bot.add("https://www.forbes.com/profile/elon-musk")

# Query the bot
elon_bot.query("How many companies does Elon Musk run and name those?")
# Answer: Elon Musk currently runs several companies. As of my knowledge, he is the CEO and lead designer of SpaceX, the CEO and product architect of Tesla, Inc., the CEO and founder of Neuralink, and the CEO and founder of The Boring Company. However, please note that this information may change over time, so it's always good to verify the latest updates.

You can also try it in your browser with Google Colab:

Open in Colab

📖 Documentation

Comprehensive guides and API documentation are available to help you get the most out of Embedchain:

🔗 Join the Community

🤝 Schedule a 1-on-1 Session

Book a 1-on-1 Session with the founders, to discuss any issues, provide feedback, or explore how we can improve Embedchain for you.

🌐 Contributing

Contributions are welcome! Please check out the issues on the repository, and feel free to open a pull request. For more information, please see the contributing guidelines.

For more reference, please go through Development Guide and Documentation Guide.

Anonymous Telemetry

We collect anonymous usage metrics to enhance our package's quality and user experience. This includes data like feature usage frequency and system info, but never personal details. The data helps us prioritize improvements and ensure compatibility. If you wish to opt-out, set the environment variable EC_TELEMETRY=false. We prioritize data security and don't share this data externally.

Citation

If you utilize this repository, please consider citing it with:

@misc{embedchain,
  author = {Taranjeet Singh, Deshraj Yadav},
  title = {Embedchain: The Open Source RAG Framework},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/embedchain/embedchain}},
}