model

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Id             string   `json:"id,omitempty"`               // ID
	AppId          int      `json:"app_id,omitempty"`           // 应用ID
	Name           string   `json:"name,omitempty"`             // 应用名称
	Models         []string `json:"models,omitempty"`           // 模型权限
	IsLimitQuota   bool     `json:"is_limit_quota,omitempty"`   // 是否限制额度
	Quota          int      `json:"quota,omitempty"`            // 剩余额度
	UsedQuota      int      `json:"used_quota,omitempty"`       // 已用额度
	QuotaExpiresAt int64    `json:"quota_expires_at,omitempty"` // 额度过期时间
	IpWhitelist    []string `json:"ip_whitelist,omitempty"`     // IP白名单
	IpBlacklist    []string `json:"ip_blacklist,omitempty"`     // IP黑名单
	Remark         string   `json:"remark,omitempty"`           // 备注
	Status         int      `json:"status,omitempty"`           // 状态[1:正常, 2:禁用, -1:删除]
	UserId         int      `json:"user_id,omitempty"`          // 用户ID
	Creator        string   `json:"creator,omitempty"`          // 创建人
	Updater        string   `json:"updater,omitempty"`          // 更新人
	CreatedAt      string   `json:"created_at,omitempty"`       // 创建时间
	UpdatedAt      string   `json:"updated_at,omitempty"`       // 更新时间
}

type AudioReq added in v0.5.0

type AudioReq struct {
	Input    string `json:"input,omitempty"`     // 输入文本
	FilePath string `json:"file_path,omitempty"` // 文件路径
}

type AudioRes added in v0.5.0

type AudioRes struct {
	Text         string  `json:"text"`         // 输出文本
	Characters   int     `json:"characters"`   // 字符数
	Minute       float64 `json:"minute"`       // 分钟数
	TotalTokens  int     `json:"total_tokens"` // 总令牌数
	Error        error   `json:"err"`
	ConnTime     int64   `json:"-"`
	Duration     int64   `json:"-"`
	TotalTime    int64   `json:"-"`
	InternalTime int64   `json:"-"`
	EnterTime    int64   `json:"-"`
}

type CompletionsReq

type CompletionsReq struct {
	Messages        []sdkm.ChatCompletionMessage `json:"messages"`
	Stream          bool                         `json:"stream"`
	Model           string                       `json:"model"`
	Temperature     float64                      `json:"temperature"`
	PresencePenalty int                          `json:"presence_penalty"`
}

type CompletionsRes

type CompletionsRes struct {
	Type         string     `json:"type"`
	Completion   string     `json:"completion"`
	Usage        sdkm.Usage `json:"usage"`
	Error        error      `json:"err"`
	ConnTime     int64      `json:"-"`
	Duration     int64      `json:"-"`
	TotalTime    int64      `json:"-"`
	InternalTime int64      `json:"-"`
	EnterTime    int64      `json:"-"`
}

type Corp added in v0.3.0

type Corp struct {
	Id        string `json:"id,omitempty"`         // ID
	Name      string `json:"name,omitempty"`       // 名称
	Code      string `json:"code,omitempty"`       // 代码
	Sort      int    `json:"sort,omitempty"`       // 排序
	IsPublic  bool   `json:"is_public,omitempty"`  // 是否公开
	Remark    string `json:"remark,omitempty"`     // 备注
	Status    int    `json:"status,omitempty"`     // 状态[1:正常, 2:禁用, -1:删除]
	Creator   string `json:"creator,omitempty"`    // 创建人
	Updater   string `json:"updater,omitempty"`    // 更新人
	CreatedAt string `json:"created_at,omitempty"` // 创建时间
	UpdatedAt string `json:"updated_at,omitempty"` // 更新时间
}

type DashboardModelsData added in v0.3.0

