Update foundational examples README

This commit is contained in:
Mark Backman
2025-08-04 16:24:46 -04:00
parent 54d5ebbc20
commit c773ddf83d
3 changed files with 35 additions and 43 deletions

View File

@@ -119,10 +119,10 @@ You can get started with Pipecat running on your local machine, then move your a
cd pipecat cd pipecat
``` ```
2. Install development dependencies: 2. Install development and testing dependencies:
```bash ```bash
uv sync --group dev uv sync --group dev --all-extras --no-extra krisp
``` ```
3. Install the git pre-commit hooks: 3. Install the git pre-commit hooks:
@@ -131,12 +131,6 @@ You can get started with Pipecat running on your local machine, then move your a
uv run pre-commit install uv run pre-commit install
``` ```
4. Install all extras so you can run any example:
```bash
uv sync --all-extras --no-extra krisp
```
### Running tests ### Running tests
To run all tests, from the root directory: To run all tests, from the root directory:

View File

@@ -2,70 +2,71 @@
This directory contains examples showing how to build voice and multimodal agents with Pipecat. Each example demonstrates specific features, progressing from basic to advanced concepts. This directory contains examples showing how to build voice and multimodal agents with Pipecat. Each example demonstrates specific features, progressing from basic to advanced concepts.
## Learning Paths ## Setup
Depending on what you're trying to build, these learning paths will guide you through relevant examples: 1. Make sure you have uv installed:
- **New to Pipecat**: Start with examples [01](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/01-say-one-thing.py), [02](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/02-llm-say-one-thing.py), [07](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/07-interruptible.py)
- **Building conversational bots**: [07](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/07-interruptible.py), [10](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/10-wake-phrase.py), [38](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/38-smart-turn-fal.py)
- **Common add-on capabilities**: [17](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/17-detect-user-idle.py), [24](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/24-stt-mute-filter.py), [28](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/28-transcription-processor.py), [34](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/34-audio-recording.py)
- **Adding visual capabilities**: [03](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/03-still-frame.py), [12](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/12a-describe-video-gemini-flash.py), [26](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/26c-gemini-multimodal-live-video.py)
- **Advanced agent capabilities**: [14](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/14-function-calling.py), [20](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/20a-persistent-context-openai.py), [37](https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/37-mem0.py)
## Quick Start
1. Set up a virtual environment:
```bash ```bash
python -m venv venv curl -LsSf https://astral.sh/uv/install.sh | sh
source venv/bin/activate # On Windows: venv\Scripts\activate
``` ```
2. Install dependencies: > **Need help?** Refer to the [uv install documentation](https://docs.astral.sh/uv/getting-started/installation/).
2. Create a venv and install example dependencies:
```bash ```bash
pip install -r requirements.txt uv sync --all-extras --no-extra krisp
``` ```
3. Create a `.env` file with your API keys. 3. Create a `.env` file with your API keys:
4. Run any example:
```bash ```bash
python 01-say-one-thing.py cp env.example .env
# Edit .env with your API keys
``` ```
5. Open the web interface at http://localhost:7860 and click "Connect" 4. Navigate to the examples directory:
```bash
cd examples/foundational
```
5. Run any example:
```bash
uv run python 01-say-one-thing.py
```
6. Open the web interface at http://localhost:7860/client/ and click "Connect"
## Running examples with other transports ## Running examples with other transports
It is possible to run most of the examples with other transports such as Twilio or Daily. Most examples support running with other transports, like Twilio or Daily.
### Daily ### Daily
You need to create a Daily account at https://dashboard.daily.co/u/signup. Once signed up, you can create your own room from the dashboard and set the environment variables `DAILY_SAMPLE_ROOM_URL` and `DAILY_API_KEY`. Alternatively, you can let the example create a room for you (still needs `DAILY_API_KEY` environment variable). Then, start any example with `-t daily`: You need to create a Daily account at https://dashboard.daily.co/u/signup. Once signed up, you can create your own room from the dashboard and set the environment variables `DAILY_SAMPLE_ROOM_URL` and `DAILY_API_KEY`. Alternatively, you can let the example create a room for you (still needs `DAILY_API_KEY` environment variable). Then, start any example with `-t daily`:
```bash ```bash
python 07-interruptible.py -t daily uv run 07-interruptible.py -t daily
``` ```
### Twilio ### Twilio
It is also possible to run the example through a Twilio phone number. You will It is also possible to run the example through a Twilio phone number. You will need to setup a few things:
need to setup a few things:
1. Install and run [ngrok](https://ngrok.com/download). 1. Install and run [ngrok](https://ngrok.com/download).
```bash ```bash
ngrok http 7860 ngrok http 7860
``` ```
2. Configure your Twilio phone number. One way is to setup a TwiML app and set the request URL to the ngrok URL from step (1). Then, set your phone number to use the new TwiML app. 2. Configure your Twilio phone number. One way is to setup a TwiML app and set the request URL to the ngrok URL from step (1). Then, set your phone number to use the new TwiML app.
Then, run the example with: Then, run the example with:
```bash ```bash
python 07-interruptible.py -t twilio -x NGROK_HOST_NAME (no protocol) uv run 07-interruptible.py -t twilio -x NGROK_HOST_NAME
``` ```
## Examples by Feature ## Examples by Feature
@@ -133,21 +134,18 @@ python 07-interruptible.py -t twilio -x NGROK_HOST_NAME (no protocol)
- **[16-gpu-container-local-bot.py](./16-gpu-container-local-bot.py)**: GPU-accelerated local bot (Performance measurement) - **[16-gpu-container-local-bot.py](./16-gpu-container-local-bot.py)**: GPU-accelerated local bot (Performance measurement)
### Utilities
## Advanced Usage ## Advanced Usage
### Customizing Network Settings ### Customizing Network Settings
```bash ```bash
python <example-name> --host 0.0.0.0 --port 8080 uv run python <example-name> --host 0.0.0.0 --port 8080
``` ```
### Troubleshooting ### Troubleshooting
- **No audio/video**: Check browser permissions for microphone and camera - **No audio/video**: Check browser permissions for microphone and camera
- **Connection errors**: Verify API keys in `.env` file - **Connection errors**: Verify API keys in `.env` file
- **Missing dependencies**: Run `pip install -r requirements.txt`
- **Port conflicts**: Use `--port` to change the port - **Port conflicts**: Use `--port` to change the port
For more examples, visit our [GitHub repository](https://github.com/pipecat-ai/pipecat/tree/main/examples). For more examples, visit our the [`pipecat-examples repository](https://github.com/pipecat-ai/pipecat-examples).

View File

@@ -1 +1 @@
pipecat-ai[webrtc,websocket,daily,deepgram,cartesia,silero,runner]>=0.0.77 pipecat-ai[webrtc,websocket,daily,silero,runner]>=0.0.77