Skip to main content

A Python package for building AI chatbots with LiteLLM support for BubbleTea platform

Project description

Bubbletea Documentation

Table of Contents

Introduction

1. Intro Concept - Frontend for your AI Agent

Bubbletea is the frontend platform for AI agents & chatbots. Share your AI creations with the world through beautiful, instant chat interfaces. Build your bot in any language, host it anywhere, and Bubbletea provides the user interface.

  • No frontend development needed
  • Share bots with simple URLs
  • Professional UI out of the box
  • Built-in user management & history

Quickstart

2. Quickstart - E2E Echobot

Get your first bot running in minutes. This complete example shows you how to build, deploy, and share a working chatbot in just 3 steps.

🎬 Video Demonstration

Watch this step-by-step video guide that walks you through the entire process: Bubbletea Quickstart Tutorial

Step 1: Create an Echo Bot

First, install the Bubbletea SDK and create a simple bot that echoes messages back to users. The @bt.chatbot decorator automatically handles all the HTTP endpoint setup for you.

# Install SDK with LLM support
pip install 'bubbletea-chat[llm]'

# echobot.py
import bubbletea_chat as bt

@bt.chatbot
def echo_bot(message: str):
    # Simple echo bot
    return bt.Text(f"Echo: {message}")

if __name__ == "__main__":
    # Creates /chat endpoint automatically
    bt.run_server(echo_bot, port=8000, host="0.0.0.0")

Step 2: Deploy with ngrok or Replit

Now make your bot accessible from the internet. Choose either ngrok for local development or Replit for instant cloud hosting. Both options are free and take less than a minute to set up.

Option A: Deploy with ngrok (Local Development)

# Install ngrok: https://ngrok.com/download
# Start your bot locally
python echobot.py

# In another terminal, expose it to internet
ngrok http 8000

# Your bot URL will be: https://abc123.ngrok-free.app

Option B: Deploy on Replit (Cloud Hosting)

Replit provides free, always-on hosting with zero configuration:

  • Go to replit.com and create a new Python repl
  • Copy your bot code into main.py
  • Click "Run" to start your bot
  • Get instant URL: https://your-bot.username.repl.co
  • Free hosting, SSL included, always online
  • Click "Deploy" button and ensure deployment type is set to "Public"

Step 3: Register Your Bot & Access Everywhere

Finally, register your bot through the Dashboard to make it accessible to users:

  • Go to https://bubbletea.chat
  • Create or select a subaccount for your bot
  • Use BT Agent or the dashboard UI to register your bot

Your bot is now accessible at:

Documentation

📚 Core Documentation

🔧 Key Features

Components

Bubbletea provides rich UI components for your bot:

  • 💬 Text - Simple text messages
  • 📝 Markdown - Rich formatted text
  • 🎨 Image - Display images with alt text
  • 🎬 Video - Embed videos with player controls
  • 🎴 Cards - Interactive cards with images and text
  • 💊 Pills - Quick action buttons
  • ⚠️ Error - Error messages with proper styling
  • Block - Loading indicators

Learn more in the Components Documentation

Bot Configuration

Configure your bot's identity, appearance, and behavior:

import bubbletea_chat as bt

@bt.config()
def get_config():
    return bt.BotConfig(
        name="your-bot",
        url="https://your-bot.com/chat",
        is_streaming=False,
        display_name="Your Bot",
        subtitle="Brief description",
        icon_emoji="🤖",
        description="Full description with **markdown** support"
    )

See full configuration options in Bot Configuration

Multiple Bots Support

Run multiple bots in the same application:

# Support Bot at /support
@bt.chatbot("support")
def support_bot(message: str):
    return bt.Text("How can I help you?")

# Sales Bot at /sales
@bt.chatbot("sales")
def sales_bot(message: str):
    return bt.Text("Let me help you find the perfect plan!")

# Run all bots
bt.run_server(port=8000)

Learn more in Multiple Bots Documentation

Examples

Bot Examples Repository

Visit our bots folder for complete working examples:

  • Echo Bot - Simple starter bot
  • Morning Bot - Daily assistant with Firebase integration
  • Movie Bot - Movie recommendations
  • OpenAI Bot - GPT-powered conversational bot

Each bot includes:

  • Complete source code
  • Setup instructions
  • Environment configuration
  • Deployment guides

Quick Example: Image Generation Bot

@bt.chatbot
async def art_bot(message: str):
    llm = LLM(model="dall-e-3")
    image_url = await llm.agenerate_image(message)
    return [bt.Image(image_url), bt.Text("Your image is ready!")]

More examples in Examples & Showcase

Contributing

Bubbletea is open source and welcomes contributions! Whether you're fixing bugs, adding features, improving documentation, or creating example bots, your contributions help make Bubbletea better for everyone.

How to Contribute

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Resources

License

MIT License - See LICENSE file for details

View on GitHub | Report Issue

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bubbletea_chat-0.6.4.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

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

bubbletea_chat-0.6.4-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file bubbletea_chat-0.6.4.tar.gz.

File metadata

  • Download URL: bubbletea_chat-0.6.4.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for bubbletea_chat-0.6.4.tar.gz
Algorithm Hash digest
SHA256 4cb0547b15082850740a399f6ec6e7a35f3701f3d454e7a79a0ed283cd4549c1
MD5 3a30bc49bf962c1cddd2fe54e7b222ba
BLAKE2b-256 f5e37033c122dacb03cb251fec2ad945d10e85dffb0664c3dbae005fb98c1c5b

See more details on using hashes here.

File details

Details for the file bubbletea_chat-0.6.4-py3-none-any.whl.

File metadata

  • Download URL: bubbletea_chat-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for bubbletea_chat-0.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ccb3417e86c4a6eed8110d609e2dfa5aa8e95087a0109f9b810693ae55522891
MD5 2500e2912f9655e5cd68be52a81d9c44
BLAKE2b-256 7b0779fc3a9eeac4c7fede9c52fc43df6a60a79e4ac60c21b06820efc2ffb293

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