Documentation
¶
Index ¶
- type Catalog
- func (c *Catalog) FetchProviderModels(ctx context.Context, provider defs.ProviderConfig) (map[string]*defs.ProviderModelConfig, error)
- func (c *Catalog) ListCatalogModels(ctx context.Context, catalogProviderID string) (map[string]*defs.ProviderModelConfig, error)
- func (c *Catalog) ListCatalogProviders(ctx context.Context) ([]defs.CatalogProvider, error)
- type CatalogOpt
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 (*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 ¶
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 的数据地址。
Click to show internal directories.
Click to hide internal directories.