Release Notes v0.5.0¶
Release Date: January 3, 2026
Overview¶
This release refactors the provider architecture so that LLM observability SDKs (Opik, Phoenix) own their own llmops adapters, rather than omniobserve importing them. This simplifies dependency management and allows each SDK to be updated independently.
Breaking Changes¶
Opik and Phoenix Adapters Moved to Standalone SDKs¶
The llmops adapters for Opik and Phoenix have been removed from omniobserve and moved to their respective SDK repositories:
| Before (omniobserve v0.4.x) | After (v0.5.0+) |
|---|---|
import _ "github.com/plexusone/omniobserve/llmops/opik" |
import _ "github.com/agentplexus/go-opik/llmops" |
import _ "github.com/plexusone/omniobserve/llmops/phoenix" |
import _ "github.com/agentplexus/go-phoenix/llmops" |
The API remains identical - only the import paths change.
Phoenix SDK Removed¶
The embedded Phoenix SDK (sdk/phoenix/) has been removed. Use the standalone SDK instead:
// Before
import "github.com/plexusone/omniobserve/sdk/phoenix"
// After
import "github.com/agentplexus/go-phoenix"
New Features¶
AnnotationManager Interface¶
Added new AnnotationManager interface to the Provider for span/trace annotations:
CreateAnnotation(ctx, annotation)- Add annotations to spans or tracesListAnnotations(ctx, opts)- Query annotations by span or trace IDs
Enhanced DatasetManager Interface¶
Added new methods to DatasetManager:
GetDatasetByID(ctx, id)- Retrieve datasets by ID (in addition to by name)DeleteDataset(ctx, datasetID)- Delete datasets
Prompt Model/Provider Options¶
Added support for associating LLM model and provider with prompts:
WithPromptModel(model)- Set the LLM model name (e.g., "gpt-4")WithPromptProvider(provider)- Set the LLM provider (e.g., "openai")Prompt.ModelNameandPrompt.ModelProviderfields
OmniLLM Hook Auto-Create Traces¶
The OmniLLM observability hook now automatically creates a trace when none exists in context. This ensures LLM calls are always properly traced even when called outside an existing trace context.
BeforeRequestcreates a trace ifTraceFromContextreturns falseAfterResponseends the trace (if created by the hook)- Streaming responses also properly end traces
Trace Context Helpers¶
Added trace context tracking functions to integrations/omnillm/:
contextWithTrace()- Store a trace in contexttraceFromContext()- Retrieve a trace from context
These complement the existing span context functions.
Evaluation Metrics Package¶
Added new llmops/metrics package with common evaluation metrics:
LLM-based metrics (require omnillm client):
HallucinationMetric- Detects unsupported claims in responsesRelevanceMetric- Evaluates document relevance to queriesQACorrectnessMetric- Checks answer correctness against referencesToxicityMetric- Detects harmful content
Code-based metrics (run locally):
ExactMatchMetric- Exact string comparison with options for case sensitivity and whitespace trimmingRegexMetric- Regex pattern matchingContainsMetric- Substring presence check
See examples/evaluation/ for a complete usage example.
Example usage:
import "github.com/plexusone/omniobserve/llmops/metrics"
// LLM-based metric
llm := metrics.NewLLM(omnillmClient, "gpt-4o")
hallucination := metrics.NewHallucinationMetric(llm)
// Code-based metric
exactMatch := metrics.NewExactMatchMetric()
Dependencies¶
Removed dependencies:
github.com/agentplexus/go-comet-ml-opik- No longer needed (adapter moved to go-opik)
Migration Guide¶
For Opik Users¶
Update your import:
// Before
import _ "github.com/plexusone/omniobserve/llmops/opik"
// After
import _ "github.com/agentplexus/go-opik/llmops"
For Phoenix Users¶
Update your imports:
// Before
import _ "github.com/plexusone/omniobserve/llmops/phoenix"
import "github.com/plexusone/omniobserve/sdk/phoenix"
// After
import _ "github.com/agentplexus/go-phoenix/llmops"
import "github.com/agentplexus/go-phoenix"
For Langfuse Users¶
No changes required. Langfuse adapter remains in omniobserve:
Files Removed¶
llmops/opik/opik.gollmops/opik/trace.gollmops/phoenix/phoenix.gollmops/phoenix/trace.gosdk/phoenix/client.gosdk/phoenix/context.gosdk/phoenix/errors.gosdk/phoenix/options.gosdk/phoenix/span.gosdk/phoenix/trace.gosdk/phoenix/types.go
Files Modified¶
go.mod- Removed go-comet-ml-opik dependencyomniobserve.go- Updated documentation with new import pathsintegrations/omnillm/context.go- Added trace context helpers