aliyun

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package aliyun implements the Alibaba Cloud DashScope (Bailian) embedding backend.

Supports text-embedding-v3 (1024d, multilingual, MRL), text-embedding-v2 (1536d), and text-embedding-v1 (1536d). Requires DASHSCOPE_API_KEY environment variable.

Index

Constants

View Source
const (
	DefaultModel      = "text-embedding-v3"
	DefaultDimensions = 1024
	DefaultRPM        = 100
)
View Source
const (
	MultimodalDefaultModel      = "multimodal-embedding-one-peace-v1"
	MultimodalDefaultDimensions = 1536
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	APIKey     string
	BaseURL    string
	Model      string
	Dimensions int
	RPM        int
	HTTPClient *http.Client
}

Config configures the DashScope embedding engine.

type Engine

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

Engine implements embed.EmbedEngine for Alibaba Cloud DashScope.

func New

func New(cfg Config) (*Engine, error)

New creates a DashScope embedding engine.

func (*Engine) Dimensions

func (e *Engine) Dimensions() int

func (*Engine) Embed

func (e *Engine) Embed(ctx context.Context, req embed.Request) (embed.Result, error)

Embed produces a vector for text content.

func (*Engine) EmbedBatch

func (e *Engine) EmbedBatch(ctx context.Context, reqs []embed.Request) ([]embed.Result, error)

EmbedBatch embeds multiple texts in a single API call.

func (*Engine) EmbedCapabilities

func (e *Engine) EmbedCapabilities() embed.Capability

EmbedCapabilities implements embed.Describer.

type MultimodalEngine

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

MultimodalEngine implements embed.EmbedEngine for DashScope multimodal embedding. Supports text and image content via the multimodal-embedding-one-peace-v1 model.

func NewMultimodal

func NewMultimodal(cfg Config) (*MultimodalEngine, error)

NewMultimodal creates a DashScope multimodal embedding engine. It reuses the same Config as the text engine (same APIKey / HTTPClient).

func (*MultimodalEngine) Dimensions

func (e *MultimodalEngine) Dimensions() int

func (*MultimodalEngine) Embed

Embed produces a vector for text or image content.

func (*MultimodalEngine) EmbedBatch

func (e *MultimodalEngine) EmbedBatch(ctx context.Context, reqs []embed.Request) ([]embed.Result, error)

EmbedBatch embeds multiple requests sequentially (API accepts one content item per call).

func (*MultimodalEngine) EmbedCapabilities

func (e *MultimodalEngine) EmbedCapabilities() embed.Capability

EmbedCapabilities implements embed.Describer.

Jump to

Keyboard shortcuts

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