You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Create a new file demo.py with the following code:
importchainlitascl@cl.step(type="tool")asyncdeftool():
# Fake toolawaitcl.sleep(2)
return"Response from the tool!"@cl.on_message# this function will be called every time a user inputs a message in the UIasyncdefmain(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 tooltool_res=awaittool()
awaitcl.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.