Documentation
¶
Overview ¶
Package embeddingclient projects validated Core embedding responses into independently owned single or batch vectors.
Example ¶
package main
import (
"context"
"fmt"
"github.com/Tangerg/scope/core/embedding"
"github.com/Tangerg/scope/core/embeddingclient"
)
func main() {
model := embedding.ModelFunc(func(context.Context, *embedding.Request) (*embedding.Response, error) {
output, _ := embedding.NewOutput([]float64{0.1, 0.2}, nil)
return embedding.NewResponse([]*embedding.Output{output}, &embedding.ResponseMetadata{})
})
client, err := embeddingclient.New(embeddingclient.Config{Model: model})
if err != nil {
panic(err)
}
vector, err := client.EmbedText(context.Background(), "scope")
if err != nil {
panic(err)
}
fmt.Println(len(vector))
}
Output: 2
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNilModel = errors.New("embeddingclient: nil model")
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client validates both model boundaries, preserves input order, and returns independently owned vectors. It is immutable; concurrent use requires a concurrency-safe Model. Provider metadata remains available through the model.
Click to show internal directories.
Click to hide internal directories.