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

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.1.tar.gz.

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-1.0.1.tar.gz
Algorithm Hash digest
SHA256 596ad57894bed3ec4140f0f67440f996eac3aa4d8e7fe30cf096414fc789a19c
MD5 f53520ac8ad1b8eb8aaa10511042f8f2
BLAKE2b-256 2c73ee407d2c7760e7fbebfce5ac904bb5ebd57831bc1045b184697475907a44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3cbaa328199228eab53722d4584d71417a14bd57f9a3f5f40f21b5190f3b51da
MD5 b6bb5c6c6bbd217c58d4e48a196db0dd
BLAKE2b-256 e3a7690af2367378e8c9c4676ccaa941d227d7768436b6769a4b01318f4a1f40

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