type DashboardModelsData struct {
	Id         string       `json:"id"`
	Object     string       `json:"object"`
	OwnedBy    string       `json:"owned_by"`
	Created    int          `json:"created"`
	Root       string       `json:"root"`
	Parent     *string      `json:"parent"`
	Permission []Permission `json:"permission"`
	FastAPI    *FastAPI     `json:"fastapi,omitempty"`
}

type DashboardModelsRes added in v0.3.0

type DashboardModelsRes struct {
	Object string                `json:"object"`
	Data   []DashboardModelsData `json:"data"`
}

Models接口响应参数

type DashboardSubscriptionRes added in v0.2.0

type DashboardSubscriptionRes struct {
	Object             string  `json:"object"`
	HasPaymentMethod   bool    `json:"has_payment_method"`
	SoftLimitUSD       float64 `json:"soft_limit_usd"`
	HardLimitUSD       float64 `json:"hard_limit_usd"`
	SystemHardLimitUSD float64 `json:"system_hard_limit_usd"`
	AccessUntil        int64   `json:"access_until"`
}

Subscription接口响应参数

type DashboardUsageRes added in v0.2.0

type DashboardUsageRes struct {
	Object     string  `json:"object"`
	TotalUsage float64 `json:"total_usage"`
}

Usage接口响应参数

type FastAPI added in v0.3.0

type FastAPI struct {
	Corp                 string                      `json:"corp,omitempty"`                   // 公司名称
	Code                 string                      `json:"code,omitempty"`                   // 公司代码
	Model                string                      `json:"model,omitempty"`                  // 模型
	Type                 int                         `json:"type,omitempty"`                   // 模型类型[1:文生文, 2:文生图, 3:图生文, 4:图生图, 5:文生语音, 6:语音生文, 100:多模态, 101:多模态实时, 102:多模态语音]
	BaseUrl              string                      `json:"base_url,omitempty"`               // 模型地址
	Path                 string                      `json:"path,omitempty"`                   // 模型路径
	TextQuota            common.TextQuota            `json:"text_quota,omitempty"`             // 文本额度
	ImageQuotas          []common.ImageQuota         `json:"image_quotas,omitempty"`           // 图像额度
	AudioQuota           common.AudioQuota           `json:"audio_quota,omitempty"`            // 音频额度
	MultimodalQuota      common.MultimodalQuota      `json:"multimodal_quota,omitempty"`       // 多模态额度
	RealtimeQuota        common.RealtimeQuota        `json:"realtime_quota,omitempty"`         // 多模态实时额度
	MultimodalAudioQuota common.MultimodalAudioQuota `json:"multimodal_audio_quota,omitempty"` // 多模态语音额度
	MidjourneyQuotas     []common.MidjourneyQuota    `json:"midjourney_quotas,omitempty"`      // Midjourney额度
	Remark               string                      `json:"remark,omitempty"`                 // 备注
}

type FileFilesReq added in v0.5.0

type FileFilesReq struct {
	Model    string            `json:"model" v:"required"`
	File     *ghttp.UploadFile `json:"file" type:"file" v:"required"`
	Purpose  string            `json:"purpose"`
	FilePath string            `json:"-"`
}

Files接口请求参数

type GetBaiduTokenRes added in v0.5.0

type GetBaiduTokenRes struct {
	RefreshToken     string `json:"refresh_token"`
	ExpiresIn        int64  `json:"expires_in"`
	SessionKey       string `json:"session_key"`
	AccessToken      string `json:"access_token"`
	Scope            string `json:"scope"`
	SessionSecret    string `json:"session_secret"`
	ErrorDescription string `json:"error_description"`
	Error            string `json:"errors"`
}

type GetGcpTokenRes added in v0.5.0

type GetGcpTokenRes struct {
	AccessToken      string `json:"access_token"`
	ExpiresIn        int64  `json:"expires_in"`
	Scope            string `json:"scope"`
	TokenType        string `json:"token_type"`
	IdToken          string `json:"id_token"`
	Error            string `json:"error"`
	ErrorDescription string `json:"error_description"`
}

