1
0
Files
nex/backend/internal/conversion/canonical/extended.go
lanyuanxiaoyao 4c6b49099d feat: 配置 golangci-lint 静态分析并修复存量违规
- 新增 backend/.golangci.yml 配置 12 个 linter(forbidigo、errorlint、errcheck、staticcheck、revive、gocritic、gosec、bodyclose、noctx、nilerr、goimports、gocyclo)
- 新增 lefthook.yml 配置 pre-commit hook 自动运行 lint
- 修复存量代码违规:errors.Is/As 替换、zap.Error 替换、import 排序、errcheck 修复
- 更新 README 补充编码规范说明
- 归档 backend-code-lint 变更
2026-04-24 13:01:48 +08:00

72 lines
2.1 KiB
Go

package canonical
// CanonicalModel 规范模型
type CanonicalModel struct {
ID string `json:"id"`
Name string `json:"name,omitempty"`
Created int64 `json:"created,omitempty"`
OwnedBy string `json:"owned_by,omitempty"`
}
// CanonicalModelList 规范模型列表
type CanonicalModelList struct {
Models []CanonicalModel `json:"models"`
}
// CanonicalModelInfo 规范模型详情
type CanonicalModelInfo struct {
ID string `json:"id"`
Name string `json:"name,omitempty"`
Created int64 `json:"created,omitempty"`
OwnedBy string `json:"owned_by,omitempty"`
}
// CanonicalEmbeddingRequest 规范嵌入请求
type CanonicalEmbeddingRequest struct {
Model string `json:"model"`
Input any `json:"input"` // string 或 []string
EncodingFormat string `json:"encoding_format,omitempty"`
Dimensions *int `json:"dimensions,omitempty"`
}
// CanonicalEmbeddingResponse 规范嵌入响应
type CanonicalEmbeddingResponse struct {
Data []EmbeddingData `json:"data"`
Model string `json:"model"`
Usage EmbeddingUsage `json:"usage"`
}
// EmbeddingData 嵌入数据项
type EmbeddingData struct {
Index int `json:"index"`
Embedding any `json:"embedding"` // 根据格式不同可能是 []float64 或 base64 字符串
}
// EmbeddingUsage 嵌入用量
type EmbeddingUsage struct {
PromptTokens int `json:"prompt_tokens"`
TotalTokens int `json:"total_tokens"`
}
// CanonicalRerankRequest 规范重排序请求
type CanonicalRerankRequest struct {
Model string `json:"model"`
Query string `json:"query"`
Documents []string `json:"documents"`
TopN *int `json:"top_n,omitempty"`
ReturnDocuments *bool `json:"return_documents,omitempty"`
}
// CanonicalRerankResponse 规范重排序响应
type CanonicalRerankResponse struct {
Results []RerankResult `json:"results"`
Model string `json:"model"`
}
// RerankResult 重排序结果项
type RerankResult struct {
Index int `json:"index"`
RelevanceScore float64 `json:"relevance_score"`
Document *string `json:"document,omitempty"`
}