Chainlit + Embedchain Integration (Example) (#1020)
This commit is contained in:
68
docs/integration/chainlit.mdx
Normal file
68
docs/integration/chainlit.mdx
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: '⛓️ Chainlit'
|
||||
description: 'Integrate with Chainlit to create LLM chat apps'
|
||||
---
|
||||
|
||||
In this example, we will learn how to use Chainlit and Embedchain together
|
||||
|
||||
## 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 Pipeline as 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!
|
||||
|
||||

|
||||
@@ -76,7 +76,8 @@
|
||||
{
|
||||
"group": "🔗 Integrations",
|
||||
"pages": [
|
||||
"integration/langsmith"
|
||||
"integration/langsmith",
|
||||
"integration/chainlit"
|
||||
]
|
||||
},
|
||||
"get-started/faq"
|
||||
|
||||
1
examples/chainlit/.gitignore
vendored
Normal file
1
examples/chainlit/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.chainlit
|
||||
17
examples/chainlit/README.md
Normal file
17
examples/chainlit/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
## Chainlit + Embedchain Demo
|
||||
|
||||
In this example, we will learn how to use Chainlit and Embedchain together
|
||||
|
||||
## Setup
|
||||
|
||||
First, install the required packages:
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Run the app locally,
|
||||
|
||||
```
|
||||
chainlit run app.py
|
||||
```
|
||||
35
examples/chainlit/app.py
Normal file
35
examples/chainlit/app.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import chainlit as cl
|
||||
from embedchain import Pipeline as 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()
|
||||
15
examples/chainlit/chainlit.md
Normal file
15
examples/chainlit/chainlit.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Welcome to Embedchain! 🚀
|
||||
|
||||
Hello! 👋 Excited to see you join us. With Embedchain and Chainlit, create ChatGPT like apps effortlessly.
|
||||
|
||||
## Quick Start 🌟
|
||||
|
||||
- **Embedchain Docs:** Get started with our comprehensive [Embedchain Documentation](https://docs.embedchain.ai/) 📚
|
||||
- **Discord Community:** Join our discord [Embedchain Discord](https://discord.gg/CUU9FPhRNt) to ask questions, share your projects, and connect with other developers! 💬
|
||||
- **UI Guide**: Master Chainlit with [Chainlit Documentation](https://docs.chainlit.io/) ⛓️
|
||||
|
||||
Happy building with Embedchain! 🎉
|
||||
|
||||
## Customize welcome screen
|
||||
|
||||
Edit chainlit.md in your project root to change this welcome message.
|
||||
2
examples/chainlit/requirements.txt
Normal file
2
examples/chainlit/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
chainlit==0.7.700
|
||||
embedchain==0.1.31
|
||||
Reference in New Issue
Block a user