Git Product home page Git Product logo

chainlit's Introduction

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

chainlit's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.