Skip to content

ffesseler/pipecat-cloud-simple-chatbot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Simple Chatbot for Pipecat Cloud

This project demonstrates how to build a complete Pipecat AI agent application with both client and server components. It includes a Next.js client for interacting with a Pipecat AI bot server through Daily.co's WebRTC transport.

Project Overview

  • Server: Python-based Pipecat bot with video/audio processing capabilities
  • Client: Next.js TypeScript web application using the Pipecat React & JS SDKs
  • Infrastructure: Deployable to Pipecat Cloud (server) and Vercel (client)

See the simple-chatbot example with different client and server implementations.

Quick Start

1. Server Setup

Navigate to the server directory:

cd server

Create and activate a virtual environment:

python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

Install requirements:

pip install -r requirements.txt

Copy env.example to .env and add your API keys:

cp env.example .env
# Edit .env to add OPENAI_API_KEY and CARTESIA_API_KEY

Run the server locally to test before deploying:

LOCAL_RUN=1 python bot.py

This will open a browser window with a Daily.co room where you can test your bot directly.

2. Client Setup

In a separate terminal, navigate to the client directory:

cd client-react

Install dependencies:

npm install

Create .env.local file with your Pipecat Cloud API key:

cp env.local.example .env.local

Create a Pipecat Cloud API key using the dashboard

Start the development server:

npm run dev

Open http://localhost:3000 to interact with your agent through the Next.js client.

Deployment

See the Pipecat Cloud Quickstart for a complete walkthrough.

Deploy Server to Pipecat Cloud

  1. Install the Pipecat Cloud CLI:
pip install pipecatcloud
  1. Authenticate:
pcc auth login
  1. Build and push your Docker image:
cd server
chmod +x build.sh
./build.sh

IMPORTANT: Before running this build script, you need to add your DOCKER_USERNAME

  1. Create a secret set for your API keys:
pcc secrets set simple-chatbot-secrets --file .env
  1. Deploy to Pipecat Cloud:
pcc deploy

IMPORTANT: Before deploying, you need to add your Docker Hub username

Deploy Client to Vercel

  1. Push your Next.js client to GitHub

  2. Connect your GitHub repository to Vercel

  3. Add your PIPECAT_CLOUD_API_KEY environment variable in Vercel

  4. Deploy with the Vercel dashboard or CLI

Project Structure

simple-chatbot/
├── client-next/            # Next.js client application
│   ├── src/
│   │   ├── app/            # Next.js app routes
│   │   │   └── api/
│   │   │       └── connect/ # API endpoint for Daily.co connection
│   │   ├── components/     # React components
│   │   └── providers/      # React providers including RTVIProvider
│   ├── package.json
│   └── README.md          # Client-specific documentation
│
└── server/                # Pipecat bot server
    ├── assets/            # Robot animation frames
    ├── bot.py             # The Pipecat pipeline implementation
    ├── Dockerfile         # For building the container image
    ├── build.sh           # Script for building and pushing Docker image
    ├── requirements.txt   # Python dependencies
    ├── pcc-deploy.toml    # Pipecat Cloud deployment config
    └── README.md          # Server-specific documentation

About

A Pipecat Cloud deployable version of simple-chatbot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 52.1%
  • TypeScript 35.6%
  • CSS 6.8%
  • Shell 3.0%
  • JavaScript 1.7%
  • Dockerfile 0.8%