llmops

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package llmops provides an omniobserve/llmops adapter for go-phoenix.

Import this package to register the Phoenix provider:

import _ "github.com/agentplexus/go-phoenix/llmops"

Then open it:

provider, err := llmops.Open("phoenix", llmops.WithEndpoint("http://localhost:6006"))

This adapter uses phoenix-otel behind the scenes to send traces via OpenTelemetry. Traces are automatically batched and sent to Phoenix with OpenInference semantic conventions for full LLM observability support.

Index

Constants

View Source
const ProviderName = "phoenix"

Variables

This section is empty.

Functions

func New

func New(opts ...llmops.ClientOption) (llmops.Provider, error)

New creates a new Phoenix provider.

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider implements llmops.Provider for Phoenix using phoenix-otel for tracing.

func (*Provider) AddDatasetItems

func (p *Provider) AddDatasetItems(ctx context.Context, datasetName string, items []llmops.DatasetItem) error

AddDatasetItems adds items to a dataset.

func (*Provider) AddFeedbackScore

func (p *Provider) AddFeedbackScore(ctx context.Context, opts llmops.FeedbackScoreOpts) error

AddFeedbackScore adds a feedback score.

func (*Provider) Close

func (p *Provider) Close() error

Close closes the provider and flushes pending traces.

func (*Provider) CreateAnnotation

func (p *Provider) CreateAnnotation(ctx context.Context, annotation llmops.Annotation) error

CreateAnnotation creates an annotation on a span or trace.

func (*Provider) CreateDataset

func (p *Provider) CreateDataset(ctx context.Context, name string, opts ...llmops.DatasetOption) (*llmops.Dataset, error)

CreateDataset creates a new dataset.

func (*Provider) CreateProject

func (p *Provider) CreateProject(ctx context.Context, name string, opts ...llmops.ProjectOption) (*llmops.Project, error)

CreateProject creates a new project.

func (*Provider) CreatePrompt

func (p *Provider) CreatePrompt(ctx context.Context, name string, template string, opts ...llmops.PromptOption) (*llmops.Prompt, error)

CreatePrompt creates a new prompt template.

func (*Provider) DeleteDataset

func (p *Provider) DeleteDataset(ctx context.Context, datasetID string) error

DeleteDataset deletes a dataset by ID.

func (*Provider) Evaluate

func (p *Provider) Evaluate(ctx context.Context, input llmops.EvalInput, metrics ...llmops.Metric) (*llmops.EvalResult, error)

Evaluate runs evaluation metrics.

func (*Provider) GetDataset

func (p *Provider) GetDataset(ctx context.Context, name string) (*llmops.Dataset, error)

GetDataset gets a dataset by name.

func (*Provider) GetDatasetByID

func (p *Provider) GetDatasetByID(ctx context.Context, id string) (*llmops.Dataset, error)

GetDatasetByID gets a dataset by ID.

func (*Provider) GetProject

func (p *Provider) GetProject(ctx context.Context, name string) (*llmops.Project, error)

GetProject gets a project by name.

func (*Provider) GetPrompt

func (p *Provider) GetPrompt(ctx context.Context, name string, version ...string) (*llmops.Prompt, error)

GetPrompt retrieves a prompt by name, optionally at a specific version or tag. The version parameter can be:

  • Empty/omitted: returns the latest version
  • A tag name (e.g., "production", "staging"): returns the version with that tag
  • A version ID: returns that specific version

func (*Provider) ListAnnotations

func (p *Provider) ListAnnotations(ctx context.Context, opts llmops.ListAnnotationsOptions) ([]*llmops.Annotation, error)

ListAnnotations lists annotations for spans or traces.

func (*Provider) ListDatasets

func (p *Provider) ListDatasets(ctx context.Context, opts ...llmops.ListOption) ([]*llmops.Dataset, error)

ListDatasets lists datasets.

func (*Provider) ListProjects

func (p *Provider) ListProjects(ctx context.Context, opts ...llmops.ListOption) ([]*llmops.Project, error)

ListProjects lists projects.

func (*Provider) ListPrompts

func (p *Provider) ListPrompts(ctx context.Context, opts ...llmops.ListOption) ([]*llmops.Prompt, error)

ListPrompts lists prompts.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

func (*Provider) SetProject

func (p *Provider) SetProject(ctx context.Context, name string) error

SetProject sets the current project.

func (*Provider) SpanFromContext

func (p *Provider) SpanFromContext(ctx context.Context) (llmops.Span, bool)

SpanFromContext gets the current span from context.

func (*Provider) StartSpan

func (p *Provider) StartSpan(ctx context.Context, name string, opts ...llmops.SpanOption) (context.Context, llmops.Span, error)

StartSpan starts a new span.

func (*Provider) StartTrace

func (p *Provider) StartTrace(ctx context.Context, name string, opts ...llmops.TraceOption) (context.Context, llmops.Trace, error)

StartTrace starts a new trace.

func (*Provider) TraceFromContext

func (p *Provider) TraceFromContext(ctx context.Context) (llmops.Trace, bool)

TraceFromContext gets the current trace from context.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL