Skip to main content

OpenInference Pipecat Instrumentation

Project description

OpenInference Pipecat Instrumentation

Python auto-instrumentation library for Pipecat. This library allows you to convert Pipecat traces to OpenInference, which is OpenTelemetry compatible, and view those traces in Arize Phoenix.

Compatibility

openinference-instrumentation-pipecat pipecat-ai Python
>=1.0 >=1.0 >=3.11
<=0.1.4 <1.0 (e.g. 0.0.99) >=3.10

Pipecat 1.0 introduced breaking changes (renamed observers, removed LLMMessagesFrame, dropped Python 3.10). If you're still on pipecat-ai<1.0, pin this instrumentor to <=0.1.4:

pip install 'openinference-instrumentation-pipecat<=0.1.4' 'pipecat-ai<1.0'

Installation

pip install openinference-instrumentation-pipecat

Quickstart

This quickstart shows you how to setup tracing in your Pipecat application:

from phoenix.otel import register
from openinference.instrumentation.pipecat import PipecatInstrumentor

# Set up the tracer provider
tracer_provider = register(
    project_name="default" #Phoenix project name
)

# Add auto-instrumentor at the top of the application
PipecatInstrumentor().instrument(tracer_provider=tracer_provider)

# Build your Pipecat pipeline
# ... (add your Pipecat pipeline code here)

### CONFIGURATION SETUP (Transport, LLM, STT, TTS) ###

### PIPELINE ###
pipeline = Pipeline(...)

### TASK ###
task = PipelineTask(
    pipeline,
    conversation_id=conversation_id,  # conversation id is used for session tracking in Arize or Phoenix
)

### EVENT HANDLING
@transport.event_handler("on_client_connected")
async def on_client_connected(transport, client):
    await task.queue_frames([LLMRunFrame()])

### PIPELINE RUNNER ###
runner = PipelineRunner(handle_sigint=runner_args.handle_sigint)
await runner.run(task)

After configuring tracing, exchanges in the running application are logged to your project in Phoenix or Arize AX.

Example

  1. Install dependencies
uv pip install -e '.[examples]'

or

uv pip install -r examples/trace/requirements.txt
  1. Run example
uv run python examples/trace/001-trace.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openinference_instrumentation_pipecat-1.0.2.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file openinference_instrumentation_pipecat-1.0.2.tar.gz.

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-1.0.2.tar.gz
Algorithm Hash digest
SHA256 7efb6c2356370bd4c7975d41489e631a68adda03ad46e97a60dd56a580a77a65
MD5 368fdfd36f3841693db0c185381f2f96
BLAKE2b-256 e6c9e913a6867a60b5003af83c57d9f3a6f6f43804a2783dd7c33c04a6bf2e4f

See more details on using hashes here.

File details

Details for the file openinference_instrumentation_pipecat-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 541cd12c32b9afdd5be7dc6fad07bee28647466708742799cc070aa423322ba9
MD5 5169c8a39c9cfc67f57e0b07b299e862
BLAKE2b-256 8815cbaa05dd9df0eb5f736481a0686054b78f983e851b72c4640109e8ab09b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page