type ImageReq

type ImageReq struct {
	Prompt         string `json:"prompt,omitempty"`
	Model          string `json:"model,omitempty"`
	N              int    `json:"n,omitempty"`
	Quality        string `json:"quality,omitempty"`
	Size           string `json:"size,omitempty"`
	Style          string `json:"style,omitempty"`
	ResponseFormat string `json:"response_format,omitempty"`
	User           string `json:"user,omitempty"`
}

type ImageRes

type ImageRes struct {
	Created      int64                         `json:"created,omitempty"`
	Data         []sdkm.ImageResponseDataInner `json:"data,omitempty"`
	Usage        sdkm.Usage                    `json:"usage"`
	Error        error                         `json:"err"`
	TotalTime    int64                         `json:"-"`
	InternalTime int64                         `json:"-"`
	EnterTime    int64                         `json:"-"`
}

type Key

type Key struct {
	Id                  string   `json:"id,omitempty"`                   // ID
	UserId              int      `json:"user_id,omitempty"`              // 用户ID
	AppId               int      `json:"app_id,omitempty"`               // 应用ID
	Corp                string   `json:"corp,omitempty"`                 // 公司
	Key                 string   `json:"key,omitempty"`                  // 密钥
	Type                int      `json:"type,omitempty"`                 // 密钥类型[1:应用, 2:模型]
	Weight              int      `json:"weight,omitempty"`               // 权重
	CurrentWeight       int      `json:"current_weight,omitempty"`       // 当前权重
	Models              []string `json:"models,omitempty"`               // 模型
	ModelAgents         []string `json:"model_agents,omitempty"`         // 模型代理
	IsLimitQuota        bool     `json:"is_limit_quota"`                 // 是否限制额度
	Quota               int      `json:"quota,omitempty"`                // 剩余额度
	UsedQuota           int      `json:"used_quota,omitempty"`           // 已用额度
	QuotaExpiresRule    int      `json:"quota_expires_rule,omitempty"`   // 额度过期规则[1:固定, 2:时长]
	QuotaExpiresAt      int64    `json:"quota_expires_at,omitempty"`     // 额度过期时间
	QuotaExpiresMinutes int64    `json:"quota_expires_minutes"`          // 额度过期分钟数
	IpWhitelist         []string `json:"ip_whitelist,omitempty"`         // IP白名单
	IpBlacklist         []string `json:"ip_blacklist,omitempty"`         // IP黑名单
	Remark              string   `json:"remark,omitempty"`               // 备注
	Status              int      `json:"status,omitempty"`               // 状态[1:正常, 2:禁用, -1:删除]
	IsAutoDisabled      bool     `json:"is_auto_disabled,omitempty"`     // 是否自动禁用
	AutoDisabledReason  string   `json:"auto_disabled_reason,omitempty"` // 自动禁用原因
	Creator             string   `json:"creator,omitempty"`              // 创建人
	Updater             string   `json:"updater,omitempty"`              // 更新人
	CreatedAt           string   `json:"created_at,omitempty"`           // 创建时间
	UpdatedAt           string   `json:"updated_at,omitempty"`           // 更新时间
}

type MidjourneyResponse added in v0.4.0

type MidjourneyResponse struct {
	sdkm.MidjourneyResponse
	ReqUrl       string     `json:"req_url"`   // 请求地址
	TaskId       string     `json:"task_id"`   // 任务ID
	Action       string     `json:"action"`    // 动作[IMAGINE, UPSCALE, VARIATION, ZOOM, PAN, DESCRIBE, BLEND, SHORTEN, SWAP_FACE]
	Prompt       string     `json:"prompt"`    // 提示(提问)
	PromptEn     string     `json:"prompt_en"` // 英文提示(提问)
	ImageUrl     string     `json:"image_url"` // 图像地址
	Progress     string     `json:"progress"`  // 进度
	Usage        sdkm.Usage `json:"usage"`
	Error        error      `json:"err"`
	ConnTime     int64      `json:"-"`
	Duration     int64      `json:"-"`
	TotalTime    int64      `json:"-"`
	InternalTime int64      `json:"-"`
	EnterTime    int64      `json:"-"`
}

