models

package
v0.0.0-...-7ebd831 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListOpenAICompatibleModels

func ListOpenAICompatibleModels(ctx context.Context, plugin *oai.OpenAICompatible) ([]string, error)

ListOpenAICompatibleModels 列出 OpenAI 兼容的模型

Types

type DeepseekOptions

type DeepseekOptions struct {
	// Deepseek API 密钥
	APIKey string `json:"apiKey"`
}

DeepseekOptions Deepseek 选项

func (*DeepseekOptions) DeepseekPlugin

func (opts *DeepseekOptions) DeepseekPlugin() *deepseek.Deepseek

DeepseekPlugin 基于选项创建 Deepseek 插件

type ListOllamaTagsResponse

type ListOllamaTagsResponse struct {
	Models []OllamaModel `json:"models,omitempty"`
}

ListOllamaTagsResponse 获取 Ollama tags 列表响应

type ListOpenAICompatibleModelsResponse

type ListOpenAICompatibleModelsResponse struct {
	Data []OpenAICompatibleModel `json:"data,omitempty"`
}

ListOpenAICompatibleModelsResponse 列出 OpenAI 模型响应

type ModelProvider

type ModelProvider struct {
	Ollama           *OllamaOptions           `json:"ollama,omitempty"`
	Deepseek         *DeepseekOptions         `json:"deepseek,omitempty"`
	OpenAICompatible *OpenAICompatibleOptions `json:"openaiCompatible,omitempty"`
}

ModelProvider 模型供应商配置

type OllamaModel

type OllamaModel struct {
	Name  string `json:"name"`
	Model string `json:"model"`

	ModifiedAt time.Time          `json:"modified_at,omitempty"`
	Size       int64              `json:"size,omitempty"`
	Digest     string             `json:"digest,omitempty"`
	Details    OllamaModelDetails `json:"details,omitempty"`
}

OllamaModel Ollama 模型

type OllamaModelDetails

type OllamaModelDetails struct {
	ParentModel       string   `json:"parent_model,omitempty"`
	Format            string   `json:"format,omitempty"`
	Family            string   `json:"family,omitempty"`
	Families          []string `json:"families,omitempty"`
	ParameterSize     string   `json:"parameter_size,omitempty"`
	QuantizationLevel string   `json:"quantization_level,omitempty"`
}

OllamaModelDetails Ollama 模型详情

type OllamaOptions

type OllamaOptions struct {
	// Ollama 服务端地址
	//
	// 默认 http://localhost:11434
	ServerAddress string `json:"serverAddress,omitempty"`
	// 模型响应超时时间,秒
	//
	// 默认 300
	Timeout int `json:"timeout,omitempty"`
	// 模型名列表
	//
	// 空表示使用 Ollama 已下载的所有模型
	Models []string `json:"models,omitempty"`
}

OllamaOptions Ollama 选项

func (*OllamaOptions) Complete

func (opts *OllamaOptions) Complete()

Complete 使用默认值补全选项

func (*OllamaOptions) ListModels

func (opts *OllamaOptions) ListModels(ctx context.Context) ([]OllamaModel, error)

ListModels 列出模型

func (*OllamaOptions) OllamaPlugin

func (opts *OllamaOptions) OllamaPlugin() *ollama.Ollama

OllamaPlugin 基于选项创建 Ollama 插件

func (*OllamaOptions) RegisterModels

func (opts *OllamaOptions) RegisterModels(
	ctx context.Context,
	g *genkit.Genkit,
	plugin *ollama.Ollama,
) ([]string, error)

RegisterModels 注册模型

type OpenAICompatibleModel

type OpenAICompatibleModel struct {
	ID string `json:"id"`
}

OpenAICompatibleModel OpenAI 兼容的模型

type OpenAICompatibleOptions

type OpenAICompatibleOptions struct {
	Name    string `json:"name"`
	BaseURL string `json:"baseURL"`
	APIKey  string `json:"apiKey"`
}

OpenAICompatibleOptions OpenAI 兼容选项

func (*OpenAICompatibleOptions) OpenAICompatiblePlugin

func (opts *OpenAICompatibleOptions) OpenAICompatiblePlugin() *oai.OpenAICompatible

OpenAICompatiblePlugin 基于选项创建 OpenAI 兼容插件