import logging
from autoblocks.tracer import init_auto_tracer
from autoblocks.tracer import trace_app
from opentelemetry.instrumentation.openai import OpenAIInstrumentor
from openai import AsyncOpenAI
# Configure logging
logging.basicConfig(level=logging.DEBUG)
# Initialize tracing
init_auto_tracer()
OpenAIInstrumentor().instrument()
# Initialize OpenAI client
openai = AsyncOpenAI()
@trace_app("my-app", "production")
async def generate_response(prompt: str):
response = await openai.chat.completions.create(
model="gpt-4",
messages=[{
"role": "user",
"content": prompt
}]
)
return response.choices[0].message.content
# Run the application
import asyncio
asyncio.run(generate_response("Hello, how are you?"))