type Model

type Model struct {
	Id                   string                      `json:"id,omitempty"`                      // ID
	Corp                 string                      `json:"corp,omitempty"`                    // 公司
	Name                 string                      `json:"name,omitempty"`                    // 模型名称
	Model                string                      `json:"model,omitempty"`                   // 模型
	Type                 int                         `json:"type,omitempty"`                    // 模型类型[1:文生文, 2:文生图, 3:图生文, 4:图生图, 5:文生语音, 6:语音生文, 100:多模态, 101:多模态实时, 102:多模态语音]
	BaseUrl              string                      `json:"base_url,omitempty"`                // 模型地址
	Path                 string                      `json:"path,omitempty"`                    // 模型路径
	IsEnablePresetConfig bool                        `json:"is_enable_preset_config,omitempty"` // 是否启用预设配置
	PresetConfig         common.PresetConfig         `json:"preset_config,omitempty"`           // 预设配置
	TextQuota            common.TextQuota            `json:"text_quota,omitempty"`              // 文本额度
	ImageQuotas          []common.ImageQuota         `json:"image_quotas,omitempty"`            // 图像额度
	AudioQuota           common.AudioQuota           `json:"audio_quota,omitempty"`             // 音频额度
	MultimodalQuota      common.MultimodalQuota      `json:"multimodal_quota,omitempty"`        // 多模态额度
	RealtimeQuota        common.RealtimeQuota        `json:"realtime_quota,omitempty"`          // 多模态实时额度
	MultimodalAudioQuota common.MultimodalAudioQuota `json:"multimodal_audio_quota,omitempty"`  // 多模态语音额度
	MidjourneyQuotas     []common.MidjourneyQuota    `json:"midjourney_quotas,omitempty"`       // Midjourney额度
	DataFormat           int                         `json:"data_format,omitempty"`             // 数据格式[1:统一格式, 2:官方格式]
	IsPublic             bool                        `json:"is_public,omitempty"`               // 是否公开
	IsEnableModelAgent   bool                        `json:"is_enable_model_agent,omitempty"`   // 是否启用模型代理
	LbStrategy           int                         `json:"lb_strategy,omitempty"`             // 代理负载均衡策略[1:轮询, 2:权重]
	ModelAgents          []string                    `json:"model_agents,omitempty"`            // 模型代理
	IsEnableForward      bool                        `json:"is_enable_forward,omitempty"`       // 是否启用模型转发
	ForwardConfig        *common.ForwardConfig       `json:"forward_config,omitempty"`          // 模型转发配置
	IsEnableFallback     bool                        `json:"is_enable_fallback,omitempty"`      // 是否启用后备
	FallbackConfig       *common.FallbackConfig      `json:"fallback_config,omitempty"`         // 后备配置
	Remark               string                      `json:"remark,omitempty"`                  // 备注
	Status               int                         `json:"status,omitempty"`                  // 状态[1:正常, 2:禁用, -1:删除]
	Creator              string                      `json:"creator,omitempty"`                 // 创建人
	Updater              string                      `json:"updater,omitempty"`                 // 更新人
	CreatedAt            int64                       `json:"created_at,omitempty"`              // 创建时间
	UpdatedAt            int64                       `json:"updated_at,omitempty"`              // 更新时间
}

type ModelAgent

