RagaAI Catalyst Tracing Guide for Azure OpenAI Users
This guide helps Azure OpenAI users implement RagaAI Catalyst's tracing capabilities to monitor, debug, and analyze their agentic applications.
Prerequisites
Python 3.10 or higher
Azure OpenAI API access
RagaAI Catalyst access credentials
Quick Setup Guide
1. Install RagaAI Catalyst
pip install ragaai-catalyst
2. Set Up Tracing with Azure OpenAI
from ragaai_catalyst import RagaAICatalyst, Tracer, init_tracing
from llama_index.llms.azure_openai import AzureOpenAI
# Initialize RagaAI Catalyst
catalyst = RagaAICatalyst(
access_key="your_access_key",
secret_key="your_secret_key",
)
# Create a tracer
tracer = Tracer(
project_name="YourProjectName", # Create this project in the RagaAI UI first
dataset_name="YourDatasetName",
tracer_type="agentic_tracing", # Use appropriate tracer type ("agentic/llamaindex" for llamaindex examples)
)
# Initialize tracing
init_tracing(catalyst=catalyst, tracer=tracer)
# Create your Azure OpenAI instance
azure_llm = AzureOpenAI(
azure_endpoint="https://your-resource-name.openai.azure.com/",
model="your-deployment-name", # e.g., "gpt-4o-mini"
api_key="your-azure-openai-api-key",
api_version="2024-05-01-preview", # Use appropriate API version
engine="your-deployment-name" # Same as your deployment name
)
# Optional: Set model cost information for billing analysis
tracer.set_model_cost({
"model_name": "gpt-4o-mini",
"input_cost_per_million_token": 10_000_000,
"output_cost_per_million_token": 20_000_000
})
Tracing Methods
Using Decorators: Use decorators to trace specific functions in your application.
from ragaai_catalyst import trace_llm, trace_tool, trace_agent
# Trace LLM calls
@trace_llm(name="azure_completion")
async def get_completion(prompt):
response = await azure_llm.achat([ChatMessage(role="user", content=prompt)])
return response.message.content
# Trace tool usage
@trace_tool(name="calculator_tool")
def calculate(x, y, operation):
if operation == "add":
return x + y
elif operation == "multiply":
return x * y
# Add more operations as needed
# Trace agent behavior
@trace_agent(name="financial_advisor")
def advisor_agent(query, gt=None): # Note: gt parameter for ground truth
# Agent implementation
return response
Supported Trace Attributes
RagaAI Catalyst captures various attributes in your traces:
User Input
Agent Output
Network Calls
File Read/Write Operations
Tool Calls
LLM Calls (including Azure OpenAI)
Custom Calls
Accessing Trace Results
View your traces in the RagaAI Catalyst UI:
Log in to your RagaAI account
Navigate to your project
Select the dataset you specified in your code
View detailed traces showing each span (operation) within your application
Last updated
Was this helpful?