#how to set up client tools to create function calls in my python code?
1 messages · Page 1 of 1 (latest)
To set up client tools for creating function calls in your Python code with ElevenLabs, you can use the Python SDK. Here's a step-by-step guide:
1. Install the SDK
Install the elevenlabs Python package in your project:
pip install elevenlabs
If you want to use the default implementation of audio input/output, you will also need the pyaudio extra:
pip install "elevenlabs[pyaudio]"
For Debian-based systems, you may need to install additional system dependencies for pyaudio:
sudo apt install portaudio19
2. Set Up Your Environment
Load your API key and agent ID from environment variables:
import os
agent_id = os.getenv("AGENT_ID")
api_key = os.getenv("ELEVENLABS_API_KEY")
The API key is required for non-public agents with authentication enabled.
3. Initialize the Client
Create an ElevenLabs client instance:
from elevenlabs.client import ElevenLabs
client = ElevenLabs(api_key=api_key)
4. Set Up a Conversation
Initialize a Conversation instance to interact with the Conversational AI agent:
from elevenlabs.conversational_ai.conversation import Conversation
from elevenlabs.conversational_ai.default_audio_interface import DefaultAudioInterface
conversation = Conversation(
client,
agent_id,
requires_auth=bool(api_key),
audio_interface=DefaultAudioInterface(),
callback_agent_response=lambda response: print(f"Agent: {response}"),
callback_user_transcript=lambda transcript: print(f"User: {transcript}")
)
5. Start the Conversation
Start the session and handle clean shutdowns:
import signal
conversation.start_session()
signal.signal(signal.SIGINT, lambda sig, frame: conversation.end_session())
conversation_id = conversation.wait_for_session_end()
print(f"Conversation ID: {conversation_id}")
6. Run the Script
Run your script with the appropriate environment variables:
# For public agents
AGENT_ID=youragentid python script.py
# For private agents
AGENT_ID=youragentid ELEVENLABS_API_KEY=yourapikey python script.py
This setup allows you to create function calls and interact with the Conversational AI agent. If you need to customize the audio interface or add specific tools, you can extend the AudioInterface class or use the webhook tool for external function calls.
i have a Mac AAir M2 Arm64