Help us shape the future of Go! Take the 2026 Go Developer Survey

modelcatalog

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Catalog

type Catalog struct {
	// contains filtered or unexported fields
}

Catalog 给首次引导提供候选的模型服务和模型:已知服务来自 models.dev(缓存在本机文件),自定义服务从上游 /models 拉 id, 再按 id 去 models.dev 补字段;拿不到 models.dev 时,自定义服务的模型只按 id 列出。

func NewCatalog

func NewCatalog(opt *CatalogOpt) (*Catalog, error)

NewCatalog 校验配置并创建 Catalog。

func (*Catalog) FetchProviderModels

func (c *Catalog) FetchProviderModels(ctx context.Context, provider defs.ProviderConfig) (map[string]*defs.ProviderModelConfig, error)

FetchProviderModels 从上游 /models 读模型 ID,models.dev 里有同名模型时补上字段。

func (*Catalog) ListCatalogModels

func (c *Catalog) ListCatalogModels(ctx context.Context, catalogProviderID string) (map[string]*defs.ProviderModelConfig, error)

ListCatalogModels 返回 models.dev 里某个服务的模型配置,键是写进 Provider 文件的模型 ID。

func (*Catalog) ListCatalogProviders

func (c *Catalog) ListCatalogProviders(ctx context.Context) ([]defs.CatalogProvider, error)

ListCatalogProviders 按服务 ID 顺序返回 models.dev 里能对上协议和 base_url 的模型服务。

type CatalogOpt

type CatalogOpt struct {
	// CacheFile 是 models.dev 的缓存文件,serve 传 os.UserCacheDir()/openvaala/models-dev.json。
	CacheFile string
	// SourceURL 默认 https://models.dev/api.json;测试换成 httptest 地址。
	SourceURL string
	// HTTPClient 下载 models.dev 和请求上游 /models 都用它,默认 http.DefaultClient。
	HTTPClient *http.Client
}

CatalogOpt 是 Catalog 的缓存文件、数据地址和 HTTP 客户端。

func NewCatalogOpt

func NewCatalogOpt(cacheFile string) *CatalogOpt

NewCatalogOpt 创建配置,数据地址和 HTTP 客户端用默认值。

func (*CatalogOpt) WithHTTPClient

func (opt *CatalogOpt) WithHTTPClient(client *http.Client) *CatalogOpt

WithHTTPClient 换掉下载 models.dev 和请求上游 /models 用的 HTTP 客户端。

func (*CatalogOpt) WithSourceURL

func (opt *CatalogOpt) WithSourceURL(sourceURL string) *CatalogOpt

WithSourceURL 换掉 models.dev 的数据地址。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL