Skip to content

PraisonAI Call

AI Customer Service

PraisonAI Call is a feature that enables voice-based interaction with AI models through phone calls. This functionality allows users to have natural conversations with AI agents over traditional phone lines.

Installation

Step 1

pip install "praisonai[call]"
export OPENAI_API_KEY="enter your openai api key here"
export NGROK_AUTH_TOKEN="enter your ngrok auth token here"
praisonai call --public

Step 2

Buy a number at PraisonAI Dashboard

Step 3

Enter the Public URL in the PraisonAI Dashboard phone number field

Features

  • Make and receive phone calls with AI agents
  • Natural language processing for voice interactions
  • Support for multiple phone carriers and providers
  • Call recording and transcription capabilities
  • Integration with other PraisonAI features

Adding Tools

  1. Create a file called tools.py
  2. Add the following code:

    import yfinance as yf
    
    # Get Stock Price definition
    get_stock_price_def = {
        "name": "get_stock_price",
        "description": "Get the current stock price for a given ticker symbol",
        "parameters": {
            "type": "object", 
            "properties": {
                "ticker_symbol": {
                    "type": "string", 
                    "description": "The ticker symbol of the stock (e.g., AAPL, GOOGL)"
                }
            }, 
            "required": ["ticker_symbol"]
        }
    }
    
    # Get Stock Price function / Tool
    async def get_stock_price_handler(ticker_symbol):
        try:
            stock = yf.Ticker(ticker_symbol)
            hist = stock.history(period="1d")
            if hist.empty:
                return {"error": f"No data found for ticker {ticker_symbol}"}
            current_price = hist['Close'].iloc[-1]  # Using -1 is safer than 0
            return {"price": str(current_price)}
        except Exception as e:
            return {"error": str(e)}
    
    
    
    get_stock_price = (get_stock_price_def, get_stock_price_handler)
    tools = [
        get_stock_price
    ]
    

  3. ```bash pip install yfinance

    4. ```bash
    export OPENAI_API_KEY="enter your openai api key here"
    export NGROK_AUTH_TOKEN="enter your ngrok auth token here"
    praisonai call --public
    

Manage Google Calendar Events

See Google Calendar Tools

Deploy

Docker Deployment

# Use an official Python runtime as a parent image
FROM python:3.11-slim

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work directory
WORKDIR /app

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    && rm -rf /var/lib/apt/lists/*

# Install PraisonAI with the 'call' extra and ensure it's the latest version
RUN pip install --no-cache-dir --upgrade "praisonai[call]"

# Expose the port the app runs on
EXPOSE 8090

# Run the application
CMD ["praisonai", "call"]