TODO: fix gemini function calling to keep up with new pipecat version
This repository demonstrates simple llm function calling with Gemini Multimodal Live and parallel Pipecat pipelines. Concept inspired by the "honest subtitles" scene*. Implementation heavily influenced by simple chatbot and this.
-
Copy env.example to .env and add API keys
cp server/example.env server/.env
-
Setup server
cd server python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Start the server
python server.py
-
Setup client
cd client/javascript npm install -
Start the client
npm run dev
-
Navigate to http://localhost:5173 in your browser and click "Talk to annie hall weather bot".
- README
- Pipecat implementation
- Meat of logic in annie-hall.py
- README
- Basic javascript implementation using Pipecat JavaScript SDK
- No framework dependencies
The bot server must be running for any of the client implementations to work. Start the server first before trying any of the client apps.
- Python 3.10+
- Node.js 16+
- Daily API key (free)
- Gemini API key (free)
- Modern web browser with WebRTC support
* the content can be problematic, but the concept is solid.
