AutoGen is a new agent framework from Microsoft that allows for complex Agent creation. It is unique in its ability to create multiple agents that work together.
The AutoGen Agent framework allows creation of multiple agents and connection of those agents to work together to accomplish tasks.
import openaiimport os# Import open-telemetry dependenciesfrom opentelemetry import trace as trace_apifrom opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporterfrom opentelemetry.sdk import trace as trace_sdkfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessorfrom opentelemetry.sdk.resources import Resource# Import the automatic instrumentor from OpenInferencefrom openinference.instrumentation.openai import OpenAIInstrumentor# Set the Space and API keys as headers for authenticationheaders =f"space_key={ARIZE_SPACE_KEY},api_key={ARIZE_API_KEY}"os.environ['OTEL_EXPORTER_OTLP_TRACES_HEADERS']= headers# Set resource attributes for the name and version for your applicationresource =Resource( attributes={"model_id":"autogen-llm-tracing", # Set this to any name you'd like for your app"model_version":"1.0", # Set this to a version number string })# Define the span processor as an exporter to the desired endpointendpoint ="https://otlp.arize.com/v1"span_exporter =OTLPSpanExporter(endpoint=endpoint)span_processor =SimpleSpanProcessor(span_exporter=span_exporter)# Set the tracer providertracer_provider = trace_sdk.TracerProvider(resource=resource)tracer_provider.add_span_processor(span_processor=span_processor)trace_api.set_tracer_provider(tracer_provider=tracer_provider)# Finish automatic instrumentationOpenAIInstrumentor().instrument()
The individual prompt and responses are captured directly through OpenAI calls.
As callbacks are supported in AutoGen, Arize will add more agent level information.