Skip to content

mauanga/chainlit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
Aug 22, 2024
Aug 22, 2023
Aug 23, 2024
Jul 12, 2024
Aug 12, 2024
May 27, 2024
Aug 6, 2024
Jul 10, 2023
Aug 3, 2023
Oct 17, 2023
Aug 22, 2024
Jul 21, 2023
Sep 5, 2023
Aug 23, 2024
May 14, 2023
Sep 4, 2023
Jun 17, 2024
Oct 17, 2023
Aug 7, 2023
Aug 22, 2024
May 13, 2024
Jan 19, 2024
Sep 21, 2023

Repository files navigation

Welcome to Chainlit by Literal AI 👋

Twitter PyPI - Downloads GitHub Contributors CI

Build production-ready Conversational AI applications in minutes, not weeks ⚡️

Chainlit is an open-source async Python framework which allows developers to build scalable Conversational AI or agentic applications.

  • ✅ ChatGPT-like application
  • ✅ Embedded Chatbot & Software Copilot
  • ✅ Slack & Discord
  • ✅ Custom frontend (build your own agentic experience)
  • ✅ API Endpoint

Full documentation is available here. You can ask Chainlit related questions to Chainlit Help, an app built using Chainlit!

Note

Contact us here for Enterprise Support. Check out Literal AI, our product to monitor and evaluate LLM applications! It works with any Python or TypeScript applications and seamlessly with Chainlit by adding a LITERAL_API_KEY in your project.

Installation

Open a terminal and run:

$ pip install chainlit
$ chainlit hello

If this opens the hello app in your browser, you're all set!

🚀 Quickstart

🐍 Pure Python

Create a new file demo.py with the following code:

import chainlit as cl


@cl.step(type="tool")
async def tool():
    # Fake tool
    await cl.sleep(2)
    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.
    """

    final_answer = await cl.Message(content="").send()

    # Call the tool
    final_answer.content = await tool()

    await final_answer.update()

Now run it!

$ chainlit run demo.py -w

Quick Start

🎉 Key Features and Integrations

Full documentation is available here. Key features:

Chainlit is compatible with all Python programs and libraries. That being said, it comes with integrations for:

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

About

Build Conversational AI in minutes ⚡️

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 52.2%
  • Python 45.7%
  • CSS 2.0%
  • HTML 0.1%
  • JavaScript 0.0%
  • C++ 0.0%