mirror of
https://github.com/chaitin/MonkeyCode.git
synced 2026-02-02 23:03:57 +08:00
feat: 支持更多大模型
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,3 +1,6 @@
|
||||
backend/assets
|
||||
backend/docs/swagger.json
|
||||
backend/assets-amd64
|
||||
backend/assets-amd64
|
||||
ModelModal
|
||||
ui/node_modules
|
||||
ui/dist
|
||||
@@ -20,17 +20,58 @@ const (
|
||||
type ModelProvider string
|
||||
|
||||
const (
|
||||
ModelProviderSiliconFlow ModelProvider = "SiliconFlow"
|
||||
ModelProviderOpenAI ModelProvider = "OpenAI"
|
||||
ModelProviderOllama ModelProvider = "Ollama"
|
||||
ModelProviderDeepSeek ModelProvider = "DeepSeek"
|
||||
ModelProviderMoonshot ModelProvider = "Moonshot"
|
||||
ModelProviderAzureOpenAI ModelProvider = "AzureOpenAI"
|
||||
ModelProviderBaiZhiCloud ModelProvider = "BaiZhiCloud"
|
||||
ModelProviderHunyuan ModelProvider = "Hunyuan"
|
||||
ModelProviderBaiLian ModelProvider = "BaiLian"
|
||||
ModelProviderVolcengine ModelProvider = "Volcengine"
|
||||
ModelProviderZhiPu ModelProvider = "ZhiPu"
|
||||
ModelProviderGemini ModelProvider = "Gemini"
|
||||
ModelProviderOther ModelProvider = "Other"
|
||||
ModelProviderSiliconFlow ModelProvider = "SiliconFlow"
|
||||
ModelProviderOpenAI ModelProvider = "OpenAI"
|
||||
ModelProviderOllama ModelProvider = "Ollama"
|
||||
ModelProviderDeepSeek ModelProvider = "DeepSeek"
|
||||
ModelProviderMoonshot ModelProvider = "Moonshot"
|
||||
ModelProviderAzureOpenAI ModelProvider = "AzureOpenAI"
|
||||
ModelProviderBaiZhiCloud ModelProvider = "BaiZhiCloud"
|
||||
ModelProviderHunyuan ModelProvider = "Hunyuan"
|
||||
ModelProviderBaiLian ModelProvider = "BaiLian"
|
||||
ModelProviderVolcengine ModelProvider = "Volcengine"
|
||||
ModelProviderZhiPu ModelProvider = "ZhiPu"
|
||||
ModelProviderGemini ModelProvider = "Gemini"
|
||||
ModelProviderAiHubMix ModelProvider = "AiHubMix"
|
||||
ModelProviderOcoolAI ModelProvider = "OcoolAI"
|
||||
ModelProviderPPIO ModelProvider = "PPIO"
|
||||
ModelProviderAlayaNew ModelProvider = "AlayaNew"
|
||||
ModelProviderQiniu ModelProvider = "Qiniu"
|
||||
ModelProviderDMXAPI ModelProvider = "DMXAPI"
|
||||
ModelProviderBurnCloud ModelProvider = "BurnCloud"
|
||||
ModelProviderTokenFlux ModelProvider = "TokenFlux"
|
||||
ModelProvider302AI ModelProvider = "302AI"
|
||||
ModelProviderCephalon ModelProvider = "Cephalon"
|
||||
ModelProviderLanyun ModelProvider = "Lanyun"
|
||||
ModelProviderPH8 ModelProvider = "PH8"
|
||||
ModelProviderOpenRouter ModelProvider = "OpenRouter"
|
||||
ModelProviderNewAPI ModelProvider = "NewAPI"
|
||||
ModelProviderLMStudio ModelProvider = "LMStudio"
|
||||
ModelProviderAnthropic ModelProvider = "Anthropic"
|
||||
ModelProviderVertexAI ModelProvider = "VertexAI"
|
||||
ModelProviderGithub ModelProvider = "Github"
|
||||
ModelProviderCopilot ModelProvider = "Copilot"
|
||||
ModelProviderYi ModelProvider = "Yi"
|
||||
ModelProviderBaichuan ModelProvider = "Baichuan"
|
||||
ModelProviderStepFun ModelProvider = "StepFun"
|
||||
ModelProviderInfini ModelProvider = "Infini"
|
||||
ModelProviderMiniMax ModelProvider = "MiniMax"
|
||||
ModelProviderGroq ModelProvider = "Groq"
|
||||
ModelProviderTogether ModelProvider = "Together"
|
||||
ModelProviderFireworks ModelProvider = "Fireworks"
|
||||
ModelProviderNvidia ModelProvider = "Nvidia"
|
||||
ModelProviderGrok ModelProvider = "Grok"
|
||||
ModelProviderHyperbolic ModelProvider = "Hyperbolic"
|
||||
ModelProviderMistral ModelProvider = "Mistral"
|
||||
ModelProviderJina ModelProvider = "Jina"
|
||||
ModelProviderPerplexity ModelProvider = "Perplexity"
|
||||
ModelProviderModelScope ModelProvider = "ModelScope"
|
||||
ModelProviderXirang ModelProvider = "Xirang"
|
||||
ModelProviderTencentCloudTI ModelProvider = "TencentCloudTI"
|
||||
ModelProviderBaiduCloud ModelProvider = "BaiduCloud"
|
||||
ModelProviderGPUStack ModelProvider = "GPUStack"
|
||||
ModelProviderVoyageAI ModelProvider = "VoyageAI"
|
||||
ModelProviderAWSBedrock ModelProvider = "AWSBedrock"
|
||||
ModelProviderPoe ModelProvider = "Poe"
|
||||
ModelProviderOther ModelProvider = "Other"
|
||||
)
|
||||
|
||||
@@ -46,7 +46,7 @@ type CheckModelReq struct {
|
||||
}
|
||||
|
||||
type GetProviderModelListReq struct {
|
||||
Provider consts.ModelProvider `json:"provider" query:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine ZhiPu Gemini Other"`
|
||||
Provider consts.ModelProvider `json:"provider" query:"provider" validate:"required"`
|
||||
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"`
|
||||
@@ -76,11 +76,11 @@ type GetTokenUsageReq struct {
|
||||
|
||||
type CreateModelReq struct {
|
||||
AdminID uuid.UUID `json:"-"`
|
||||
ShowName string `json:"show_name"` // 模型显示名称
|
||||
ModelName string `json:"model_name" validate:"required"` // 模型名称 如: deepseek-v3
|
||||
Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine ZhiPu Gemini Other"` // 提供商
|
||||
APIBase string `json:"api_base" validate:"required"` // 接口地址 如:https://api.qwen.com
|
||||
APIKey string `json:"api_key"` // 接口密钥 如:sk-xxxx
|
||||
ShowName string `json:"show_name"` // 模型显示名称
|
||||
ModelName string `json:"model_name" validate:"required"` // 模型名称 如: deepseek-v3
|
||||
Provider consts.ModelProvider `json:"provider" validate:"required"` // 提供商
|
||||
APIBase string `json:"api_base" validate:"required"` // 接口地址 如:https://api.qwen.com
|
||||
APIKey string `json:"api_key"` // 接口密钥 如:sk-xxxx
|
||||
APIVersion string `json:"api_version"`
|
||||
APIHeader string `json:"api_header"`
|
||||
ModelType consts.ModelType `json:"model_type"` // 模型类型 llm:对话模型 coder:代码模型
|
||||
@@ -108,12 +108,12 @@ func DefaultModelParam() *ModelParam {
|
||||
}
|
||||
|
||||
type UpdateModelReq struct {
|
||||
ID string `json:"id"` // 模型ID
|
||||
ModelName *string `json:"model_name"` // 模型名称
|
||||
ShowName *string `json:"show_name"` // 模型显示名称
|
||||
Provider *consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine ZhiPu Gemini Other"` // 提供商
|
||||
APIBase *string `json:"api_base"` // 接口地址 如:https://api.qwen.com
|
||||
APIKey *string `json:"api_key"` // 接口密钥 如:sk-xxxx
|
||||
ID string `json:"id"` // 模型ID
|
||||
ModelName *string `json:"model_name"` // 模型名称
|
||||
ShowName *string `json:"show_name"` // 模型显示名称
|
||||
Provider *consts.ModelProvider `json:"provider" validate:"required"` // 提供商
|
||||
APIBase *string `json:"api_base"` // 接口地址 如:https://api.qwen.com
|
||||
APIKey *string `json:"api_key"` // 接口密钥 如:sk-xxxx
|
||||
APIVersion *string `json:"api_version"`
|
||||
APIHeader *string `json:"api_header"`
|
||||
Status *consts.ModelStatus `json:"status"` // 状态 active:启用 inactive:禁用
|
||||
@@ -133,9 +133,9 @@ type ModelTokenUsage struct {
|
||||
}
|
||||
|
||||
type ModelBasic struct {
|
||||
Name string `json:"name"` // 模型名称
|
||||
Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine ZhiPu Gemini Other"` // 提供商
|
||||
APIBase string `json:"api_base"` // 接口地址 如:https://api.qwen.com
|
||||
Name string `json:"name"` // 模型名称
|
||||
Provider consts.ModelProvider `json:"provider" validate:"required"` // 提供商
|
||||
APIBase string `json:"api_base"` // 接口地址 如:https://api.qwen.com
|
||||
}
|
||||
|
||||
type ModelUsage struct {
|
||||
@@ -198,6 +198,6 @@ func (m *Model) From(e *db.Model) *Model {
|
||||
}
|
||||
|
||||
type CheckModelResp struct {
|
||||
Error string `json:"error"`
|
||||
Content string `json:"content"`
|
||||
Error string `json:"error"`
|
||||
Model *Model `json:"model"`
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ go 1.25.0
|
||||
require (
|
||||
entgo.io/ent v0.14.4
|
||||
github.com/GoYoko/web v1.4.0
|
||||
github.com/chaitin/ModelKit v1.5.1-0.20250822075523-d896029f3d7a
|
||||
github.com/chaitin/ModelKit v1.6.2
|
||||
github.com/doquangtan/socket.io/v4 v4.0.8
|
||||
github.com/golang-migrate/migrate/v4 v4.18.3
|
||||
github.com/google/uuid v1.6.0
|
||||
@@ -17,13 +17,10 @@ require (
|
||||
github.com/pgvector/pgvector-go v0.3.0
|
||||
github.com/redis/go-redis/v9 v9.7.3
|
||||
github.com/rokku-c/go-openai v1.35.7-fix2
|
||||
github.com/sashabaranov/go-openai v1.41.1
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/spf13/viper v1.20.1
|
||||
gitlab.com/gitlab-org/api/client-go v0.142.0
|
||||
golang.org/x/crypto v0.40.0
|
||||
golang.org/x/crypto v0.41.0
|
||||
golang.org/x/oauth2 v0.30.0
|
||||
golang.org/x/text v0.27.0
|
||||
golang.org/x/text v0.28.0
|
||||
golang.org/x/time v0.12.0
|
||||
google.golang.org/grpc v1.74.2
|
||||
google.golang.org/protobuf v1.36.8
|
||||
@@ -76,16 +73,13 @@ require (
|
||||
github.com/gofiber/websocket/v2 v2.2.1 // indirect
|
||||
github.com/google/generative-ai-go v0.20.1 // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/google/s2a-go v0.1.9 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
|
||||
github.com/goph/emperror v0.17.2 // indirect
|
||||
github.com/gorilla/websocket v1.5.3 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.23.0 // indirect
|
||||
github.com/invopop/yaml v0.1.0 // indirect
|
||||
github.com/joho/godotenv v1.5.1 // indirect
|
||||
@@ -114,6 +108,7 @@ require (
|
||||
github.com/rs/xid v1.6.0 // indirect
|
||||
github.com/sagikazarmark/locafero v0.9.0 // indirect
|
||||
github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee // indirect
|
||||
github.com/sirupsen/logrus v1.9.3 // indirect
|
||||
github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f // indirect
|
||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
||||
github.com/spf13/afero v1.14.0 // indirect
|
||||
@@ -136,14 +131,15 @@ require (
|
||||
go.opentelemetry.io/otel/metric v1.37.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.37.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/mock v0.6.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/arch v0.19.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect
|
||||
golang.org/x/mod v0.26.0 // indirect
|
||||
golang.org/x/net v0.42.0 // indirect
|
||||
golang.org/x/mod v0.27.0 // indirect
|
||||
golang.org/x/net v0.43.0 // indirect
|
||||
golang.org/x/sync v0.16.0 // indirect
|
||||
golang.org/x/sys v0.34.0 // indirect
|
||||
golang.org/x/tools v0.35.0 // indirect
|
||||
golang.org/x/sys v0.35.0 // indirect
|
||||
golang.org/x/tools v0.36.0 // indirect
|
||||
google.golang.org/api v0.239.0 // indirect
|
||||
google.golang.org/genai v1.13.0 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
|
||||
|
||||
@@ -54,8 +54,8 @@ github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFos
|
||||
github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448/go.mod h1:GJKEexRPVJrBSOjoqN5VNOIKJ5Q3RViH6eu3puDRwx4=
|
||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/chaitin/ModelKit v1.5.1-0.20250822075523-d896029f3d7a h1:5J+cCU87hukEuTWlXO5D1UC6J3Bi+1xfihlSmgerUEM=
|
||||
github.com/chaitin/ModelKit v1.5.1-0.20250822075523-d896029f3d7a/go.mod h1:IRTq/CXbuk8/Gr3Gy/78ZDBTN7HMmxW7YvRjrfW9jdA=
|
||||
github.com/chaitin/ModelKit v1.6.2 h1:iw605mv1MCQwyud4nzblcgMe9pw8jvBG6Rv/UV40jzA=
|
||||
github.com/chaitin/ModelKit v1.6.2/go.mod h1:IBeqs9T8+vxMXhoer8daV0yrSPb5uaoAwQQW2Tz2qAg=
|
||||
github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M=
|
||||
github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU=
|
||||
github.com/cloudwego/eino v0.3.51 h1:emSaDu49v9EEJYOusL42Li/VL5QBSyBvhxO9ZcKPZvs=
|
||||
@@ -95,8 +95,6 @@ github.com/evanphx/json-patch v0.5.2 h1:xVCHIVMUu1wtM/VkR9jVZ45N3FhZfYMMYGorLCR8
|
||||
github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ=
|
||||
github.com/fasthttp/websocket v1.5.3 h1:TPpQuLwJYfd4LJPXvHDYPMFWbLjsT91n3GpWtCQtdek=
|
||||
github.com/fasthttp/websocket v1.5.3/go.mod h1:46gg/UBmTU1kUaTcwQXpUxtRwG2PvIZYeA8oL6vF3Fs=
|
||||
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
|
||||
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
@@ -155,11 +153,8 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6
|
||||
github.com/google/generative-ai-go v0.20.1 h1:6dEIujpgN2V0PgLhr6c/M1ynRdc7ARtiIDPFzj45uNQ=
|
||||
github.com/google/generative-ai-go v0.20.1/go.mod h1:TjOnZJmZKzarWbjUJgy+r3Ee7HGBRVLhOIgupnwR4Bg=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
||||
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
|
||||
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
|
||||
@@ -182,14 +177,8 @@ github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
|
||||
github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k=
|
||||
github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
|
||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw=
|
||||
github.com/hashicorp/hcl/v2 v2.23.0 h1:Fphj1/gCylPxHutVSEOf2fBOh1VE4AuLV7+kbJf3qos=
|
||||
github.com/hashicorp/hcl/v2 v2.23.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
@@ -314,8 +303,6 @@ github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
|
||||
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
|
||||
github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFTqyMTC9k=
|
||||
github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk=
|
||||
github.com/sashabaranov/go-openai v1.41.1 h1:zf5tM+GuxpyiyD9XZg8nCqu52eYFQg9OOew0gnIuDy4=
|
||||
github.com/sashabaranov/go-openai v1.41.1/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg=
|
||||
github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee h1:8Iv5m6xEo1NR1AvpV+7XmhI4r39LGNzwUL4YpMuL5vk=
|
||||
github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee/go.mod h1:qwtSXrKuJh/zsFQ12yEE89xfCrGKK63Rr7ctU/uCo4g=
|
||||
github.com/sebdah/goldie/v2 v2.5.5 h1:rx1mwF95RxZ3/83sdS4Yp7t2C5TCokvWP4TBRbAyEWY=
|
||||
@@ -401,8 +388,6 @@ github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6
|
||||
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM=
|
||||
github.com/zclconf/go-cty-yaml v1.1.0 h1:nP+jp0qPHv2IhUVqmQSzjvqAWcObN0KBkUl2rWBdig0=
|
||||
github.com/zclconf/go-cty-yaml v1.1.0/go.mod h1:9YLUH4g7lOhVWqUbctnVlZ5KLpg7JAprQNgxSZ1Gyxs=
|
||||
gitlab.com/gitlab-org/api/client-go v0.142.0 h1:cR8+RhDc7ooH0SiGNhgm3Nf5ZpW5D1R3DLshfAXJZmQ=
|
||||
gitlab.com/gitlab-org/api/client-go v0.142.0/go.mod h1:3YuWlZCirs2TTcaAzM6qNwVHB7WvV67ATb0GGpBCdlQ=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ=
|
||||
@@ -432,16 +417,16 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
|
||||
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
|
||||
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
|
||||
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
|
||||
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
|
||||
golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
|
||||
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
|
||||
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
@@ -450,8 +435,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
||||
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
|
||||
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
|
||||
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
|
||||
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
|
||||
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
|
||||
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
|
||||
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -475,16 +460,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
|
||||
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
|
||||
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
||||
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
||||
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
|
||||
golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
|
||||
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
|
||||
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
|
||||
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
@@ -492,8 +477,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
|
||||
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
|
||||
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
|
||||
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
|
||||
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
|
||||
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
@@ -502,10 +487,9 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
|
||||
golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0=
|
||||
golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw=
|
||||
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
|
||||
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/api v0.239.0 h1:2hZKUnFZEy81eugPs4e2XzIJ5SOwQg0G82bpXD65Puo=
|
||||
google.golang.org/api v0.239.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
|
||||
google.golang.org/genai v1.13.0 h1:LRhwx5PU+bXhfnXyPEHu2kt9yc+MpvuYbajxSorOJjg=
|
||||
|
||||
@@ -2,7 +2,6 @@ package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"log/slog"
|
||||
"strings"
|
||||
|
||||
@@ -53,7 +52,7 @@ func NewModelHandler(
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param model body domain.CheckModelReq true "模型"
|
||||
// @Success 200 {object} web.Resp{data=domain.Model}
|
||||
// @Success 200 {object} web.Resp{data=domain.CheckModelResp}
|
||||
// @Router /api/v1/model/check [post]
|
||||
func (h *ModelHandler) Check(c *web.Context, req domain.CheckModelReq) error {
|
||||
modelkitRes, err := modelkit.CheckModel(c.Request().Context(), &modelkitDomain.CheckModelReq{
|
||||
@@ -66,10 +65,14 @@ func (h *ModelHandler) Check(c *web.Context, req domain.CheckModelReq) error {
|
||||
Type: string(req.Type),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
return c.Success(domain.CheckModelResp{
|
||||
Error: err.Error(),
|
||||
})
|
||||
}
|
||||
if modelkitRes.Error != "" {
|
||||
return errors.New(modelkitRes.Error)
|
||||
return c.Success(domain.CheckModelResp{
|
||||
Error: modelkitRes.Error,
|
||||
})
|
||||
}
|
||||
|
||||
// 将输出转化为monkeycode格式
|
||||
@@ -81,7 +84,10 @@ func (h *ModelHandler) Check(c *web.Context, req domain.CheckModelReq) error {
|
||||
}
|
||||
// end
|
||||
|
||||
return c.Success(m)
|
||||
return c.Success(domain.CheckModelResp{
|
||||
Model: m,
|
||||
Error: "",
|
||||
})
|
||||
}
|
||||
|
||||
// List 获取模型列表
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"@mui/icons-material": "^6.4.12",
|
||||
"@mui/lab": "6.0.0-beta.19",
|
||||
"@mui/material": "^6.4.12",
|
||||
"@yokowu/modelkit-ui": "0.4.2",
|
||||
"@yokowu/modelkit-ui": "0.6.0",
|
||||
"ahooks": "^3.8.4",
|
||||
"axios": "^1.9.0",
|
||||
"dayjs": "^1.11.7",
|
||||
@@ -51,6 +51,7 @@
|
||||
"@types/react-dom": "^19.1.2",
|
||||
"@types/react-syntax-highlighter": "^15.5.13",
|
||||
"@vitejs/plugin-react": "^4.4.1",
|
||||
"dotenv": "^17.2.1",
|
||||
"eslint": "^9.25.0",
|
||||
"eslint-plugin-react-hooks": "^5.2.0",
|
||||
"eslint-plugin-react-refresh": "^0.4.19",
|
||||
|
||||
13
ui/pnpm-lock.yaml
generated
13
ui/pnpm-lock.yaml
generated
@@ -33,8 +33,8 @@ importers:
|
||||
specifier: ^6.4.12
|
||||
version: 6.5.0(@emotion/react@11.14.0(@types/react@19.1.10)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.10)(react@19.1.1))(@types/react@19.1.10)(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
|
||||
'@yokowu/modelkit-ui':
|
||||
specifier: 0.4.2
|
||||
version: 0.4.2(8525073519bd78ecc27b6ab63a7efdab)
|
||||
specifier: 0.6.0
|
||||
version: 0.6.0(8525073519bd78ecc27b6ab63a7efdab)
|
||||
ahooks:
|
||||
specifier: ^3.8.4
|
||||
version: 3.9.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
|
||||
@@ -123,6 +123,9 @@ importers:
|
||||
'@vitejs/plugin-react':
|
||||
specifier: ^4.4.1
|
||||
version: 4.7.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.5.1))
|
||||
dotenv:
|
||||
specifier: ^17.2.1
|
||||
version: 17.2.1
|
||||
eslint:
|
||||
specifier: ^9.25.0
|
||||
version: 9.33.0(jiti@2.5.1)
|
||||
@@ -1108,8 +1111,8 @@ packages:
|
||||
'@vue/shared@3.5.18':
|
||||
resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==}
|
||||
|
||||
'@yokowu/modelkit-ui@0.4.2':
|
||||
resolution: {integrity: sha512-UqbllIW1baY3vo9oOFpiKCki8NPBKBE98DRCkALLN5PVtfkw3nieimvvi/mbyViaY/5Ry+83UFr5YEECg6Hu1A==}
|
||||
'@yokowu/modelkit-ui@0.6.0':
|
||||
resolution: {integrity: sha512-STKsF+4QXIgkZHRISxbhJEF5AdMkUvCIeIdwdYxQUkrlCENkLLyYijH63bxNSm6c/DVB+tYbSDHg8XdSFDI6KQ==}
|
||||
|
||||
acorn-jsx@5.3.2:
|
||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||
@@ -3751,7 +3754,7 @@ snapshots:
|
||||
|
||||
'@vue/shared@3.5.18': {}
|
||||
|
||||
'@yokowu/modelkit-ui@0.4.2(8525073519bd78ecc27b6ab63a7efdab)':
|
||||
'@yokowu/modelkit-ui@0.6.0(8525073519bd78ecc27b6ab63a7efdab)':
|
||||
dependencies:
|
||||
'@c-x/ui': 1.0.9(87983aa74373e7bdff176d7db35e2938)
|
||||
'@mui/material': 6.5.0(@emotion/react@11.14.0(@types/react@19.1.10)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.10)(react@19.1.1))(@types/react@19.1.10)(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
|
||||
|
||||
@@ -23,6 +23,7 @@ import {
|
||||
GetGetTokenUsageParams,
|
||||
GetMyModelListParams,
|
||||
GithubComChaitinMonkeyCodeBackendDomainCheckModelReq,
|
||||
GithubComChaitinMonkeyCodeBackendDomainCheckModelResp,
|
||||
WebResp,
|
||||
} from "./types";
|
||||
|
||||
@@ -143,7 +144,7 @@ export const deleteDeleteModel = (
|
||||
* @summary 检查模型
|
||||
* @request POST:/api/v1/model/check
|
||||
* @response `200` `(WebResp & {
|
||||
data?: DomainModel,
|
||||
data?: GithubComChaitinMonkeyCodeBackendDomainCheckModelResp,
|
||||
|
||||
})` OK
|
||||
*/
|
||||
@@ -154,7 +155,7 @@ export const postCheckModel = (
|
||||
) =>
|
||||
request<
|
||||
WebResp & {
|
||||
data?: DomainModel;
|
||||
data?: GithubComChaitinMonkeyCodeBackendDomainCheckModelResp;
|
||||
}
|
||||
>({
|
||||
path: `/api/v1/model/check`,
|
||||
|
||||
@@ -36,6 +36,47 @@ export enum GithubComChaitinMonkeyCodeBackendConstsModelProvider {
|
||||
ModelProviderVolcengine = "Volcengine",
|
||||
ModelProviderZhiPu = "ZhiPu",
|
||||
ModelProviderGemini = "Gemini",
|
||||
ModelProviderAiHubMix = "AiHubMix",
|
||||
ModelProviderOcoolAI = "OcoolAI",
|
||||
ModelProviderPPIO = "PPIO",
|
||||
ModelProviderAlayaNew = "AlayaNew",
|
||||
ModelProviderQiniu = "Qiniu",
|
||||
ModelProviderDMXAPI = "DMXAPI",
|
||||
ModelProviderBurnCloud = "BurnCloud",
|
||||
ModelProviderTokenFlux = "TokenFlux",
|
||||
ModelProvider302AI = "302AI",
|
||||
ModelProviderCephalon = "Cephalon",
|
||||
ModelProviderLanyun = "Lanyun",
|
||||
ModelProviderPH8 = "PH8",
|
||||
ModelProviderOpenRouter = "OpenRouter",
|
||||
ModelProviderNewAPI = "NewAPI",
|
||||
ModelProviderLMStudio = "LMStudio",
|
||||
ModelProviderAnthropic = "Anthropic",
|
||||
ModelProviderVertexAI = "VertexAI",
|
||||
ModelProviderGithub = "Github",
|
||||
ModelProviderCopilot = "Copilot",
|
||||
ModelProviderYi = "Yi",
|
||||
ModelProviderBaichuan = "Baichuan",
|
||||
ModelProviderStepFun = "StepFun",
|
||||
ModelProviderInfini = "Infini",
|
||||
ModelProviderMiniMax = "MiniMax",
|
||||
ModelProviderGroq = "Groq",
|
||||
ModelProviderTogether = "Together",
|
||||
ModelProviderFireworks = "Fireworks",
|
||||
ModelProviderNvidia = "Nvidia",
|
||||
ModelProviderGrok = "Grok",
|
||||
ModelProviderHyperbolic = "Hyperbolic",
|
||||
ModelProviderMistral = "Mistral",
|
||||
ModelProviderJina = "Jina",
|
||||
ModelProviderPerplexity = "Perplexity",
|
||||
ModelProviderModelScope = "ModelScope",
|
||||
ModelProviderXirang = "Xirang",
|
||||
ModelProviderTencentCloudTI = "TencentCloudTI",
|
||||
ModelProviderBaiduCloud = "BaiduCloud",
|
||||
ModelProviderGPUStack = "GPUStack",
|
||||
ModelProviderVoyageAI = "VoyageAI",
|
||||
ModelProviderAWSBedrock = "AWSBedrock",
|
||||
ModelProviderPoe = "Poe",
|
||||
ModelProviderOther = "Other",
|
||||
}
|
||||
|
||||
@@ -450,20 +491,7 @@ export interface DomainCreateModelReq {
|
||||
/** 高级参数 */
|
||||
param?: DomainModelParam;
|
||||
/** 提供商 */
|
||||
provider:
|
||||
| "SiliconFlow"
|
||||
| "OpenAI"
|
||||
| "Ollama"
|
||||
| "DeepSeek"
|
||||
| "Moonshot"
|
||||
| "AzureOpenAI"
|
||||
| "BaiZhiCloud"
|
||||
| "Hunyuan"
|
||||
| "BaiLian"
|
||||
| "Volcengine"
|
||||
| "ZhiPu"
|
||||
| "Gemini"
|
||||
| "Other";
|
||||
provider: GithubComChaitinMonkeyCodeBackendConstsModelProvider;
|
||||
/** 模型显示名称 */
|
||||
show_name?: string;
|
||||
}
|
||||
@@ -848,20 +876,7 @@ export interface DomainModelBasic {
|
||||
/** 模型名称 */
|
||||
name?: string;
|
||||
/** 提供商 */
|
||||
provider:
|
||||
| "SiliconFlow"
|
||||
| "OpenAI"
|
||||
| "Ollama"
|
||||
| "DeepSeek"
|
||||
| "Moonshot"
|
||||
| "AzureOpenAI"
|
||||
| "BaiZhiCloud"
|
||||
| "Hunyuan"
|
||||
| "BaiLian"
|
||||
| "Volcengine"
|
||||
| "ZhiPu"
|
||||
| "Gemini"
|
||||
| "Other";
|
||||
provider: GithubComChaitinMonkeyCodeBackendConstsModelProvider;
|
||||
}
|
||||
|
||||
export interface DomainModelData {
|
||||
@@ -1168,20 +1183,7 @@ export interface DomainUpdateModelReq {
|
||||
/** 高级参数 */
|
||||
param?: DomainModelParam;
|
||||
/** 提供商 */
|
||||
provider:
|
||||
| "SiliconFlow"
|
||||
| "OpenAI"
|
||||
| "Ollama"
|
||||
| "DeepSeek"
|
||||
| "Moonshot"
|
||||
| "AzureOpenAI"
|
||||
| "BaiZhiCloud"
|
||||
| "Hunyuan"
|
||||
| "BaiLian"
|
||||
| "Volcengine"
|
||||
| "ZhiPu"
|
||||
| "Gemini"
|
||||
| "Other";
|
||||
provider: GithubComChaitinMonkeyCodeBackendConstsModelProvider;
|
||||
/** 模型显示名称 */
|
||||
show_name?: string;
|
||||
/** 状态 active:启用 inactive:禁用 */
|
||||
@@ -1387,6 +1389,11 @@ export interface GithubComChaitinMonkeyCodeBackendDomainCheckModelReq {
|
||||
type: "llm" | "coder" | "embedding" | "rerank";
|
||||
}
|
||||
|
||||
export interface GithubComChaitinMonkeyCodeBackendDomainCheckModelResp {
|
||||
error?: string;
|
||||
model?: DomainModel;
|
||||
}
|
||||
|
||||
export interface GithubComChaitinMonkeyCodeBackendDomainModelListResp {
|
||||
data?: DomainModelData[];
|
||||
object?: string;
|
||||
@@ -1714,6 +1721,47 @@ export interface GetGetProviderModelListParams {
|
||||
| "Volcengine"
|
||||
| "ZhiPu"
|
||||
| "Gemini"
|
||||
| "AiHubMix"
|
||||
| "OcoolAI"
|
||||
| "PPIO"
|
||||
| "AlayaNew"
|
||||
| "Qiniu"
|
||||
| "DMXAPI"
|
||||
| "BurnCloud"
|
||||
| "TokenFlux"
|
||||
| "302AI"
|
||||
| "Cephalon"
|
||||
| "Lanyun"
|
||||
| "PH8"
|
||||
| "OpenRouter"
|
||||
| "NewAPI"
|
||||
| "LMStudio"
|
||||
| "Anthropic"
|
||||
| "VertexAI"
|
||||
| "Github"
|
||||
| "Copilot"
|
||||
| "Yi"
|
||||
| "Baichuan"
|
||||
| "StepFun"
|
||||
| "Infini"
|
||||
| "MiniMax"
|
||||
| "Groq"
|
||||
| "Together"
|
||||
| "Fireworks"
|
||||
| "Nvidia"
|
||||
| "Grok"
|
||||
| "Hyperbolic"
|
||||
| "Mistral"
|
||||
| "Jina"
|
||||
| "Perplexity"
|
||||
| "ModelScope"
|
||||
| "Xirang"
|
||||
| "TencentCloudTI"
|
||||
| "BaiduCloud"
|
||||
| "GPUStack"
|
||||
| "VoyageAI"
|
||||
| "AWSBedrock"
|
||||
| "Poe"
|
||||
| "Other";
|
||||
type: "llm" | "coder" | "embedding" | "audio" | "reranker";
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -152,8 +152,8 @@ export const modelService: IModelService = {
|
||||
const localData = convertUICheckToLocalCheck(data);
|
||||
const result = await postCheckModel(localData);
|
||||
|
||||
const model: Model = result;
|
||||
const error: string = '';
|
||||
const model: Model = result.model || {};
|
||||
const error: string = result.error || '';
|
||||
return { model, error };
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user