Spaces:
No application file
No application file
| --- | |
| 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 App | |
| import os | |
| os.environ["OPENAI_API_KEY"] = "sk-xxx" | |
| 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) | |
| 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! | |