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.3.tar.gz (32.6 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.3.tar.gz.

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-1.0.3.tar.gz
Algorithm Hash digest
SHA256 cb1af3c11f59457ea79ea41d7691d4330d48ddb7742381319146b39e1348fe5c
MD5 5ffbe1b12771b47968a1117310a7a426
BLAKE2b-256 6ff91fb9fc13bf211d8ebcf5b4c31a03d498dbe58d8b285934a94516dbe0a071

See more details on using hashes here.

Provenance

The following attestation bundles were made for openinference_instrumentation_pipecat-1.0.3.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-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for openinference_instrumentation_pipecat-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e631655e7b9eb544e3235c1768bbb39849316947e77009dcb2038a5ca0f65e29
MD5 cb243d9c0babb774ce62947afe705f3e
BLAKE2b-256 78653b997c99a97cc68eef6ca109b01e9b9a8c3fef32a2fdf308559f84fafbd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for openinference_instrumentation_pipecat-1.0.3-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