/chainlit-custom-base-path

Build Python LLM apps in minutes ⚡️

Primary LanguageTypeScriptApache License 2.0Apache-2.0

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:

intro.mp4

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.