embedding

package
v1.4.4-alpha1202-diff-... Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2025 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInputTooLarge = utils.Error("input is too large")
)

预定义的错误类型

Functions

func GenerateQuadrantChartCode

func GenerateQuadrantChartCode(data map[string][][]float32) string

GenerateQuadrantChartCode 生成 Quadrant Chart DSL 文本。 入参 data: key 为标签,value 为该标签对应的二维点坐标列表(每个点为 [x, y])。 输出示例:

quadrantChart
    title Reach and engagement of campaigns
    x-axis Low Reach --> High Reach
    y-axis Low Engagement --> High Engagement
    quadrant-1 We should expand
    quadrant-2 Need to promote
    quadrant-3 Re-evaluate
    quadrant-4 May be improved
    Campaign A: [0.3, 0.6]
    Campaign B: [0.45, 0.23]

默认使用与示例一致的标题与轴/象限描述。若需要自定义,可在外层对返回字符串再做替换。

func GenerateQuadrantChartCodeWithOptions

func GenerateQuadrantChartCodeWithOptions(data map[string][][]float32, opts *QuadrantChartOptions) string

GenerateQuadrantChartCodeWithOptions 生成 Quadrant Chart(可配置标题与轴名),且只包含 quadrant-1。

func GenerateQuadrantChartFromEmbeddings

func GenerateQuadrantChartFromEmbeddings(data map[string][][]float32) string

GenerateQuadrantChartCodeFromEmbeddings 接受高维 embedding(每个 label 下可包含多个向量), 先通过 PCA 将所有样本整体降到二维,再按 label 输出 Quadrant Chart DSL。

func GenerateQuadrantChartFromEmbeddingsWithOptions

func GenerateQuadrantChartFromEmbeddingsWithOptions(data map[string][][]float32, opts *QuadrantChartOptions) string

GenerateQuadrantChartFromEmbeddingsWithOptions 与上类似,但允许自定义标题、轴名称以及 quadrant-1 名称。

func NormalizeMatrix

func NormalizeMatrix(input [][]float32, p int, dim int) [][]float32

当 dim == 0 时,按列归一化;当 dim == 1 时,按行归一化(与 Torch 默认使用最常见用法一致)。 - p: 范数阶,常用 2(L2)、1(L1);支持 +Inf(按最大绝对值) - eps: 为避免除零引入的微小常数 返回新矩阵,不修改入参

func NormalizeVector

func NormalizeVector(input []float32, p float64, eps float64) []float32

公式:out = x / max(||x||_p, eps) - p: 范数阶,常用 2(L2)、1(L1);支持 +Inf(按最大绝对值) - eps: 为避免除零引入的微小常数 返回新切片,不修改入参

func PCA2D

func PCA2D(inputs [][]float32, maxIter int, tol float64) ([][]float32, error)

PCA2D 对一组向量执行 PCA,将维度降至 2。 - inputs: 形状约为 [numSamples][numDims] 的向量集合,允许轻度非规则行(会截断为最短列数) - maxIter: 幂迭代最大轮数(建议 100~300) - tol: 幂迭代收敛阈值(如 1e-6) 返回形状为 [numSamples][2] 的二维坐标

func ReduceTo2D

func ReduceTo2D(inputs [][]float32) ([][]float32, error)

ReduceTo2D 是 PCA2D 的别名,提供更直观的名称。

Types

type OpenaiEmbeddingClient

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

func NewOpenaiEmbeddingClient

func NewOpenaiEmbeddingClient(opt ...aispec.AIConfigOption) *OpenaiEmbeddingClient

func (*OpenaiEmbeddingClient) Embedding

func (c *OpenaiEmbeddingClient) Embedding(text string) ([]float32, error)

Embedding 返回单个向量(保持向后兼容) 如果服务器返回多个向量,返回最后一个(使用 last 池化方法)

func (*OpenaiEmbeddingClient) EmbeddingRaw

func (c *OpenaiEmbeddingClient) EmbeddingRaw(text string) ([][]float32, error)

EmbeddingRaw 返回原始的 embedding 结果,保留服务器返回的所有向量

type QuadrantChartOptions

type QuadrantChartOptions struct {
	// 标题
	Title string
	// X 轴两端说明:Left --> Right
	XLeft  string
	XRight string
	// Y 轴两端说明:Bottom --> Top
	YBottom string
	YTop    string
	// quadrant-1 的标签
	Quadrant1 string
}

QuadrantChartOptions 配置 Quadrant Chart 头部信息(仅输出 quadrant-1)

Jump to

Keyboard shortcuts

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