Documentation
¶
Index ¶
Constants ¶
const ( // DeepseekProviderName Deepseek 模型供应商名 DeepseekProviderName = "deepseek" // DeepseekBaseURL Deepseek 默认 API 地址 DeepseekBaseURL = "https://api.deepseek.com" )
const ( // MinimaxProviderName MiniMax 模型供应商名 MinimaxProviderName = "minimax" // MinimaxBaseURL MiniMax 默认 API 地址 MinimaxBaseURL = "https://api.minimaxi.com/v1" )
const ( // MoonshotProviderName 月之暗面模型供应商名 MoonshotProviderName = "moonshotai" // MoonshotBaseURL 月之暗面默认 API 地址 MoonshotBaseURL = "https://api.moonshot.cn/v1" )
const ( // QwenProviderName 通义千问模型供应商名 QwenProviderName = "qwen" // QwenBaseURL 通义千问默认 API 地址(也可称 dashscope 、灵积) QwenBaseURL = "https://dashscope.aliyuncs.com/compatible-mode/v1" )
const ( // ZAIProviderName 智谱模型供应商名 ZAIProviderName = "z-ai" // ZAIBaseURL 智谱默认 API 地址 ZAIBaseURL = "https://open.bigmodel.cn/api/paas/v4/" )
Variables ¶
var ( MsgModelDescQwen3Max = &i18n.Message{ ID: "models.ModelDescQwen3Max", Other: "Qwen's top flagship, rivaling global premier closed models", } MsgModelDescQwen3CoderPlus = &i18n.Message{ ID: "models.ModelDescQwen3CoderPlus", Other: "Qwen's premium coder for full-stack and advanced algorithms", } MsgModelDescQwen3CoderFlash = &i18n.Message{ ID: "models.ModelDescQwen3CoderFlash", Other: "Qwen's high-speed coding assistant for near-instant completion", } MsgModelDescQwen3VLPlus = &i18n.Message{ ID: "models.ModelDescQwen3VLPlus", Other: "Qwen's vision flagship for high-res parsing and complex docs", } MsgModelDescQwen3VLFlash = &i18n.Message{ ID: "models.ModelDescQwen3VLFlash", Other: "Qwen's lightweight vision model for fast, real-time perception", } MsgModelDescDeepseekReasoner = &i18n.Message{ ID: "models.ModelDescDeepseekReasoner", Other: "DeepSeek's CoT reasoning model for complex logic, math, and coding", } MsgModelDescDeepseekChat = &i18n.Message{ ID: "models.ModelDescDeepseekChat", Other: "DeepSeek's flagship, balancing top-tier performance and cost-efficiency", } MsgModelDescGLM5 = &i18n.Message{ ID: "models.ModelDescGLM5", Other: "Zai's Coding/Agent flagship, SOTA in complex system engineering", } MsgModelDescGLM47 = &i18n.Message{ ID: "models.ModelDescGLM47", Other: "Zai's versatile flagship with elite logic and long-context parsing", } MsgModelDescGLM47FlashX = &i18n.Message{ ID: "models.ModelDescGLM47FlashX", Other: "Zai's high-speed 4.7 model, optimized for ultra-low latency", } MsgModelDescGLM46V = &i18n.Message{ ID: "models.ModelDescGLM46V", Other: "Zai's multimodal flagship for high-precision image/video analysis", } MsgModelDescGLM46VFlashX = &i18n.Message{ ID: "models.ModelDescGLM46VFlashX", Other: "Zai's fast vision model tailored for real-time interaction", } MsgModelDescMinimaxM25 = &i18n.Message{ ID: "models.ModelDescMinimaxM25", Other: "MiniMax M2.5, strong reasoning with balanced performance", } MsgModelDescMinimaxM27 = &i18n.Message{ ID: "models.ModelDescMinimaxM27", Other: "MiniMax M2.7, advanced model with extended context and capabilities", } MsgModelDescKimiK25 = &i18n.Message{ ID: "models.ModelDescKimiK25", Other: "Moonshot AI's Kimi K2.5, supports reasoning and vision understanding", } )
Functions ¶
This section is empty.
Types ¶
type DeepseekOptions ¶
type DeepseekOptions struct {
// API 地址
BaseURL string `json:"baseURL,omitempty"`
// API 密钥
APIKey string `json:"apiKey"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
DeepseekOptions Deepseek 选项
func (*DeepseekOptions) Plugin ¶
func (opts *DeepseekOptions) Plugin() *oai.OpenAICompatible
Plugin 基于选项创建 OpenAICompatible 插件
func (*DeepseekOptions) RegisterModels ¶
func (opts *DeepseekOptions) RegisterModels( ctx context.Context, g *genkit.Genkit, plugin *oai.OpenAICompatible, ) ([]ModelConfig, error)
RegisterModels 注册模型
type MinimaxOptions ¶ added in v0.1.1
type MinimaxOptions struct {
// API 地址
BaseURL string `json:"baseURL,omitempty"`
// API 密钥
APIKey string `json:"apiKey"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
MinimaxOptions MiniMax 模型选项
func (*MinimaxOptions) Complete ¶ added in v0.1.1
func (opts *MinimaxOptions) Complete()
Complete 使用默认值补全选项
func (*MinimaxOptions) Plugin ¶ added in v0.1.1
func (opts *MinimaxOptions) Plugin() *oai.OpenAICompatible
Plugin 基于选项创建 OpenAICompatible 插件
func (*MinimaxOptions) RegisterModels ¶ added in v0.1.1
func (opts *MinimaxOptions) RegisterModels( ctx context.Context, g *genkit.Genkit, plugin *oai.OpenAICompatible, ) ([]ModelConfig, error)
RegisterModels 注册模型
type ModelConfig ¶
type ModelConfig struct {
// 模型名称
Name string `json:"name"`
// 供应商名称
Provider string `json:"provider,omitempty"`
// 模型描述(可选)
Description string `json:"description,omitempty"`
// 是否支持推理、思考模式
Reasoning bool `json:"reasoning,omitempty"`
// 是否支持视觉、图片理解
Vision bool `json:"vision,omitempty"`
// 价格信息
Cost ModelCost `json:"cost,omitempty"`
// 上下文窗口大小
ContextWindow int64 `json:"contextWindow,omitempty"`
// 最大输出 Token 数
MaxOutputTokens int64 `json:"maxOutputTokens,omitempty"`
}
ModelConfig 模型配置
func DeepSeekModels ¶
func DeepSeekModels(ctx context.Context) []ModelConfig
DeepSeekModels 建议的 DeepSeek 模型
func MinimaxModels ¶ added in v0.1.1
func MinimaxModels(ctx context.Context) []ModelConfig
MinimaxModels 建议的 MiniMax 模型
func MoonshotModels ¶ added in v0.1.1
func MoonshotModels(ctx context.Context) []ModelConfig
MoonshotModels 建议的月之暗面模型
func QwenModels ¶ added in v0.1.1
func QwenModels(ctx context.Context) []ModelConfig
QwenModels 建议的通义千问模型
func ZAIModels ¶ added in v0.1.1
func ZAIModels(ctx context.Context) []ModelConfig
ZAIModels 建议的智谱 AI 模型
type ModelCost ¶
type ModelCost struct {
// 每千输入 Token 价格
Input float64 `json:"input,omitempty"`
// 每千输出 Token 价格
Output float64 `json:"output,omitempty"`
// 每千缓存 Token 价格
Cached float64 `json:"cached,omitempty"`
}
ModelCost 价格信息
type ModelProvider ¶
type ModelProvider struct {
Ollama *OllamaOptions `json:"ollama,omitempty"`
ZAI *ZAIOptions `json:"z-ai,omitempty"`
Qwen *QwenOptions `json:"qwen,omitempty"`
Moonshot *MoonshotOptions `json:"moonshotai,omitempty"`
Deepseek *DeepseekOptions `json:"deepseek,omitempty"`
Minimax *MinimaxOptions `json:"minimax,omitempty"`
OpenAICompatible *OpenAICompatibleOptions `json:"openaiCompatible,omitempty"`
}
ModelProvider 模型供应商配置
type Models ¶
type Models struct {
// 主模型,用于回答用户问题
Primary string `json:"primary,omitempty"`
// 轻量模型,用于处理简单事务。为空时使用主模型
Light string `json:"light,omitempty"`
// 视觉模型,用于处理图片理解任务
Vision string `json:"vision,omitempty"`
}
Models 模型配置
type MoonshotOptions ¶ added in v0.1.1
type MoonshotOptions struct {
// API 地址
BaseURL string `json:"baseURL,omitempty"`
// API 密钥
APIKey string `json:"apiKey"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
MoonshotOptions 月之暗面模型选项
func (*MoonshotOptions) Complete ¶ added in v0.1.1
func (opts *MoonshotOptions) Complete()
Complete 使用默认值补全选项
func (*MoonshotOptions) Plugin ¶ added in v0.1.1
func (opts *MoonshotOptions) Plugin() *oai.OpenAICompatible
Plugin 基于选项创建 OpenAICompatible 插件
func (*MoonshotOptions) RegisterModels ¶ added in v0.1.1
func (opts *MoonshotOptions) RegisterModels( ctx context.Context, g *genkit.Genkit, plugin *oai.OpenAICompatible, ) ([]ModelConfig, error)
RegisterModels 注册模型
type OllamaOptions ¶
type OllamaOptions struct {
// Ollama 服务端地址
//
// 默认 http://localhost:11434
ServerAddress string `json:"serverAddress,omitempty"`
// 模型响应超时时间,秒
//
// 默认 300
Timeout int `json:"timeout,omitempty"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
OllamaOptions Ollama 选项
func (*OllamaOptions) OllamaPlugin ¶
func (opts *OllamaOptions) OllamaPlugin() *ollama.Ollama
OllamaPlugin 基于选项创建 Ollama 插件
func (*OllamaOptions) RegisterModels ¶
func (opts *OllamaOptions) RegisterModels( g *genkit.Genkit, plugin *ollama.Ollama, ) ([]ModelConfig, error)
RegisterModels 注册模型
type OpenAICompatibleOptions ¶
type OpenAICompatibleOptions struct {
// 供应商名
Name string `json:"name"`
// API 地址
BaseURL string `json:"baseURL"`
// API 密钥
APIKey string `json:"apiKey"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
OpenAICompatibleOptions OpenAI 兼容选项
func (*OpenAICompatibleOptions) OpenAICompatiblePlugin ¶
func (opts *OpenAICompatibleOptions) OpenAICompatiblePlugin() *oai.OpenAICompatible
OpenAICompatiblePlugin 基于选项创建 OpenAI 兼容插件
func (*OpenAICompatibleOptions) RegisterModels ¶
func (opts *OpenAICompatibleOptions) RegisterModels( g *genkit.Genkit, plugin *oai.OpenAICompatible, ) ([]ModelConfig, error)
RegisterModels 注册模型
type QwenOptions ¶ added in v0.1.1
type QwenOptions struct {
// API 地址
BaseURL string `json:"baseURL,omitempty"`
// API 密钥
APIKey string `json:"apiKey"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
QwenOptions 通义千问模型选项
func (*QwenOptions) Complete ¶ added in v0.1.1
func (opts *QwenOptions) Complete()
Complete 使用默认值补全选项
func (*QwenOptions) Plugin ¶ added in v0.1.1
func (opts *QwenOptions) Plugin() *oai.OpenAICompatible
Plugin 基于选项创建 OpenAICompatible 插件
func (*QwenOptions) RegisterModels ¶ added in v0.1.1
func (opts *QwenOptions) RegisterModels( ctx context.Context, g *genkit.Genkit, plugin *oai.OpenAICompatible, ) ([]ModelConfig, error)
RegisterModels 注册模型
type ZAIOptions ¶ added in v0.1.1
type ZAIOptions struct {
// API 地址
BaseURL string `json:"baseURL,omitempty"`
// API 密钥
APIKey string `json:"apiKey"`
// 模型列表
Models []ModelConfig `json:"models,omitempty"`
}
ZAIOptions 智谱 AI 模型选项
func (*ZAIOptions) Plugin ¶ added in v0.1.1
func (opts *ZAIOptions) Plugin() *oai.OpenAICompatible
Plugin 基于选项创建 OpenAICompatible 插件
func (*ZAIOptions) RegisterModels ¶ added in v0.1.1
func (opts *ZAIOptions) RegisterModels( ctx context.Context, g *genkit.Genkit, plugin *oai.OpenAICompatible, ) ([]ModelConfig, error)
RegisterModels 注册模型