OpenInference smolagents Instrumentation
Python auto-instrumentation library for LLM agents implemented with smolagents
Crews are fully OpenTelemetry-compatible and can be sent to an OpenTelemetry collector for monitoring, such as arize-phoenix.
Installation
pip install openinference-instrumentation-smolagents
Quickstart
This quickstart shows you how to instrument your LLM agent application.
You've already installed openinference-instrumentation-smolagents. Next is to install packages for smolagents,
Phoenix and opentelemetry-instrument, which exports traces to it.
pip install smolagents arize-phoenix opentelemetry-sdk opentelemetry-exporter-otlp-proto-grpc opentelemetry-distro
Start Phoenix in the background as a collector, which listens on http://localhost:6006 and default gRPC port 4317.
Note that Phoenix does not send data over the internet. It only operates locally on your machine.
python -m phoenix.server.main serve
Create an example like this:
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel
agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=HfApiModel())
agent.run("How many seconds would it take for a leopard at full speed to run through Pont des Arts?")
Then, run it like this:
opentelemetry-instrument python example.py
Finally, browse for your trace in Phoenix at http://localhost:6006!
Manual instrumentation
opentelemetry-instrument is the Zero-code instrumentation approach
for Python. It avoids explicitly importing and configuring OpenTelemetry code in your main source. Alternatively, you
can copy-paste the following into your main source and run it without opentelemetry-instrument.
from opentelemetry.sdk.trace import TracerProvider
from openinference.instrumentation.smolagents import SmolagentsInstrumentor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
otlp_exporter = OTLPSpanExporter(endpoint="http://localhost:4317", insecure=True)
trace_provider = TracerProvider()
trace_provider.add_span_processor(SimpleSpanProcessor(otlp_exporter))
SmolagentsInstrumentor().instrument(tracer_provider=trace_provider)
More Info
Metadata
Release files for openinference-instrumentation-smolagents 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openinference_instrumentation_smolagents-0.1.9.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openinference_instrumentation_smolagents-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.8 kB
Release files / openinference_instrumentation_smolagents-0.1.9.tar.gz
| Download URL | openinference_instrumentation_smolagents-0.1.9.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f6f9296b6c2140f8ff7f5dbd6b17cb0e6d38de584f0b272968c39bd41f49c2a9
|
|
BLAKE2b-256 checksum How to use checksums |
bea10196e6ea38d70f81710124bd3ac8012a85155893f413d78c96265a3d93c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / openinference_instrumentation_smolagents-0.1.9-py3-none-any.whl
| Download URL | openinference_instrumentation_smolagents-0.1.9-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
680641a6230f28553bf0a5060c38fa29a484cce4faad8c216fd4532a208f7452
|
|
BLAKE2b-256 checksum How to use checksums |
65d5dbbe0c01d84381d45c04ac9ba0e72099bf8fbd10c36c32b9f22c056a46b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|