Documentation
¶
Overview ¶
Package embedding instruments Core embedding calls with OpenTelemetry.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidConfig = errors.New("otel/embedding: invalid config") ErrInvalidModel = errors.New("otel/embedding: invalid model") )
Functions ¶
This section is empty.
Types ¶
type Middleware ¶
type Middleware struct {
// contains filtered or unexported fields
}
Middleware is an immutable embedding instrumentation decorator.
func NewMiddleware ¶
func NewMiddleware(config MiddlewareConfig) (Middleware, error)
NewMiddleware snapshots provider identity and resolves nil OTel providers to the official process globals.
func (Middleware) Wrap ¶
func (m Middleware) Wrap(next coreembedding.Model) (coreembedding.Model, error)
Wrap decorates one embedding Model without changing its request, response, or error semantics.
Example ¶
package main
import (
"context"
"fmt"
coreembedding "github.com/Tangerg/scope/core/embedding"
otelembedding "github.com/Tangerg/scope/otel/embedding"
)
func main() {
middleware, err := otelembedding.NewMiddleware(otelembedding.MiddlewareConfig{Provider: "example"})
if err != nil {
panic(err)
}
model, err := middleware.Wrap(coreembedding.ModelFunc(func(context.Context, *coreembedding.Request) (*coreembedding.Response, error) {
return &coreembedding.Response{Metadata: &coreembedding.ResponseMetadata{Model: "served-model"}}, nil
}))
if err != nil {
panic(err)
}
request, err := coreembedding.NewRequest([]string{"text"})
if err != nil {
panic(err)
}
response, err := model.Call(context.Background(), request)
if err != nil {
panic(err)
}
fmt.Println(response.Metadata.Model)
}
Output: served-model
type MiddlewareConfig ¶
type MiddlewareConfig struct {
Provider string
TracerProvider trace.TracerProvider
MeterProvider metric.MeterProvider
// LoggerProvider receives GenAI exception events. Nil uses the global provider.
LoggerProvider log.LoggerProvider
}
MiddlewareConfig identifies the provider and optional OTel providers used by embedding instrumentation.
func (MiddlewareConfig) Validate ¶
func (m MiddlewareConfig) Validate() error
Validate checks construction inputs without resolving global providers.
Click to show internal directories.
Click to hide internal directories.