type ModelAgent struct {
	Id                 string   `json:"id,omitempty"`                   // ID
	Corp               string   `json:"corp,omitempty"`                 // 公司
	Name               string   `json:"name,omitempty"`                 // 模型代理名称
	BaseUrl            string   `json:"base_url,omitempty"`             // 模型代理地址
	Path               string   `json:"path,omitempty"`                 // 模型代理地址路径
	Weight             int      `json:"weight,omitempty"`               // 权重
	CurrentWeight      int      `json:"current_weight,omitempty"`       // 当前权重
	LbStrategy         int      `json:"lb_strategy,omitempty"`          // 密钥负载均衡策略[1:轮询, 2:权重]
	Models             []string `json:"models,omitempty"`               // 绑定模型
	ModelNames         []string `json:"model_names,omitempty"`          // 模型名称
	Key                string   `json:"key,omitempty"`                  // 密钥
	Remark             string   `json:"remark,omitempty"`               // 备注
	Status             int      `json:"status,omitempty"`               // 状态[1:正常, 2:禁用, -1:删除]
	IsAutoDisabled     bool     `json:"is_auto_disabled,omitempty"`     // 是否自动禁用
	AutoDisabledReason string   `json:"auto_disabled_reason,omitempty"` // 自动禁用原因
	Creator            string   `json:"creator,omitempty"`              // 创建人
	Updater            string   `json:"updater,omitempty"`              // 更新人
	CreatedAt          string   `json:"created_at,omitempty"`           // 创建时间
	UpdatedAt          string   `json:"updated_at,omitempty"`           // 更新时间
}

type Permission added in v0.5.0

type Permission struct {
	Id                 string  `json:"id"`
	Object             string  `json:"object"`
	Created            int     `json:"created"`
	AllowCreateEngine  bool    `json:"allow_create_engine"`
	AllowSampling      bool    `json:"allow_sampling"`
	AllowLogprobs      bool    `json:"allow_logprobs"`
	AllowSearchIndices bool    `json:"allow_search_indices"`
	AllowView          bool    `json:"allow_view"`
	AllowFineTuning    bool    `json:"allow_fine_tuning"`
	Organization       string  `json:"organization"`
	Group              *string `json:"group"`
	IsBlocking         bool    `json:"is_blocking"`
}

type PubMessage added in v1.0.0

type PubMessage struct {
	Action  string `json:"action,omitempty"`   // 消息动作
	OldData any    `json:"old_data,omitempty"` // 旧数据
	NewData any    `json:"new_data,omitempty"` // 新数据
}

type RealtimeRequest added in v0.5.0

type RealtimeRequest struct {
	Model    string                       `json:"model"`
	Messages []sdkm.ChatCompletionMessage `json:"messages"`
}

type RealtimeResponse added in v0.5.0

