Skip to main content

Phonic Realtime Adapter for RTP Agent

The Phonic adapter provides seamless integration with Phonic's Multimodal Realtime API, allowing your RTP Agent to process voice and text natively with ultra-low latency.

Installation

Add the adapter to your Go project:

go get github.com/cavos-io/rtp-agent/adapter/phonic

Authentication

Set the required environment variables in your .env file. Refer to the Phonic developer documentation for acquiring the necessary API keys and tokens.

PHONIC_API_KEY=your_api_key_here

Usage

Below is a basic conceptual example demonstrating how to initialize the Phonic Realtime adapter within an RTP Agent session:

package main

import (
"context"
"log"
"os"

"github.com/cavos-io/rtp-agent/adapter/phonic"
"github.com/cavos-io/rtp-agent/core/agent"
)

func main() {
ctx := context.Background()

// Initialize the Phonic Realtime adapter
realtimeProvider, err := phonic.NewRealtimeModel(
os.Getenv("PHONIC_API_KEY"),
)
if err != nil {
log.Fatalf("failed to initialize Phonic adapter: %v", err)
}

// Create and configure the RTP agent session
session := agent.NewMultimodalSession(
agent.WithRealtimeModel(realtimeProvider),
)

// Start the session
if err := session.Start(ctx); err != nil {
log.Fatalf("session failed: %v", err)
}
}