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.

Key features:

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

Quick Start

🔗 Integrations

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.

📚 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:
    • 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.

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-0.7.600rc1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

chainlit-0.7.600rc1-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file chainlit-0.7.600rc1.tar.gz.

File metadata

  • Download URL: chainlit-0.7.600rc1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for chainlit-0.7.600rc1.tar.gz
Algorithm Hash digest
SHA256 6c9bb3a5b051649e7cb5504c025cfb97345d3ee33e61d0e7419ae5d60f6075dd
MD5 8d0098514cb6c308084c742564f6c682
BLAKE2b-256 451032d2cd53e23e69698e64cc7d0d323b8db6a4b712725262ee18c5b2d35928

See more details on using hashes here.

File details

Details for the file chainlit-0.7.600rc1-py3-none-any.whl.

File metadata

  • Download URL: chainlit-0.7.600rc1-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for chainlit-0.7.600rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 dba2648cfcbf1e7b43368c21f528faa26abc6a1c97b4cc1f7e25438199cf0e02
MD5 2bb5695a80b8881b6ee3452df9d731c5
BLAKE2b-256 04201722eaf70849c67319069e40780d0ffbaa6d4c55712122f7e95c65083866

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