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

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

File details

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

File metadata

File hashes

Hashes for openinference_instrumentation_instructor-0.1.14.tar.gz
Algorithm Hash digest
SHA256 16fb7d11c9f5b053b9d9c5df6cc45999fdf4772df1ca7ea95a3f18e614e6a5c6
MD5 421dec80dd6e0fe96d5e50ce5231d5a5
BLAKE2b-256 f6703c74ccc481b52f99b61c429d9d5b3141fd8bba82a25928c41d8eb5d716e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openinference_instrumentation_instructor-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 b5b519968035c310df6c4634dadddf6488b9ec9c0af9a3fd23f2b810c96c9212
MD5 73f36dbf903bf9c696421ced76c4d105
BLAKE2b-256 ffcb75fea1a24094b8296035574d46d8400d9b68b5f21dfea57a6e0a6a9ba0d8

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