Skip to main content

OpenInference Instructor Instrumentation

Project description

OpenInference Instructor Instrumentation

pypi

Python auto-instrumentation library for the (Instructor)[https://github.com/jxnl/instructor] library

Installation

pip install openinference-instrumentation-instructor

Quickstart

This quickstart shows you how to instrument Instructor

Install required packages.

pip install instructor arize-phoenix opentelemetry-sdk opentelemetry-exporter-otlp

Start Phoenix in the background as a collector. By default, it listens on http://localhost:6006. You can visit the app via a browser at the same address. (Phoenix does not send data over the internet. It only operates locally on your machine.)

python -m phoenix.server.main serve

Set up InstructorInstrumentor to trace your application and send the traces to Phoenix at the endpoint defined below.

from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor

endpoint = "http://127.0.0.1:6006/v1/traces"
tracer_provider = TracerProvider()
tracer_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))
from openinference.instrumentation.instructor import InstructorInstrumentor
from openinference.instrumentation.openai import OpenAIInstrumentor

InstructorInstrumentor().instrument(tracer_provider=tracer_provider)

# Optionally instrument the OpenAI SDK to get additional observability
OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)

Simple Instructor example

import instructor
from pydantic import BaseModel
from openai import OpenAI


# Define your desired output structure
class UserInfo(BaseModel):
    name: str
    age: int


# Patch the OpenAI client
client = instructor.from_openai(OpenAI())

# Extract structured data from natural language
user_info = client.chat.completions.create(
    model="gpt-3.5-turbo",
    response_model=UserInfo,
    messages=[{"role": "user", "content": "John Doe is 30 years old."}],
)

More Info

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

File details

Details for the file openinference_instrumentation_instructor-0.1.9.tar.gz.

File metadata

File hashes

Hashes for openinference_instrumentation_instructor-0.1.9.tar.gz
Algorithm Hash digest
SHA256 69c19735b863d9da6b219effe0934e78fc43941912eac7bc45c958f4bc1b2312
MD5 a20f5e661b3ec3da426a74b5f20f19c0
BLAKE2b-256 19a4cef16f21ca4afccbf83d6665d5be7372d85f234c35927e4b18c78cdad296

See more details on using hashes here.

File details

Details for the file openinference_instrumentation_instructor-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for openinference_instrumentation_instructor-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3058125aae4c3b4fbbaa769a0325e22e63c0f5f79f41f1b07fe6ed8938e33852
MD5 aff3e4facd4e8cd28eb4248c9239f508
BLAKE2b-256 444c6801e241a3d76dac27fadb3e748c8c93b7e958c7d828c207a296ef2e0aa9

See more details on using hashes here.

Supported by

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