Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Document ¶
type Document struct {
ID string // 全局唯一 ID
Text string // 原文或 chunk 文本(可选)
Embedding []float32 // 文本向量(可选)
Metadata map[string]any // 业务元数据,如 user_id, project_id 等
Namespace string // 逻辑命名空间,例如 "users/alice/projects/demo"
OrgID string // 组织 ID(多租户支持)
TenantID string // 租户 ID(多租户支持)
}
Document 表示一条向量索引文档。 不强制要求 Text/Embedding 同时存在,具体策略由上层控制。
type Hit ¶
type Hit struct {
ID string // Document ID
Score float64 // 相似度分数,越大越相关
Metadata map[string]any // 透传的元数据
}
Hit 表示一次检索命中的结果。
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
MemoryStore 一个简单的内存向量存储实现, 仅用于示例和测试。 不适合生产环境, 但可以帮助用户快速理解接口用法。
func (*MemoryStore) Delete ¶
func (s *MemoryStore) Delete(_ context.Context, ids []string) error
Delete 从内存存储中删除文档。
type MockEmbedder ¶
type MockEmbedder struct {
Dim int
}
MockEmbedder 一个非常简化的 Embedder 实现, 仅用于示例/测试。 实际生产中应替换为真实的 embedding 服务(OpenAI/本地模型等)。
func NewMockEmbedder ¶
func NewMockEmbedder(dim int) *MockEmbedder
NewMockEmbedder 创建一个 MockEmbedder。 Dim 指定向量维度, 默认为 16。
type OpenAIEmbedder ¶
OpenAIEmbedder 基于 OpenAI 兼容接口的 Embedder 实现。 默认调用 POST {BaseURL}/v1/embeddings, 请求格式:
{ "input": [...], "model": "text-embedding-3-small" }
func NewOpenAIEmbedder ¶
func NewOpenAIEmbedder(baseURL, apiKey, model string) *OpenAIEmbedder
NewOpenAIEmbedder 创建 OpenAIEmbedder。 baseURL 示例:
- "https://api.openai.com"
- "https://api.moonshot.cn" (如果兼容 OpenAI embeddings)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.