Documentation
¶
Index ¶
- Variables
- func GenerateQuadrantChartCode(data map[string][][]float32) string
- func GenerateQuadrantChartCodeWithOptions(data map[string][][]float32, opts *QuadrantChartOptions) string
- func GenerateQuadrantChartFromEmbeddings(data map[string][][]float32) string
- func GenerateQuadrantChartFromEmbeddingsWithOptions(data map[string][][]float32, opts *QuadrantChartOptions) string
- func NormalizeMatrix(input [][]float32, p int, dim int) [][]float32
- func NormalizeVector(input []float32, p float64, eps float64) []float32
- func PCA2D(inputs [][]float32, maxIter int, tol float64) ([][]float32, error)
- func ReduceTo2D(inputs [][]float32) ([][]float32, error)
- type OpenaiEmbeddingClient
- type QuadrantChartOptions
Constants ¶
This section is empty.
Variables ¶
var (
ErrInputTooLarge = utils.Error("input is too large")
)
预定义的错误类型
Functions ¶
func GenerateQuadrantChartCode ¶
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 ¶
GenerateQuadrantChartCodeFromEmbeddings 接受高维 embedding(每个 label 下可包含多个向量), 先通过 PCA 将所有样本整体降到二维,再按 label 输出 Quadrant Chart DSL。
func GenerateQuadrantChartFromEmbeddingsWithOptions ¶
func GenerateQuadrantChartFromEmbeddingsWithOptions(data map[string][][]float32, opts *QuadrantChartOptions) string
GenerateQuadrantChartFromEmbeddingsWithOptions 与上类似,但允许自定义标题、轴名称以及 quadrant-1 名称。
func NormalizeMatrix ¶
当 dim == 0 时,按列归一化;当 dim == 1 时,按行归一化(与 Torch 默认使用最常见用法一致)。 - p: 范数阶,常用 2(L2)、1(L1);支持 +Inf(按最大绝对值) - eps: 为避免除零引入的微小常数 返回新矩阵,不修改入参
func NormalizeVector ¶
公式:out = x / max(||x||_p, eps) - p: 范数阶,常用 2(L2)、1(L1);支持 +Inf(按最大绝对值) - eps: 为避免除零引入的微小常数 返回新切片,不修改入参
func PCA2D ¶
PCA2D 对一组向量执行 PCA,将维度降至 2。 - inputs: 形状约为 [numSamples][numDims] 的向量集合,允许轻度非规则行(会截断为最短列数) - maxIter: 幂迭代最大轮数(建议 100~300) - tol: 幂迭代收敛阈值(如 1e-6) 返回形状为 [numSamples][2] 的二维坐标
func ReduceTo2D ¶
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 结果,保留服务器返回的所有向量