Build a production ready Chat GPT like application in minutes ⚡️
Chainlit is an open-source async Python framework that makes it incredibly fast to build Chat GPT like applications with your own business logic and data.
Key features:
- 💬 Multi Modal chats
- 💭 Chain of Thought visualisation
- 💾 Data persistence + human feedback
- 🛝 In context Prompt Playground
- 👤 Authentication
chainlit-intro.mp4
Open a terminal and run:
$ pip install chainlit
$ chainlit hello
If this opens the hello app
in your browser, you're all set!
Please see here for full documentation on:
- Getting started (installation, simple examples)
- Examples
- Reference (full API docs)
Create a new file demo.py
with the following code:
import chainlit as cl
@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 Tool 1, followed by the final answer.
Args:
message: The user's message.
Returns:
None.
"""
# Send an intermediate response from Tool 1.
await cl.Message(
author="Tool 1",
content=f"Response from tool1",
parent_id=message.id,
).send()
# Send the final answer.
await cl.Message(content=f"This is the final answer").send()
Now run it!
$ chainlit run demo.py -w
Chainlit is compatible with all Python programs and libraries. That being said, it comes with pre-built integrations for Langchain, Llama Index, Haystack and Langflow.
You can find various examples of Chainlit apps here that leverage tools and services such as OpenAI, Anthropiс, LangChain, LlamaIndex, ChromaDB, Pinecone and more.
- Selectable chat profiles (at the beginning of a chat)
- One click chat sharing
- New clients:
- Slack
- Discord
- Website embbed
Tell us what you would like to see added in Chainlit using the Github issues or on Discord.
For entreprise grade features and self hosting, please visit this page and fill the form.
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.