embedchain / docs /integration /chainlit.mdx
rajesh1501's picture
Upload folder using huggingface_hub
a85c9b8 verified
---
title: '⛓️ Chainlit'
description: 'Integrate with Chainlit to create LLM chat apps'
---
In this example, we will learn how to use Chainlit and Embedchain together.
![chainlit-demo](https://github.com/embedchain/embedchain/assets/73601258/d6635624-5cdb-485b-bfbd-3b7c8f18bfff)
## Setup
First, install the required packages:
```bash
pip install embedchain chainlit
```
## Create a Chainlit app
Create a new file called `app.py` and add the following code:
```python
import chainlit as cl
from embedchain import App
import os
os.environ["OPENAI_API_KEY"] = "sk-xxx"
@cl.on_chat_start
async def on_chat_start():
app = App.from_config(config={
'app': {
'config': {
'name': 'chainlit-app'
}
},
'llm': {
'config': {
'stream': True,
}
}
})
# import your data here
app.add("https://www.forbes.com/profile/elon-musk/")
app.collect_metrics = False
cl.user_session.set("app", app)
@cl.on_message
async def on_message(message: cl.Message):
app = cl.user_session.get("app")
msg = cl.Message(content="")
for chunk in await cl.make_async(app.chat)(message.content):
await msg.stream_token(chunk)
await msg.send()
```
## Run the app
```
chainlit run app.py
```
## Try it out
Open the app in your browser and start chatting with it!