Build Conversational AI.
Project description
Welcome to Chainlit 👋
Build python production-ready conversational AI applications in minutes, not weeks ⚡️
⚠️ Notice: Chainlit is now community-maintained.
As of May 1st 2025, the original Chainlit team has stepped back from active development. The project is maintained by @Chainlit/chainlit-maintainers under a formal Maintainer Agreement.
Maintainers are responsible for code review, releases, and security.
Chainlit SAS provides no warranties on future updates.Want to help maintain? Apply here →
Website • Documentation • Chainlit Help • Cookbook
https://github.com/user-attachments/assets/b3738aba-55c0-42fa-ac00-6efd1ee0d148
Installation
Open a terminal and run:
pip install chainlit
chainlit hello
If this opens the hello app in your browser, you're all set!
Development version
The latest in-development version can be installed straight from GitHub with:
pip install git+https://github.com/Chainlit/chainlit.git#subdirectory=backend/
(Requires Node and pnpm installed on the system.)
🚀 Quickstart
🐍 Pure Python
Create a new file demo.py with the following code:
import chainlit as cl
@cl.step(type="tool")
async def tool():
# Fake tool
await cl.sleep(2)
return "Response from the tool!"
@cl.on_message # this function will be called every time a user inputs a message in the UI
async def main(message: cl.Message):
"""
This function is called every time a user inputs a message in the UI.
It sends back an intermediate response from the tool, followed by the final answer.
Args:
message: The user's message.
Returns:
None.
"""
# Call the tool
tool_res = await tool()
await cl.Message(content=tool_res).send()
Now run it!
chainlit run demo.py -w
📚 More Examples - Cookbook
You can find various examples of Chainlit apps here that leverage tools and services such as OpenAI, Anthropiс, LangChain, LlamaIndex, ChromaDB, Pinecone and more.
Tell us what you would like to see added in Chainlit using the Github issues or on Discord.
💁 Contributing
As an open-source initiative in a rapidly evolving domain, we welcome contributions, be it through the addition of new features or the improvement of documentation.
For detailed information on how to contribute, see here.
📃 License
Chainlit is open-source and licensed under the Apache 2.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chainlit-2.9.6.tar.gz.
File metadata
- Download URL: chainlit-2.9.6.tar.gz
- Upload date:
- Size: 10.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bf1b2023a46b1ae51a195a7e94b9940e371a394debe04872d8402f21955a13e
|
|
| MD5 |
6ff2014965f41260f7614aa0bd53fd80
|
|
| BLAKE2b-256 |
f588a1e440c776645fed529d8616c31a6be268b8fc1188b3fb9e4e853a8969cf
|
File details
Details for the file chainlit-2.9.6-py3-none-any.whl.
File metadata
- Download URL: chainlit-2.9.6-py3-none-any.whl
- Upload date:
- Size: 10.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4e9d44425bc0cf024931ad4bbf5fa100805324c35e6bed02100097e242b99ed
|
|
| MD5 |
98ddd46bee3b90487aef584c9c287037
|
|
| BLAKE2b-256 |
49da4bb0bfc9163ce15645745f51005b0fbf383a2a527a9582dd1453404a9019
|