Sen descrición

Deven Patel 28460f725c [Bugfix] fix poetry lock (#960) hai 1 ano
.github 2b881aaad0 Cache dependencies in CI (#832) hai 1 ano
configs 82fd595306 [Improvements] improve package ux (#950) hai 1 ano
docs c14bd7b73b [Improvement] fix discourse loader to avoid rate limit (#953) hai 1 ano
embedchain 28460f725c [Bugfix] fix poetry lock (#960) hai 1 ano
embedchain-js 3c3d98b9c3 feat: add embedchain javascript package (#576) hai 1 ano
examples 539286aafd [Feature] Add Slack Loader (#932) hai 1 ano
notebooks f7dd65a3de [Feature] Add support for OpenAI assistants and support openai version >=1.0.0 (#921) hai 1 ano
tests c14bd7b73b [Improvement] fix discourse loader to avoid rate limit (#953) hai 1 ano
.env.example 702067e521 Improve user readability of .env.example (#781) hai 1 ano
.gitignore 8dd5cb9602 Add `rest-api` example (#889) hai 1 ano
.pre-commit-config.yaml ac68986404 Add project tools and contributing guidelines (#281) %!s(int64=2) %!d(string=hai) anos
CITATION.cff 736b645fea Add citation (#137) %!s(int64=2) %!d(string=hai) anos
CONTRIBUTING.md 76f1993e7a Update CONTRIBUTING.md (#845) hai 1 ano
LICENSE 65d1ff37e8 Create LICENSE %!s(int64=2) %!d(string=hai) anos
Makefile 7641cba01d [Feature] JSON data loader support (#816) hai 1 ano
README.md 3332e6e236 [Docs] Update README (#915) hai 1 ano
poetry.lock 28460f725c [Bugfix] fix poetry lock (#960) hai 1 ano
poetry.toml ac68986404 Add project tools and contributing guidelines (#281) %!s(int64=2) %!d(string=hai) anos
pyproject.toml 28460f725c [Bugfix] fix poetry lock (#960) hai 1 ano

README.md

Embedchain Logo

PyPI Slack Discord Twitter Substack Open in Colab codecov


What is Embedchain?

Embedchain is a Data Platform for Large Language Models (LLMs). Seamlessly load, index, retrieve, and sync unstructured data to build dynamic, LLM-powered applications. Check out embedchain-js for a JavaScript implementation.

🔧 Quick install

Python API

pip install --upgrade embedchain

REST API

You can also run Embedchain as a REST API server using the following command:

docker run --name embedchain -p 8080:8080 embedchain/rest-api:latest

Then, navigate to http://0.0.0.0:8080/docs to interact with the API.

🔍 Usage and Demo

Embedchain Demo

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

import os
from embedchain import Pipeline as 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")
elon_bot.add("https://www.youtube.com/watch?v=RcYjXbSJBN8")

# 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.

# (Optional): Deploy app to Embedchain Platform
app.deploy()
# 🔑 Enter your Embedchain API key. You can find the API key at https://app.embedchain.ai/settings/keys/
# ec-xxxxxx

# 🛠️ Creating pipeline on the platform...
# 🎉🎉🎉 Pipeline created successfully! View your pipeline: https://app.embedchain.ai/pipelines/xxxxx

# 🛠️ Adding data to your pipeline...
# ✅ Data of type: web_page, value: https://www.forbes.com/profile/elon-musk added successfully.

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

Connect with fellow developers and users by joining our Slack Workspace. Dive into discussions, ask questions, and share your experiences.

🤝 Schedule a 1-on-1 Session

Book a 1-on-1 Session with Taranjeet, the founder, 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.

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 app.config.collect_metrics = False in the code. 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: Data platform for LLMs - load, index, retrieve, and sync any unstructured data},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/embedchain/embedchain}},
}