Skip to content

Harvard-University-iCommons/chainlit

 
 

Repository files navigation

Welcome to Chainlit 👋

Build Python LLM apps in minutes ⚡️

Chainlit lets you create ChatGPT-like UIs on top of any Python code in minutes! Some of the key features include intermediary steps visualisation, element management & display (images, text, carousel, etc.) as well as cloud deployment.

Twitter CI

chainlit-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: str):
    # this is an intermediate step
    await cl.Message(author="Tool 1", content=f"Response from tool1", indent=1).send()

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

Now run it!

$ chainlit run demo.py -w

Quick Start

🔗 With LangChain

Check out our plug-and-play integration with LangChain!

📚 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

  • New UI elements (spreadsheet, video, carousel...)
  • Create your own UI elements via component framework
  • DAG-based chain-of-thought interface
  • Support more LLMs in the prompt playground
  • App deployment

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.

Packages

No packages published

Languages

  • Python 50.8%
  • TypeScript 48.9%
  • HTML 0.1%
  • CSS 0.1%
  • JavaScript 0.1%
  • C++ 0.0%