This release is a pre-release and may not be stable for production use.
Welcome to Chainlit 👋
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
https://github.com/Chainlit/chainlit/assets/13104895/8882af90-fdfa-4b24-8200-1ee96c6c7490
Installation
Open a terminal and run:
$ pip install chainlit
$ chainlit hello
If this opens the hello app in your browser, you're all set!
📖 Documentation
Please see here for full documentation on:
- Getting started (installation, simple examples)
- Examples
- Reference (full API docs)
🚀 Quickstart
🐍 Pure Python
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
🔗 Integrations
Chainlit is compatible with all Python programs and libraries. That being said, it comes with integrations for:
🎨 Custom Frontend
Chainlit allows you to create a custom frontend for your application, offering you the flexibility to design a unique user experience. By integrating your frontend with Chainlit's backend, you can harness the full power of Chainlit's features, including:
- Abstractions for easier development
- Monitoring and observability
- Seamless integrations with various tools
- Robust authentication mechanisms
- Support for multi-user environments
- Efficient data streaming capabilities
To build and connect your own frontend, check out our Custom Frontend Cookbook.
📚 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.
🛣 Roadmap
- Selectable chat profiles (at the beginning of a chat)
- One click chat sharing
- New clients:
- Custom React app
- Slack
- Discord
- Website embbed
Tell us what you would like to see added in Chainlit using the Github issues or on Discord.
🏢 Enterprise support
For entreprise grade features and self hosting, please visit this page and fill the form.
💁 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.
Metadata
Release files for chainlit 0.7.604rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chainlit-0.7.604rc2.tar.gz | 2.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chainlit-0.7.604rc2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 MB
Release files / chainlit-0.7.604rc2.tar.gz
| Download URL | chainlit-0.7.604rc2.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0d64e8fe91f3dde67f1ca1be32936b530ed6ddf4ae3b079aa9dfa273b2e924f
|
|
BLAKE2b-256 checksum How to use checksums |
a873d3478cffdb07b33123a4ba56ba24a6407e8e18d2b3c2df0271e38ea0e9f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / chainlit-0.7.604rc2-py3-none-any.whl
| Download URL | chainlit-0.7.604rc2-py3-none-any.whl |
|---|---|
| Size | 2.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f10c9d50a5c4004ae43052015965f3709b2554eaf3cc0a7fc9a566f03961e06
|
|
BLAKE2b-256 checksum How to use checksums |
1309c430ab3e9c476eb3b33fa0966bf5c7807743506a5cb343b8767645d811f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Security for chainlit 0.7.604rc2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.