Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/Chat.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (
"github.com/chaitin/ModelKit/v2/consts"
"github.com/chaitin/ModelKit/v2/domain"
"github.com/chaitin/ModelKit/v2/usecase"
"github.com/cloudwego/eino/schema"
)

func main() {
Expand Down
36 changes: 35 additions & 1 deletion docs/Embedding.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,39 @@ texts := []string{"示例文本一", "示例文本二"}
res, _ := mk.UseEmbedder(ctx, embedder, texts)
```

## 返回结构(EmbeddingsResponse)

- 结果类型为 `EmbeddingsResponse`:

```go
type SparseEmbedding struct {
Index int `json:"index"`
Value float64 `json:"value"`
Token string `json:"token"`
}

type EmbeddingItem struct {
SparseEmbedding []SparseEmbedding `json:"sparse_embedding,omitempty"`
Embedding []float64 `json:"embedding,omitempty"`
TextIndex int `json:"text_index"`
}

type EmbeddingUsage struct {
TotalTokens int `json:"total_tokens"`
}

type EmbeddingsResponse struct {
Embeddings []EmbeddingItem `json:"embeddings"`
Usage EmbeddingUsage `json:"usage"`
}
```
- 字段说明:
- `embeddings`:`EmbeddingItem[]`,每个元素对应一条输入文本。
- `text_index`:输入文本在 `texts` 中的下标。
- `embedding`:稠密向量 `[]float64`(当 `output_type` 包含 `dense` 时返回)。
- `sparse_embedding`:稀疏向量 `[{index,value,token}]`(当 `output_type` 为 `sparse` 或 `dense&sparse` 时返回)。
- `usage`:调用统计信息,当前包含 `total_tokens`。

## 生成稠密向量

```go
Expand Down Expand Up @@ -129,7 +162,8 @@ res, _ := mk.UseEmbedder(ctx, embedder, texts)

使用条件

- 仅 `text-embedding-v3`/`text-embedding-v4` 支持设置 `output_type` 生成稀疏向量
- 仅 `text-embedding-v3`/`text-embedding-v4` 支持设置 `output_type` 生成稀疏向量
- 仅使用DashScope API支持生成稀疏向量, 请将base_url设置为`https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding#`
- 将 `output_type` 设为 `sparse` 或 `dense&sparse` 才会返回 `sparse_embedding`
- `text_type` 设 `query` , 同时设置 `instruct` 时 无法生成稀疏向量

Expand Down
26 changes: 26 additions & 0 deletions docs/Rerank.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,32 @@ res, _ := rk.Rerank(ctx, domain.RerankRequest{
})
```

## 返回结构(RerankResponse)

```go
type Result struct {
Index int `json:"index"`
RelevanceScore float64 `json:"relevance_score"`
Document string `json:"document,omitempty"`
}

type Usage struct {
PromptTokens int `json:"prompt_tokens"`
TotalTokens int `json:"total_tokens"`
InputTokens int `json:"input_tokens"`
OutputTokens int `json:"output_tokens"`
}

type RerankResponse struct {
Results []Result `json:"results"`
Usage *Usage `json:"usage,omitempty"`
}
```

字段说明:
- `results`:`Result[]`,按相关性从高到低的重排结果;包含原始 `index`、`relevance_score`,在 `return_documents=true` 时包含 `document` 文本。
- `usage`:可选计费/令牌使用信息,包含 `prompt_tokens`、`input_tokens`、`output_tokens`、`total_tokens`。

示例结果:

```json
Expand Down
Loading