Skip to main content

A faster way to build chatbot UIs.

Project description

Welcome to Chainlit 👋

Twitter CI

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.

Contact us here for Enterprise Support and to get early access to the Analytics & Observability product.

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.step
def tool():
    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()

    # Send the final answer.
    await cl.Message(content="This is the final answer").send()

Now run it!

$ chainlit run demo.py -w

Quick Start

🔗 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.

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chainlit-1.0.0rc0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chainlit-1.0.0rc0-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file chainlit-1.0.0rc0.tar.gz.

File metadata

  • Download URL: chainlit-1.0.0rc0.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for chainlit-1.0.0rc0.tar.gz
Algorithm Hash digest
SHA256 bf8a78d70f962476030b5be35d30a347efd34df8f2d4292b5089fae05136eb36
MD5 e502d5c7c462ba5ebfd2b5ab43c3ec7c
BLAKE2b-256 ba9da5a1bbb4f3d3add9cde4c3457dfbe2f6e392048f438ef47277c5f369aeb0

See more details on using hashes here.

File details

Details for the file chainlit-1.0.0rc0-py3-none-any.whl.

File metadata

  • Download URL: chainlit-1.0.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for chainlit-1.0.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 e23c596545272d62d28b1b94c692dd3ce45aae7bb3afc55dcb8464c8668e260b
MD5 7846fa8e9d16640d006a29d6122f0a0e
BLAKE2b-256 7d20ebb56ecbebe72cbcfdaf7dd504bdfde444d93d1f5a277afeadb6b1f4a348

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page