domain

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2025 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ModelOwners map[consts.ModelOwner]*ModelOwner
View Source
var Models []Model
View Source
var TypeModelMap map[consts.ModelType][]*Model

Functions

This section is empty.

Types

type CheckModelReq

type CheckModelReq struct {
	Owner   consts.ModelOwner `json:"owner" validate:"required"`      // 提供商
	ModelID string            `json:"model_name" validate:"required"` // 模型名称
	APIKey  string            `json:"api_key" validate:"required"`    // 接口密钥
	SubType consts.ModelType  `json:"sub_type" validate:"required"`   // 模型类型
}

type CheckModelResp

type CheckModelResp struct {
	Error   string `json:"error"`
	Content string `json:"content"`
}

type GetProviderModelListReq

type GetProviderModelListReq struct {
	Provider  string `` /* 166-byte string literal not displayed */
	BaseURL   string `json:"base_url" query:"base_url" validate:"required"`
	APIKey    string `json:"api_key" query:"api_key"`
	APIHeader string `json:"api_header" query:"api_header"`
	Type      string `json:"type" query:"type" validate:"required,oneof=chat embedding rerank"`
}

type GetProviderModelListResp

type GetProviderModelListResp struct {
	Models []ProviderModelListItem `json:"models"`
}

type ListModelReq

type ListModelReq struct {
	OwnedBy consts.ModelOwner `json:"owned_by" query:"owned_by"` // 提供商
	SubType consts.ModelType  `json:"sub_type" query:"sub_type"` // 模型类型
}

type Model

type Model struct {
	ID        string            `json:"id"`         // 模型的名字
	Object    string            `json:"object"`     // 总是model
	Created   int               `json:"created"`    // 创建时间
	OwnedBy   consts.ModelOwner `json:"owned_by"`   // 提供商
	ModelType consts.ModelType  `json:"model_type"` // 模型类型
}

type ModelKit

type ModelKit interface {
	CheckModel(ctx context.Context, req *CheckModelReq) (*Model, error)
	ListModel(ctx context.Context, req *ListModelReq) ([]*Model, error)
	PandaModelList(ctx context.Context, req *GetProviderModelListReq) (*GetProviderModelListResp, error)
}

type ModelOwner

type ModelOwner struct {
	OwnerName  consts.ModelOwner `json:"owner_name"`  // 提供商
	APIBase    string            `json:"api_base"`    // 接口地址 如:https://api.qwen.com
	APIKey     string            `json:"api_key"`     // 接口密钥 如:sk-xxxx
	APIVersion string            `json:"api_version"` // 接口版本 如:2023-05-15
	APIHeader  string            `json:"api_header"`  // 接口头 如:Authorization: Bearer sk-xxxx
	Models     []*Model          `json:"models"`      // 模型列表
}

type ProviderModelListItem

type ProviderModelListItem struct {
	Model string `json:"model"`
}

func From

func From(modelOwner *ModelOwner) []ProviderModelListItem

type Resp

type Resp struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    any    `json:"data,omitempty"`
}

type Response

type Response struct {
	Message string `json:"message"`
	Success bool   `json:"success"`
	Data    any    `json:"data,omitempty"`
}

Jump to

Keyboard shortcuts

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