interface.go 624 B

12345678910111213141516171819202122
  1. package embedding
  2. import (
  3. "context"
  4. )
  5. // EmbeddingProvider 按需提供嵌入服务(每次从 DB 配置读取,保存即生效)
  6. type EmbeddingProvider interface {
  7. Get(ctx context.Context) (EmbeddingService, error)
  8. }
  9. // EmbeddingService 嵌入服务接口
  10. type EmbeddingService interface {
  11. // EmbedText 向量化单个文本
  12. EmbedText(ctx context.Context, text string) ([]float32, error)
  13. // EmbedTexts 批量向量化文本
  14. EmbedTexts(ctx context.Context, texts []string) ([][]float32, error)
  15. // GetDimension 获取向量维度
  16. GetDimension() int
  17. // GetModelName 获取模型名称
  18. GetModelName() string
  19. }