Build production-ready Conversational AI applications in minutes, not weeks ⚡️
Chainlit is an open-source async Python framework which allows developers to build scalable Conversational AI or agentic applications.
- ✅ ChatGPT-like application
- ✅ Embedded Chatbot & Software Copilot
- ✅ Slack & Discord
- ✅ Custom frontend (build your own agentic experience)
- ✅ API Endpoint
Full documentation is available here. You can ask Chainlit related questions to Chainlit Help, an app built using Chainlit!
Note
Check out Literal AI, our product to monitor and evaluate LLM applications! It works with any Python or TypeScript applications and seamlessly with Chainlit by adding a LITERAL_API_KEY
in your project.
Chainlit is developed and maintained by the Literal AI team, which is currently focused on expanding the capabilities of Literal AI. While we continue to support and maintain Chainlit, we are also committed to enabling the community to contribute, particularly in areas like integrations and data layers.
Open a terminal and run:
pip install chainlit
chainlit hello
If this opens the hello app
in your browser, you're all set!
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.)
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
Full documentation is available here. Key features:
- 💬 Multi Modal chats
- 💭 Chain of Thought visualization
- 💾 Data persistence + human feedback
- 🐛 Debug Mode
- 👤 Authentication
Chainlit is compatible with all Python programs and libraries. That being said, it comes with integrations for:
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.
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.
Chainlit is open-source and licensed under the Apache 2.0 license.