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.604rc1
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.604rc1.tar.gz | 2.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chainlit-0.7.604rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 MB
Release files / chainlit-0.7.604rc1.tar.gz
| Download URL | chainlit-0.7.604rc1.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
92fa1c77002bff726560b926b641b57cdcad1b7d9ced0a6e2c85e6dde053877b
|
|
BLAKE2b-256 checksum How to use checksums |
7bf2b8e3d5d0194551c8ecf40243e0ee9cbb0cfc60460d6e2f31fd29322961fc
|
| 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.604rc1-py3-none-any.whl
| Download URL | chainlit-0.7.604rc1-py3-none-any.whl |
|---|---|
| Size | 2.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6eae72bd3d8e331f9d05fdd486c4b047fcbcb7220326d3116b770035507ed01
|
|
BLAKE2b-256 checksum How to use checksums |
10437c8ea1ef841d18a3bcb1166b4c8e210f160b778139e4c1e1046b51995aa3
|
| 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.604rc1
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.