type RealtimeResponse struct {
	Type         string `json:"type"`
	EventId      string `json:"event_id"`
	ItemId       string `json:"item_id"`
	ContentIndex int    `json:"content_index"`
	Text         string `json:"text"`
	Transcript   string `json:"transcript"`
	ResponseId   string `json:"response_id"`
	OutputIndex  int    `json:"output_index"`
	Delta        string `json:"delta"`
	AudioEndMs   int    `json:"audio_end_ms"`

	Item struct {
		Id      string `json:"id"`
		Object  string `json:"object"`
		Type    string `json:"type"`
		Status  string `json:"status"`
		Role    string `json:"role"`
		Content []struct {
			Type       string `json:"type"`
			Text       string `json:"text"`
			Transcript string `json:"transcript"`
		} `json:"content"`
		Name      string `json:"name"`
		CallId    string `json:"call_id"`
		Arguments any    `json:"arguments"`
	} `json:"item"`

	Part struct {
		Type       string `json:"type"`
		Text       string `json:"text"`
		Transcript string `json:"transcript"`
	} `json:"part"`

	Session struct {
		Id            string   `json:"id"`
		Object        string   `json:"object"`
		Model         string   `json:"model"`
		ExpiresAt     int      `json:"expires_at"`
		Modalities    []string `json:"modalities"`
		Instructions  string   `json:"instructions"`
		Voice         string   `json:"voice"`
		TurnDetection struct {
			Type              string  `json:"type"`
			Threshold         float64 `json:"threshold"`
			PrefixPaddingMs   int     `json:"prefix_padding_ms"`
			SilenceDurationMs int     `json:"silence_duration_ms"`
		} `json:"turn_detection"`
		InputAudioFormat        string        `json:"input_audio_format"`
		OutputAudioFormat       string        `json:"output_audio_format"`
		InputAudioTranscription interface{}   `json:"input_audio_transcription"`
		ToolChoice              string        `json:"tool_choice"`
		Temperature             float64       `json:"temperature"`
		MaxResponseOutputTokens any           `json:"max_response_output_tokens"`
		Tools                   []interface{} `json:"tools"`
	} `json:"session"`

	Response struct {
		Object        string      `json:"object"`
		Id            string      `json:"id"`
		Status        string      `json:"status"`
		StatusDetails interface{} `json:"status_details"`
		Output        []struct {
			Id      string `json:"id"`
			Object  string `json:"object"`
			Type    string `json:"type"`
			Status  string `json:"status"`
			Role    string `json:"role"`
			Content []struct {
				Type       string `json:"type"`
				Text       string `json:"text"`
				Transcript string `json:"transcript"`
			} `json:"content"`
			Name      string `json:"name"`
			CallId    string `json:"call_id"`
			Arguments any    `json:"arguments"`
		} `json:"output"`
		Usage struct {
			TotalTokens       int `json:"total_tokens"`
			InputTokens       int `json:"input_tokens"`
			OutputTokens      int `json:"output_tokens"`
			InputTokenDetails struct {
				CachedTokens int `json:"cached_tokens"`
				TextTokens   int `json:"text_tokens"`
				AudioTokens  int `json:"audio_tokens"`
			} `json:"input_token_details"`
			OutputTokenDetails struct {
				TextTokens  int `json:"text_tokens"`
				AudioTokens int `json:"audio_tokens"`
			} `json:"output_token_details"`
		} `json:"usage"`
	} `json:"response"`

	RateLimits []struct {
		Name         string  `json:"name"`
		Limit        int     `json:"limit"`
		Remaining    int     `json:"remaining"`
		ResetSeconds float64 `json:"reset_seconds"`
	} `json:"rate_limits"`

	Error struct {
		Type    string      `json:"type"`
		Code    string      `json:"code"`
		Message string      `json:"message"`
		Param   interface{} `json:"param"`
		EventId interface{} `json:"event_id"`
	} `json:"error"`
}

type SubMessage

type SubMessage struct {
	Action  string `json:"action,omitempty"`   // 消息动作
	OldData any    `json:"old_data,omitempty"` // 旧数据
	NewData any    `json:"new_data,omitempty"` // 新数据
}

type User

type User struct {
	Id             string   `json:"id,omitempty"`               // ID
	UserId         int      `json:"user_id,omitempty"`          // 用户ID
	Name           string   `json:"name,omitempty"`             // 姓名
	Avatar         string   `json:"avatar,omitempty"`           // 头像
	Email          string   `json:"email,omitempty"`            // 邮箱
	Phone          string   `json:"phone,omitempty"`            // 手机号
	Quota          int      `json:"quota,omitempty"`            // 剩余额度
	UsedQuota      int      `json:"used_quota,omitempty"`       // 已用额度
	Models         []string `json:"models,omitempty"`           // 模型权限
	QuotaExpiresAt int64    `json:"quota_expires_at,omitempty"` // 额度过期时间
	Remark         string   `json:"remark,omitempty"`           // 备注
	Status         int      `json:"status,omitempty"`           // 状态[1:正常, 2:禁用, -1:删除]
	CreatedAt      string   `json:"created_at,omitempty"`       // 创建时间
	UpdatedAt      string   `json:"updated_at,omitempty"`       // 更新时间
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