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
>=2.0 >=1.3 >=3.11
>=1.0, <2.0 >=1.0, <1.3 >=3.11
<=0.1.4 <1.0 (e.g. 0.0.99) >=3.10

Pipecat 1.3 deprecated PipelineTask in favor of PipelineWorker. Instrumentor versions <2.0 only wrap PipelineTask, so bots built on PipelineWorker get no observer injection and emit no spans. Use >=2.0 with pipecat-ai>=1.3.

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(...)

### WORKER ###
worker = PipelineWorker(
    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 worker.queue_frames([LLMRunFrame()])

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

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

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8d311983d260d973f9937cca7a3eaa3296ef86bc69b5a49ee37bdc5778092770
MD5 ad4e1db46150d2b3e8f91019690a7d92
BLAKE2b-256 a5e33e963bf9734762a39f88ba7756b231226208dbd3d16e1f8e410ccdf4ec6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for openinference_instrumentation_pipecat-2.0.0.tar.gz:

Publisher: publish.yaml on Arize-ai/openinference

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fefa20218dd3bcc83fb49b935907cc8ec5d039058d5cb5847d1ae7193d40260d
MD5 916bcf003567a06e42a94043d26ae787
BLAKE2b-256 dff2714eab07ce711acdf19decf18b6ac005d76b094d5e9e95a87926b4f49f27

See more details on using hashes here.

Provenance

The following attestation bundles were made for openinference_instrumentation_pipecat-2.0.0-py3-none-any.whl:

Publisher: publish.yaml on Arize-ai/openinference

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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