Add support for creating online models and integrating custom model providers
@@ -5,3 +5,6 @@
|
||||
/apipark
|
||||
.gitlab-ci.yml
|
||||
/.vscode/
|
||||
.air.toml
|
||||
/tmp/
|
||||
/work
|
||||
@@ -25,6 +25,11 @@ type Provider struct {
|
||||
Address string `json:"address" yaml:"address"`
|
||||
Recommend bool `json:"recommend" yaml:"recommend"`
|
||||
Sort int `json:"sort" yaml:"sort"`
|
||||
ModelConfig ModelConfig `json:"model_config" yaml:"model_config"`
|
||||
}
|
||||
type ModelConfig struct {
|
||||
AccessConfigurationStatus bool `json:"access_configuration_status" yaml:"access_configuration_status"`
|
||||
AccessConfigurationDemo string `json:"access_configuration_demo" yaml:"access_configuration_demo"`
|
||||
}
|
||||
|
||||
type ProviderCredentialSchema struct {
|
||||
|
||||
@@ -6,8 +6,6 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/APIParkLab/APIPark/gateway"
|
||||
|
||||
"github.com/eolinker/eosc"
|
||||
)
|
||||
|
||||
@@ -36,7 +34,10 @@ func (c *Config) Check(cfg string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.validator.Valid(data)
|
||||
if c.validator != nil {
|
||||
return c.validator.Valid(data)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Config) GenConfig(target string, origin string) (string, error) {
|
||||
@@ -83,6 +84,9 @@ func Load() error {
|
||||
continue
|
||||
}
|
||||
name := fmt.Sprintf("model-providers/%s", file.Name())
|
||||
if file.Name() == "customize" {
|
||||
continue
|
||||
}
|
||||
err = LoadProvider(name)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -119,10 +123,10 @@ func LoadProvider(name string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
gateway.RegisterDynamicResourceDriver(provider.ID(), gateway.Worker{
|
||||
Profession: gateway.ProfessionAIProvider,
|
||||
Driver: provider.ID(),
|
||||
})
|
||||
//gateway.RegisterDynamicResourceDriver(provider.ID(), gateway.Worker{
|
||||
// Profession: gateway.ProfessionAIProvider,
|
||||
// Driver: provider.ID(),
|
||||
//})
|
||||
Register(provider.ID(), provider)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -43,6 +43,10 @@ func Register(name string, driver IProvider) {
|
||||
defaultManager.Set(name, driver)
|
||||
}
|
||||
|
||||
func Remove(name string) {
|
||||
defaultManager.Del(name)
|
||||
}
|
||||
|
||||
func GetProvider(name string) (IProvider, bool) {
|
||||
return defaultManager.Get(name)
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="48px" height="48px" viewBox="0 0 48 48" enable-background="new 0 0 48 48" xml:space="preserve"> <image id="image0" width="48" height="48" x="0" y="0" xlink:href="data:image/png;base64,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 KzAwOjAw4lKotQAAAABJRU5ErkJggg=="/>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,32 @@
|
||||
provider: bailian
|
||||
label:
|
||||
zh_Hans: 阿里云百炼
|
||||
en_US: bailian
|
||||
icon_small:
|
||||
en_US: icon_s_en.svg
|
||||
icon_large:
|
||||
zh_Hans: icon_l_zh.svg
|
||||
en_US: icon_l_en.svg
|
||||
background: "#EFF1FE"
|
||||
help:
|
||||
title:
|
||||
en_US: Get your API key from AliCloud
|
||||
zh_Hans: 从阿里云百炼获取 API Key
|
||||
url:
|
||||
en_US: https://bailian.console.aliyun.com/?apiKey=1#/api-key
|
||||
supported_model_types:
|
||||
- llm
|
||||
configurate_methods:
|
||||
- predefined-model
|
||||
- customizable-model
|
||||
provider_credential_schema:
|
||||
credential_form_schemas:
|
||||
- variable: dashscope_api_key
|
||||
label:
|
||||
en_US: API Key
|
||||
type: secret-input
|
||||
required: true
|
||||
placeholder:
|
||||
zh_Hans: 在此输入您的 API Key
|
||||
en_US: Enter your API Key
|
||||
address: https://dashscope.aliyuncs.com
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50" height="50" viewBox="0 0 50 50">
|
||||
<image id="椭圆_1_拷贝" data-name="椭圆 1 拷贝" x="5" y="4" width="42" height="38" xlink:href="data:img/png;base64,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"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50" height="50" viewBox="0 0 50 50">
|
||||
<image id="椭圆_1_拷贝" data-name="椭圆 1 拷贝" x="5" y="4" width="42" height="38" xlink:href="data:img/png;base64,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"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50" height="50" viewBox="0 0 50 50">
|
||||
<image id="椭圆_1_拷贝" data-name="椭圆 1 拷贝" x="5" y="4" width="42" height="38" xlink:href="data:img/png;base64,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"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,42 @@
|
||||
<svg width="152" height="24" viewBox="0 0 152 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="xorbits 1" clip-path="url(#clip0_9866_6170)">
|
||||
<path id="Vector" d="M8.00391 12.3124C8.69334 13.0754 9.47526 13.7494 10.3316 14.3188C11.0667 14.8105 11.8509 15.2245 12.6716 15.5541C14.1617 14.1465 15.3959 12.4907 16.3192 10.6606L21.7051 0L12.3133 7.38353C10.5832 8.74456 9.12178 10.416 8.00391 12.3124Z" fill="url(#paint0_linear_9866_6170)"/>
|
||||
<path id="Vector_2" d="M7.23504 18.9512C6.56092 18.5012 5.92386 18.0265 5.3221 17.5394L2.06445 24L7.91975 19.3959C7.69034 19.2494 7.46092 19.103 7.23504 18.9512Z" fill="url(#paint1_linear_9866_6170)"/>
|
||||
<path id="Vector_3" d="M19.3161 8.57474C21.0808 10.9147 21.5961 13.5159 20.3996 15.3053C18.6526 17.9189 13.9161 17.8183 9.82024 15.0812C5.72435 12.3441 3.82024 8.0065 5.56729 5.39297C6.76377 3.60356 9.36318 3.0865 12.2008 3.81886C7.29318 1.73474 2.62376 1.94121 0.813177 4.64474C-1.45976 8.04709 1.64435 14.1177 7.74494 18.1889C13.8455 22.26 20.6361 22.8124 22.9091 19.4118C24.7179 16.703 23.1173 12.3106 19.3161 8.57474Z" fill="url(#paint2_linear_9866_6170)"/>
|
||||
<g id="Xorbits Inference">
|
||||
<path d="M35.5162 12.142L38.5402 17H36.7482L34.5502 13.472L32.4922 17H30.7142L33.7382 12.142L30.7002 7.27002H32.4922L34.7042 10.826L36.7762 7.27002H38.5542L35.5162 12.142Z" fill="#1D2939"/>
|
||||
<path d="M43.3584 17.126C42.6304 17.126 41.9724 16.9627 41.3844 16.636C40.7964 16.3 40.3344 15.8334 39.9984 15.236C39.6624 14.6294 39.4944 13.9293 39.4944 13.136C39.4944 12.352 39.6671 11.6567 40.0124 11.05C40.3577 10.4434 40.8291 9.97668 41.4264 9.65002C42.0237 9.32335 42.6911 9.16002 43.4284 9.16002C44.1657 9.16002 44.8331 9.32335 45.4304 9.65002C46.0277 9.97668 46.4991 10.4434 46.8444 11.05C47.1897 11.6567 47.3624 12.352 47.3624 13.136C47.3624 13.92 47.185 14.6154 46.8304 15.222C46.4757 15.8287 45.9904 16.3 45.3744 16.636C44.7677 16.9627 44.0957 17.126 43.3584 17.126ZM43.3584 15.74C43.769 15.74 44.1517 15.642 44.5064 15.446C44.8704 15.25 45.1644 14.956 45.3884 14.564C45.6124 14.172 45.7244 13.696 45.7244 13.136C45.7244 12.576 45.6171 12.1047 45.4024 11.722C45.1877 11.33 44.9031 11.036 44.5484 10.84C44.1937 10.644 43.8111 10.546 43.4004 10.546C42.9897 10.546 42.607 10.644 42.2524 10.84C41.9071 11.036 41.6317 11.33 41.4264 11.722C41.221 12.1047 41.1184 12.576 41.1184 13.136C41.1184 13.9667 41.3284 14.6107 41.7484 15.068C42.1777 15.516 42.7144 15.74 43.3584 15.74Z" fill="#1D2939"/>
|
||||
<path d="M50.2561 10.406C50.4895 10.014 50.7974 9.71068 51.1801 9.49602C51.5721 9.27202 52.0341 9.16002 52.5661 9.16002V10.812H52.1601C51.5348 10.812 51.0588 10.9707 50.7321 11.288C50.4148 11.6054 50.2561 12.156 50.2561 12.94V17H48.6601V9.28602H50.2561V10.406Z" fill="#1D2939"/>
|
||||
<path d="M55.3492 10.434C55.6198 10.0607 55.9885 9.75735 56.4552 9.52402C56.9312 9.28135 57.4585 9.16002 58.0372 9.16002C58.7185 9.16002 59.3345 9.32335 59.8852 9.65002C60.4358 9.97668 60.8698 10.4434 61.1872 11.05C61.5045 11.6473 61.6632 12.3333 61.6632 13.108C61.6632 13.8827 61.5045 14.578 61.1872 15.194C60.8698 15.8007 60.4312 16.2767 59.8712 16.622C59.3205 16.958 58.7092 17.126 58.0372 17.126C57.4398 17.126 56.9078 17.0093 56.4412 16.776C55.9838 16.5427 55.6198 16.244 55.3492 15.88V17H53.7532V6.64002H55.3492V10.434ZM60.0392 13.108C60.0392 12.576 59.9272 12.1187 59.7032 11.736C59.4885 11.344 59.1992 11.05 58.8352 10.854C58.4805 10.6487 58.0978 10.546 57.6872 10.546C57.2858 10.546 56.9032 10.6487 56.5392 10.854C56.1845 11.0594 55.8952 11.358 55.6712 11.75C55.4565 12.142 55.3492 12.604 55.3492 13.136C55.3492 13.668 55.4565 14.1347 55.6712 14.536C55.8952 14.928 56.1845 15.2267 56.5392 15.432C56.9032 15.6374 57.2858 15.74 57.6872 15.74C58.0978 15.74 58.4805 15.6374 58.8352 15.432C59.1992 15.2174 59.4885 14.9093 59.7032 14.508C59.9272 14.1067 60.0392 13.64 60.0392 13.108Z" fill="#1D2939"/>
|
||||
<path d="M63.7734 8.26402C63.4841 8.26402 63.2414 8.16602 63.0454 7.97002C62.8494 7.77402 62.7514 7.53135 62.7514 7.24202C62.7514 6.95268 62.8494 6.71002 63.0454 6.51402C63.2414 6.31802 63.4841 6.22002 63.7734 6.22002C64.0534 6.22002 64.2914 6.31802 64.4874 6.51402C64.6834 6.71002 64.7814 6.95268 64.7814 7.24202C64.7814 7.53135 64.6834 7.77402 64.4874 7.97002C64.2914 8.16602 64.0534 8.26402 63.7734 8.26402ZM64.5574 9.28602V17H62.9614V9.28602H64.5574Z" fill="#1D2939"/>
|
||||
<path d="M68.2348 10.588V14.858C68.2348 15.1474 68.3002 15.3573 68.4309 15.488C68.5709 15.6093 68.8042 15.67 69.1308 15.67H70.1109V17H68.8508C68.1322 17 67.5815 16.832 67.1988 16.496C66.8162 16.16 66.6248 15.614 66.6248 14.858V10.588H65.7148V9.28602H66.6248V7.36802H68.2348V9.28602H70.1109V10.588H68.2348Z" fill="#1D2939"/>
|
||||
<path d="M74.1018 17.126C73.4952 17.126 72.9492 17.0187 72.4638 16.804C71.9878 16.58 71.6098 16.2813 71.3298 15.908C71.0498 15.5253 70.9005 15.1007 70.8818 14.634H72.5338C72.5618 14.9607 72.7158 15.236 72.9958 15.46C73.2852 15.6747 73.6445 15.782 74.0738 15.782C74.5218 15.782 74.8672 15.698 75.1098 15.53C75.3618 15.3527 75.4878 15.1287 75.4878 14.858C75.4878 14.5687 75.3478 14.354 75.0678 14.214C74.7972 14.074 74.3632 13.92 73.7658 13.752C73.1872 13.5933 72.7158 13.4394 72.3518 13.29C71.9878 13.1407 71.6705 12.912 71.3998 12.604C71.1385 12.296 71.0078 11.89 71.0078 11.386C71.0078 10.9753 71.1292 10.602 71.3718 10.266C71.6145 9.92068 71.9598 9.65002 72.4078 9.45402C72.8652 9.25802 73.3878 9.16002 73.9758 9.16002C74.8532 9.16002 75.5578 9.38402 76.0898 9.83202C76.6312 10.2707 76.9205 10.8727 76.9578 11.638H75.3618C75.3338 11.2927 75.1938 11.0173 74.9418 10.812C74.6898 10.6067 74.3492 10.504 73.9198 10.504C73.4998 10.504 73.1778 10.5833 72.9538 10.742C72.7298 10.9007 72.6178 11.1107 72.6178 11.372C72.6178 11.5773 72.6925 11.75 72.8418 11.89C72.9912 12.03 73.1732 12.142 73.3878 12.226C73.6025 12.3007 73.9198 12.3987 74.3398 12.52C74.8998 12.6693 75.3572 12.8233 75.7118 12.982C76.0758 13.1314 76.3885 13.3554 76.6498 13.654C76.9112 13.9527 77.0465 14.3493 77.0558 14.844C77.0558 15.2827 76.9345 15.6747 76.6918 16.02C76.4492 16.3654 76.1038 16.636 75.6558 16.832C75.2172 17.028 74.6992 17.126 74.1018 17.126Z" fill="#1D2939"/>
|
||||
<path d="M83.4531 7.27002V17H81.8571V7.27002H83.4531Z" fill="#1D2939"/>
|
||||
<path d="M89.1605 9.16002C89.7671 9.16002 90.3085 9.28602 90.7845 9.53802C91.2698 9.79002 91.6478 10.1633 91.9185 10.658C92.1891 11.1527 92.3245 11.75 92.3245 12.45V17H90.7425V12.688C90.7425 11.9973 90.5698 11.47 90.2245 11.106C89.8791 10.7327 89.4078 10.546 88.8105 10.546C88.2131 10.546 87.7371 10.7327 87.3825 11.106C87.0371 11.47 86.8645 11.9973 86.8645 12.688V17H85.2685V9.28602H86.8645V10.168C87.1258 9.85068 87.4571 9.60335 87.8585 9.42602C88.2691 9.24868 88.7031 9.16002 89.1605 9.16002Z" fill="#1D2939"/>
|
||||
<path d="M97.3143 10.588H95.8863V17H94.2763V10.588H93.3663V9.28602H94.2763V8.74002C94.2763 7.85335 94.5096 7.20935 94.9763 6.80802C95.4523 6.39735 96.1943 6.19202 97.2023 6.19202V7.52202C96.7169 7.52202 96.3763 7.61535 96.1803 7.80202C95.9843 7.97935 95.8863 8.29202 95.8863 8.74002V9.28602H97.3143V10.588Z" fill="#1D2939"/>
|
||||
<path d="M105.519 12.954C105.519 13.2433 105.5 13.5047 105.463 13.738H99.5687C99.6154 14.354 99.844 14.8487 100.255 15.222C100.665 15.5954 101.169 15.782 101.767 15.782C102.625 15.782 103.232 15.4227 103.587 14.704H105.309C105.075 15.4133 104.651 15.9967 104.035 16.454C103.428 16.902 102.672 17.126 101.767 17.126C101.029 17.126 100.367 16.9627 99.7787 16.636C99.2 16.3 98.7427 15.8334 98.4067 15.236C98.08 14.6294 97.9167 13.9293 97.9167 13.136C97.9167 12.3427 98.0754 11.6473 98.3927 11.05C98.7194 10.4434 99.172 9.97668 99.7507 9.65002C100.339 9.32335 101.011 9.16002 101.767 9.16002C102.495 9.16002 103.143 9.31868 103.713 9.63602C104.282 9.95335 104.725 10.4014 105.043 10.98C105.36 11.5493 105.519 12.2073 105.519 12.954ZM103.853 12.45C103.843 11.862 103.633 11.3907 103.223 11.036C102.812 10.6813 102.303 10.504 101.697 10.504C101.146 10.504 100.675 10.6813 100.283 11.036C99.8907 11.3813 99.6574 11.8527 99.5827 12.45H103.853Z" fill="#1D2939"/>
|
||||
<path d="M108.405 10.406C108.639 10.014 108.947 9.71068 109.329 9.49602C109.721 9.27202 110.183 9.16002 110.715 9.16002V10.812H110.309C109.684 10.812 109.208 10.9707 108.881 11.288C108.564 11.6054 108.405 12.156 108.405 12.94V17H106.809V9.28602H108.405V10.406Z" fill="#1D2939"/>
|
||||
<path d="M118.972 12.954C118.972 13.2433 118.954 13.5047 118.916 13.738H113.022C113.069 14.354 113.298 14.8487 113.708 15.222C114.119 15.5954 114.623 15.782 115.22 15.782C116.079 15.782 116.686 15.4227 117.04 14.704H118.762C118.529 15.4133 118.104 15.9967 117.488 16.454C116.882 16.902 116.126 17.126 115.22 17.126C114.483 17.126 113.82 16.9627 113.232 16.636C112.654 16.3 112.196 15.8334 111.86 15.236C111.534 14.6294 111.37 13.9293 111.37 13.136C111.37 12.3427 111.529 11.6473 111.846 11.05C112.173 10.4434 112.626 9.97668 113.204 9.65002C113.792 9.32335 114.464 9.16002 115.22 9.16002C115.948 9.16002 116.597 9.31868 117.166 9.63602C117.736 9.95335 118.179 10.4014 118.496 10.98C118.814 11.5493 118.972 12.2073 118.972 12.954ZM117.306 12.45C117.297 11.862 117.087 11.3907 116.676 11.036C116.266 10.6813 115.757 10.504 115.15 10.504C114.6 10.504 114.128 10.6813 113.736 11.036C113.344 11.3813 113.111 11.8527 113.036 12.45H117.306Z" fill="#1D2939"/>
|
||||
<path d="M124.155 9.16002C124.762 9.16002 125.303 9.28602 125.779 9.53802C126.264 9.79002 126.642 10.1633 126.913 10.658C127.184 11.1527 127.319 11.75 127.319 12.45V17H125.737V12.688C125.737 11.9973 125.564 11.47 125.219 11.106C124.874 10.7327 124.402 10.546 123.805 10.546C123.208 10.546 122.732 10.7327 122.377 11.106C122.032 11.47 121.859 11.9973 121.859 12.688V17H120.263V9.28602H121.859V10.168C122.12 9.85068 122.452 9.60335 122.853 9.42602C123.264 9.24868 123.698 9.16002 124.155 9.16002Z" fill="#1D2939"/>
|
||||
<path d="M128.543 13.136C128.543 12.3427 128.701 11.6473 129.019 11.05C129.345 10.4434 129.793 9.97668 130.363 9.65002C130.932 9.32335 131.585 9.16002 132.323 9.16002C133.256 9.16002 134.026 9.38402 134.633 9.83202C135.249 10.2707 135.664 10.9007 135.879 11.722H134.157C134.017 11.3394 133.793 11.0407 133.485 10.826C133.177 10.6113 132.789 10.504 132.323 10.504C131.669 10.504 131.147 10.7373 130.755 11.204C130.372 11.6613 130.181 12.3053 130.181 13.136C130.181 13.9667 130.372 14.6153 130.755 15.082C131.147 15.5487 131.669 15.782 132.323 15.782C133.247 15.782 133.858 15.376 134.157 14.564H135.879C135.655 15.348 135.235 15.9733 134.619 16.44C134.003 16.8973 133.237 17.126 132.323 17.126C131.585 17.126 130.932 16.9627 130.363 16.636C129.793 16.3 129.345 15.8334 129.019 15.236C128.701 14.6294 128.543 13.9293 128.543 13.136Z" fill="#1D2939"/>
|
||||
<path d="M144.259 12.954C144.259 13.2433 144.241 13.5047 144.203 13.738H138.309C138.356 14.354 138.585 14.8487 138.995 15.222C139.406 15.5954 139.91 15.782 140.507 15.782C141.366 15.782 141.973 15.4227 142.327 14.704H144.049C143.816 15.4133 143.391 15.9967 142.775 16.454C142.169 16.902 141.413 17.126 140.507 17.126C139.77 17.126 139.107 16.9627 138.519 16.636C137.941 16.3 137.483 15.8334 137.147 15.236C136.821 14.6294 136.657 13.9293 136.657 13.136C136.657 12.3427 136.816 11.6473 137.133 11.05C137.46 10.4434 137.913 9.97668 138.491 9.65002C139.079 9.32335 139.751 9.16002 140.507 9.16002C141.235 9.16002 141.884 9.31868 142.453 9.63602C143.023 9.95335 143.466 10.4014 143.783 10.98C144.101 11.5493 144.259 12.2073 144.259 12.954ZM142.593 12.45C142.584 11.862 142.374 11.3907 141.963 11.036C141.553 10.6813 141.044 10.504 140.437 10.504C139.887 10.504 139.415 10.6813 139.023 11.036C138.631 11.3813 138.398 11.8527 138.323 12.45H142.593Z" fill="#1D2939"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_9866_6170" x1="2.15214" y1="24.3018" x2="21.2921" y2="0.0988218" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E9A85E"/>
|
||||
<stop offset="1" stop-color="#F52B76"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_9866_6170" x1="2.06269" y1="24.2294" x2="21.2027" y2="0.028252" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E9A85E"/>
|
||||
<stop offset="1" stop-color="#F52B76"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_9866_6170" x1="-0.613606" y1="3.843" x2="21.4449" y2="18.7258" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#6A0CF5"/>
|
||||
<stop offset="1" stop-color="#AB66F3"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_9866_6170">
|
||||
<rect width="152" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,42 @@
|
||||
<svg width="120" height="24" viewBox="0 0 120 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_8587_60377)">
|
||||
<g clip-path="url(#clip1_8587_60377)">
|
||||
<path d="M11.9286 20.2062C16.7767 20.2062 20.7069 16.2761 20.7069 11.428C20.7069 6.57993 16.7767 2.64978 11.9286 2.64978C7.08054 2.64978 3.15039 6.57993 3.15039 11.428C3.15039 16.2761 7.08054 20.2062 11.9286 20.2062Z" fill="#FFD21E"/>
|
||||
<path d="M20.7095 11.4326C20.7095 6.58451 16.7793 2.65436 11.9313 2.65436C7.08318 2.65436 3.15303 6.58451 3.15303 11.4326C3.15303 16.2807 7.08318 20.2108 11.9313 20.2108C16.7793 20.2108 20.7095 16.2807 20.7095 11.4326ZM2.14258 11.4326C2.14258 6.02647 6.52511 1.64392 11.9313 1.64392C17.3374 1.64392 21.7199 6.02647 21.7199 11.4326C21.7199 16.8387 17.3374 21.2213 11.9313 21.2213C6.52511 21.2213 2.14258 16.8387 2.14258 11.4326Z" fill="#FF9D0B"/>
|
||||
<path d="M14.7822 9.03703C15.1041 9.1507 15.2322 9.81254 15.5574 9.6396C16.1734 9.31212 16.4072 8.54734 16.0797 7.93142C15.7522 7.31553 14.9874 7.08172 14.3715 7.4092C13.7556 7.73669 13.5218 8.50147 13.8493 9.11738C14.0038 9.40809 14.4944 8.9354 14.7822 9.03703Z" fill="#3A3B45"/>
|
||||
<path d="M8.83422 9.03703C8.5123 9.1507 8.38422 9.81254 8.05901 9.6396C7.4431 9.31212 7.20928 8.54734 7.53676 7.93142C7.86425 7.31553 8.62903 7.08172 9.24494 7.4092C9.86086 7.73669 10.0947 8.50147 9.76719 9.11738C9.61262 9.40809 9.122 8.9354 8.83422 9.03703Z" fill="#3A3B45"/>
|
||||
<path d="M11.8679 15.1044C14.3507 15.1044 15.1519 12.8908 15.1519 11.7541C15.1519 11.1633 14.7547 11.3492 14.1187 11.6641C13.5309 11.9551 12.739 12.3563 11.8679 12.3563C10.0543 12.3563 8.58398 10.6173 8.58398 11.7541C8.58398 12.8908 9.38514 15.1044 11.8679 15.1044Z" fill="#3A3B45"/>
|
||||
<mask id="mask0_8587_60377" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="11" width="8" height="5">
|
||||
<path d="M11.8562 15.1005C14.339 15.1005 15.1402 12.8869 15.1402 11.7502C15.1402 11.1594 14.743 11.3453 14.1069 11.6602C13.5191 11.9512 12.7273 12.3524 11.8562 12.3524C10.0425 12.3524 8.57227 10.6134 8.57227 11.7502C8.57227 12.8869 9.37342 15.1005 11.8562 15.1005Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_8587_60377)">
|
||||
<path d="M11.9194 17.6824C13.1294 17.6824 14.1103 16.7016 14.1103 15.4916C14.1103 14.5491 13.5152 13.7457 12.6803 13.4364C12.6496 13.425 12.6185 13.4143 12.5872 13.4043C12.3766 13.337 12.1523 14.0606 11.9194 14.0606C11.7018 14.0606 11.4917 13.3324 11.2933 13.3915C10.3884 13.6609 9.72852 14.4991 9.72852 15.4916C9.72852 16.7016 10.7094 17.6824 11.9194 17.6824Z" fill="#F94040"/>
|
||||
</g>
|
||||
<path d="M17.8698 10.2273C18.3232 10.2273 18.6908 9.85972 18.6908 9.40631C18.6908 8.9529 18.3232 8.58533 17.8698 8.58533C17.4164 8.58533 17.0488 8.9529 17.0488 9.40631C17.0488 9.85972 17.4164 10.2273 17.8698 10.2273Z" fill="#FF9D0B"/>
|
||||
<path d="M6.11981 10.2273C6.57323 10.2273 6.9408 9.85972 6.9408 9.40631C6.9408 8.9529 6.57323 8.58533 6.11981 8.58533C5.66638 8.58533 5.29883 8.9529 5.29883 9.40631C5.29883 9.85972 5.66638 10.2273 6.11981 10.2273Z" fill="#FF9D0B"/>
|
||||
<path d="M4.42915 13.0092C4.02018 13.0092 3.65465 13.1771 3.39976 13.4818C3.24214 13.6705 3.07743 13.9746 3.06404 14.4301C2.89252 14.3808 2.72757 14.3533 2.57347 14.3533C2.18193 14.3533 1.82827 14.5033 1.57819 14.7759C1.25687 15.1258 1.11414 15.5557 1.17628 15.9859C1.20584 16.1908 1.2743 16.3744 1.3766 16.5444C1.16087 16.719 1.00198 16.962 0.925188 17.2543C0.865067 17.4834 0.803429 17.9606 1.12526 18.4522C1.10479 18.4842 1.0856 18.5176 1.06766 18.5517C0.874161 18.919 0.861783 19.334 1.03255 19.7205C1.29147 20.3063 1.93487 20.7678 3.18429 21.2632C3.96157 21.5714 4.67267 21.7684 4.67899 21.7702C5.70661 22.0367 6.63596 22.1721 7.44053 22.1721C8.91931 22.1721 9.97801 21.7192 10.5873 20.8259C11.5679 19.3876 11.4277 18.072 10.1589 16.8039C9.45662 16.1021 8.98979 15.0674 8.89254 14.8403C8.69651 14.1679 8.17815 13.4204 7.3165 13.4204C7.244 13.4204 7.17049 13.4262 7.09824 13.4376C6.72084 13.4969 6.39093 13.7142 6.15525 14.0411C5.90087 13.7248 5.65381 13.4732 5.43025 13.3312C5.09327 13.1175 4.75654 13.0092 4.42915 13.0092ZM4.42915 14.0196C4.55799 14.0196 4.71536 14.0744 4.88891 14.1846C5.42773 14.5263 6.46747 16.3136 6.84816 17.0087C6.97573 17.2417 7.19373 17.3402 7.39001 17.3402C7.77953 17.3402 8.08368 16.9529 7.42563 16.4608C6.43615 15.7204 6.78324 14.5102 7.25562 14.4356C7.27633 14.4324 7.29679 14.4308 7.3165 14.4308C7.74594 14.4308 7.93539 15.171 7.93539 15.171C7.93539 15.171 8.49063 16.5654 9.44449 17.5185C10.3984 18.4719 10.4476 19.237 9.75243 20.2566C9.27828 20.9517 8.37064 21.1617 7.44053 21.1617C6.47581 21.1617 5.48684 20.9358 4.93261 20.7921C4.90533 20.785 1.53474 19.8329 1.96165 19.0226C2.03339 18.8864 2.15161 18.8318 2.3004 18.8318C2.90162 18.8318 3.99517 19.7266 4.46528 19.7266C4.57036 19.7266 4.64438 19.6819 4.67469 19.5727C4.87501 18.8541 1.62896 18.5519 1.90254 17.5109C1.95079 17.3268 2.08164 17.252 2.26554 17.2523C3.06 17.2523 4.84243 18.6495 5.21604 18.6495C5.24458 18.6495 5.26504 18.6411 5.27616 18.6234C5.46334 18.3213 5.36078 18.1104 4.0414 17.3119C2.72201 16.5131 1.79594 16.0327 2.32263 15.4592C2.38326 15.393 2.46915 15.3637 2.57347 15.3637C3.3745 15.364 5.26706 17.0863 5.26706 17.0863C5.26706 17.0863 5.77784 17.6175 6.08679 17.6175C6.15777 17.6175 6.21814 17.5895 6.25907 17.5203C6.47808 17.151 4.22479 15.4433 4.09773 14.7388C4.01159 14.2613 4.1581 14.0196 4.42915 14.0196Z" fill="#FF9D0B"/>
|
||||
<path d="M9.75883 20.2539C10.454 19.2344 10.4048 18.4692 9.4509 17.5159C8.49704 16.5628 7.9418 15.1684 7.9418 15.1684C7.9418 15.1684 7.73441 14.3585 7.26203 14.433C6.78964 14.5075 6.44281 15.7178 7.43228 16.4582C8.42176 17.1984 7.23525 17.7013 6.85456 17.0061C6.47388 16.3109 5.43438 14.5237 4.89531 14.1819C4.35649 13.8402 3.97707 14.0316 4.10414 14.7362C4.2312 15.4407 6.48474 17.1483 6.26547 17.5179C6.04621 17.8872 5.27347 17.0837 5.27347 17.0837C5.27347 17.0837 2.85548 14.8832 2.32903 15.4566C1.80258 16.03 2.72842 16.5105 4.0478 17.3093C5.36744 18.1078 5.46975 18.3187 5.28257 18.6208C5.09513 18.9229 2.18251 16.4673 1.90893 17.5083C1.63561 18.5493 4.88142 18.8514 4.6811 19.5701C4.48078 20.2891 2.3947 18.2098 1.96804 19.0199C1.54113 19.8303 4.91173 20.7824 4.93901 20.7895C6.02777 21.0719 8.79285 21.6703 9.75883 20.2539Z" fill="#FFD21E"/>
|
||||
<path d="M19.5568 13.0092C19.9658 13.0092 20.3313 13.1771 20.5862 13.4818C20.7439 13.6705 20.9086 13.9746 20.9219 14.4301C21.0935 14.3808 21.2584 14.3533 21.4125 14.3533C21.8041 14.3533 22.1577 14.5033 22.4078 14.7759C22.7291 15.1258 22.8718 15.5557 22.8097 15.9859C22.7802 16.1908 22.7117 16.3744 22.6094 16.5444C22.8251 16.719 22.984 16.962 23.0608 17.2543C23.1209 17.4834 23.1826 17.9606 22.8607 18.4522C22.8812 18.4842 22.9004 18.5176 22.9183 18.5517C23.1118 18.919 23.1242 19.334 22.9534 19.7205C22.6945 20.3063 22.0511 20.7678 20.8017 21.2632C20.0244 21.5714 19.3133 21.7684 19.307 21.7702C18.2794 22.0367 17.35 22.1721 16.5455 22.1721C15.0667 22.1721 14.008 21.7192 13.3987 20.8259C12.418 19.3876 12.5582 18.072 13.8271 16.8039C14.5294 16.1021 14.9962 15.0674 15.0935 14.8403C15.2895 14.1679 15.8078 13.4204 16.6695 13.4204C16.742 13.4204 16.8155 13.4262 16.8877 13.4376C17.2651 13.4969 17.5951 13.7142 17.8307 14.0411C18.0851 13.7248 18.3322 13.4732 18.5557 13.3312C18.8927 13.1175 19.2295 13.0092 19.5568 13.0092ZM19.5568 14.0196C19.428 14.0196 19.2706 14.0744 19.0971 14.1846C18.5583 14.5263 17.5185 16.3136 17.1378 17.0087C17.0103 17.2417 16.7923 17.3402 16.596 17.3402C16.2065 17.3402 15.9023 16.9529 16.5604 16.4608C17.5498 15.7204 17.2028 14.5102 16.7304 14.4356C16.7097 14.4324 16.6892 14.4308 16.6695 14.4308C16.2401 14.4308 16.0506 15.171 16.0506 15.171C16.0506 15.171 15.4954 16.5654 14.5415 17.5185C13.5876 18.4719 13.5384 19.237 14.2336 20.2566C14.7077 20.9517 15.6153 21.1617 16.5455 21.1617C17.5102 21.1617 18.4992 20.9358 19.0534 20.7921C19.0807 20.785 22.4513 19.8329 22.0243 19.0226C21.9526 18.8864 21.8344 18.8318 21.6856 18.8318C21.0844 18.8318 19.9908 19.7266 19.5207 19.7266C19.4156 19.7266 19.3416 19.6819 19.3113 19.5727C19.111 18.8541 22.357 18.5519 22.0835 17.5109C22.0352 17.3268 21.9043 17.252 21.7204 17.2523C20.926 17.2523 19.1436 18.6495 18.77 18.6495C18.7414 18.6495 18.7209 18.6411 18.7098 18.6234C18.5226 18.3213 18.6252 18.1104 19.9446 17.3119C21.264 16.5131 22.1901 16.0327 21.6634 15.4592C21.6027 15.393 21.5168 15.3637 21.4125 15.3637C20.6115 15.364 18.7189 17.0863 18.7189 17.0863C18.7189 17.0863 18.2081 17.6175 17.8992 17.6175C17.8282 17.6175 17.7678 17.5895 17.7269 17.5203C17.5079 17.151 19.7612 15.4433 19.8883 14.7388C19.9744 14.2613 19.8279 14.0196 19.5568 14.0196Z" fill="#FF9D0B"/>
|
||||
<path d="M14.2354 20.2539C13.5402 19.2344 13.5895 18.4692 14.5433 17.5159C15.4972 16.5628 16.0524 15.1684 16.0524 15.1684C16.0524 15.1684 16.2598 14.3585 16.7322 14.433C17.2046 14.5075 17.5514 15.7178 16.5619 16.4582C15.5724 17.1984 16.759 17.7013 17.1396 17.0061C17.5203 16.3109 18.5598 14.5237 19.0989 14.1819C19.6377 13.8402 20.0171 14.0316 19.8901 14.7362C19.763 15.4407 17.5095 17.1483 17.7287 17.5179C17.948 17.8872 18.7207 17.0837 18.7207 17.0837C18.7207 17.0837 21.1387 14.8832 21.6652 15.4566C22.1916 16.03 21.2658 16.5105 19.9464 17.3093C18.6268 18.1078 18.5245 18.3187 18.7116 18.6208C18.8991 18.9229 21.8117 16.4673 22.0853 17.5083C22.3586 18.5493 19.1128 18.8514 19.3131 19.5701C19.5134 20.2891 21.5995 18.2098 22.0262 19.0199C22.4531 19.8303 19.0825 20.7824 19.0552 20.7895C17.9664 21.0719 15.2014 21.6703 14.2354 20.2539Z" fill="#FFD21E"/>
|
||||
</g>
|
||||
<path d="M33.1528 17V7.22003H35.3578V10.985H38.7328V7.22003H40.9528V17H38.7328V12.92H35.3578V17H33.1528Z" fill="#1D2939"/>
|
||||
<path d="M45.3153 17.18C44.5053 17.18 43.9153 16.915 43.5453 16.385C43.1853 15.845 43.0053 15.11 43.0053 14.18V9.56003H45.2103V13.895C45.2103 14.425 45.2853 14.795 45.4353 15.005C45.5853 15.205 45.8203 15.305 46.1403 15.305C46.4203 15.305 46.6553 15.24 46.8453 15.11C47.0353 14.98 47.2403 14.77 47.4603 14.48V9.56003H49.6653V17H47.8653L47.7003 15.965H47.6553C47.3453 16.335 47.0053 16.63 46.6353 16.85C46.2653 17.07 45.8253 17.18 45.3153 17.18Z" fill="#1D2939"/>
|
||||
<path d="M54.2606 20.165C53.6806 20.165 53.1556 20.1 52.6856 19.97C52.2156 19.84 51.8406 19.635 51.5606 19.355C51.2806 19.075 51.1406 18.715 51.1406 18.275C51.1406 17.675 51.4956 17.175 52.2056 16.775V16.715C52.0156 16.585 51.8506 16.42 51.7106 16.22C51.5806 16.02 51.5156 15.765 51.5156 15.455C51.5156 15.185 51.5956 14.925 51.7556 14.675C51.9156 14.425 52.1156 14.22 52.3556 14.06V14C52.0956 13.82 51.8606 13.56 51.6506 13.22C51.4506 12.88 51.3506 12.495 51.3506 12.065C51.3506 11.465 51.4956 10.97 51.7856 10.58C52.0756 10.18 52.4556 9.88003 52.9256 9.68003C53.3956 9.48003 53.8956 9.38003 54.4256 9.38003C54.8656 9.38003 55.2506 9.44003 55.5806 9.56003H58.2956V11.165H57.1106C57.1806 11.275 57.2356 11.415 57.2756 11.585C57.3256 11.755 57.3506 11.94 57.3506 12.14C57.3506 12.71 57.2206 13.18 56.9606 13.55C56.7006 13.92 56.3506 14.195 55.9106 14.375C55.4706 14.555 54.9756 14.645 54.4256 14.645C54.1356 14.645 53.8356 14.595 53.5256 14.495C53.3456 14.645 53.2556 14.83 53.2556 15.05C53.2556 15.24 53.3406 15.38 53.5106 15.47C53.6806 15.56 53.9706 15.605 54.3806 15.605H55.5806C56.5006 15.605 57.2006 15.755 57.6806 16.055C58.1706 16.345 58.4156 16.825 58.4156 17.495C58.4156 18.005 58.2456 18.46 57.9056 18.86C57.5656 19.27 57.0856 19.59 56.4656 19.82C55.8456 20.05 55.1106 20.165 54.2606 20.165ZM54.4256 13.31C54.7156 13.31 54.9556 13.205 55.1456 12.995C55.3456 12.785 55.4456 12.475 55.4456 12.065C55.4456 11.675 55.3456 11.38 55.1456 11.18C54.9556 10.97 54.7156 10.865 54.4256 10.865C54.1356 10.865 53.8906 10.965 53.6906 11.165C53.5006 11.365 53.4056 11.665 53.4056 12.065C53.4056 12.475 53.5006 12.785 53.6906 12.995C53.8906 13.205 54.1356 13.31 54.4256 13.31ZM54.6056 18.785C55.1056 18.785 55.5156 18.695 55.8356 18.515C56.1556 18.335 56.3156 18.12 56.3156 17.87C56.3156 17.64 56.2156 17.485 56.0156 17.405C55.8256 17.325 55.5456 17.285 55.1756 17.285H54.4106C54.1606 17.285 53.9506 17.275 53.7806 17.255C53.6206 17.245 53.4806 17.225 53.3606 17.195C53.0906 17.435 52.9556 17.68 52.9556 17.93C52.9556 18.21 53.1056 18.42 53.4056 18.56C53.7156 18.71 54.1156 18.785 54.6056 18.785Z" fill="#1D2939"/>
|
||||
<path d="M62.2733 20.165C61.6933 20.165 61.1683 20.1 60.6983 19.97C60.2283 19.84 59.8533 19.635 59.5733 19.355C59.2933 19.075 59.1533 18.715 59.1533 18.275C59.1533 17.675 59.5083 17.175 60.2183 16.775V16.715C60.0283 16.585 59.8633 16.42 59.7233 16.22C59.5933 16.02 59.5283 15.765 59.5283 15.455C59.5283 15.185 59.6083 14.925 59.7683 14.675C59.9283 14.425 60.1283 14.22 60.3683 14.06V14C60.1083 13.82 59.8733 13.56 59.6633 13.22C59.4633 12.88 59.3633 12.495 59.3633 12.065C59.3633 11.465 59.5083 10.97 59.7983 10.58C60.0883 10.18 60.4683 9.88003 60.9383 9.68003C61.4083 9.48003 61.9083 9.38003 62.4383 9.38003C62.8783 9.38003 63.2633 9.44003 63.5933 9.56003H66.3083V11.165H65.1233C65.1933 11.275 65.2483 11.415 65.2883 11.585C65.3383 11.755 65.3633 11.94 65.3633 12.14C65.3633 12.71 65.2333 13.18 64.9733 13.55C64.7133 13.92 64.3633 14.195 63.9233 14.375C63.4833 14.555 62.9883 14.645 62.4383 14.645C62.1483 14.645 61.8483 14.595 61.5383 14.495C61.3583 14.645 61.2683 14.83 61.2683 15.05C61.2683 15.24 61.3533 15.38 61.5233 15.47C61.6933 15.56 61.9833 15.605 62.3933 15.605H63.5933C64.5133 15.605 65.2133 15.755 65.6933 16.055C66.1833 16.345 66.4283 16.825 66.4283 17.495C66.4283 18.005 66.2583 18.46 65.9183 18.86C65.5783 19.27 65.0983 19.59 64.4783 19.82C63.8583 20.05 63.1233 20.165 62.2733 20.165ZM62.4383 13.31C62.7283 13.31 62.9683 13.205 63.1583 12.995C63.3583 12.785 63.4583 12.475 63.4583 12.065C63.4583 11.675 63.3583 11.38 63.1583 11.18C62.9683 10.97 62.7283 10.865 62.4383 10.865C62.1483 10.865 61.9033 10.965 61.7033 11.165C61.5133 11.365 61.4183 11.665 61.4183 12.065C61.4183 12.475 61.5133 12.785 61.7033 12.995C61.9033 13.205 62.1483 13.31 62.4383 13.31ZM62.6183 18.785C63.1183 18.785 63.5283 18.695 63.8483 18.515C64.1683 18.335 64.3283 18.12 64.3283 17.87C64.3283 17.64 64.2283 17.485 64.0283 17.405C63.8383 17.325 63.5583 17.285 63.1883 17.285H62.4233C62.1733 17.285 61.9633 17.275 61.7933 17.255C61.6333 17.245 61.4933 17.225 61.3733 17.195C61.1033 17.435 60.9683 17.68 60.9683 17.93C60.9683 18.21 61.1183 18.42 61.4183 18.56C61.7283 18.71 62.1283 18.785 62.6183 18.785Z" fill="#1D2939"/>
|
||||
<path d="M67.631 17V9.56003H69.836V17H67.631ZM68.726 8.46503C68.356 8.46503 68.056 8.36003 67.826 8.15003C67.596 7.94003 67.481 7.66003 67.481 7.31003C67.481 6.96003 67.596 6.68003 67.826 6.47003C68.056 6.26003 68.356 6.15503 68.726 6.15503C69.096 6.15503 69.396 6.26003 69.626 6.47003C69.856 6.68003 69.971 6.96003 69.971 7.31003C69.971 7.66003 69.856 7.94003 69.626 8.15003C69.396 8.36003 69.096 8.46503 68.726 8.46503Z" fill="#1D2939"/>
|
||||
<path d="M71.7765 17V9.56003H73.5765L73.7265 10.505H73.7865C74.1065 10.205 74.4565 9.94503 74.8365 9.72503C75.2265 9.49503 75.6715 9.38003 76.1715 9.38003C76.9815 9.38003 77.5665 9.65003 77.9265 10.19C78.2965 10.72 78.4815 11.45 78.4815 12.38V17H76.2765V12.665C76.2765 12.125 76.2015 11.755 76.0515 11.555C75.9115 11.355 75.6815 11.255 75.3615 11.255C75.0815 11.255 74.8415 11.32 74.6415 11.45C74.4415 11.57 74.2215 11.745 73.9815 11.975V17H71.7765Z" fill="#1D2939"/>
|
||||
<path d="M83.0155 20.165C82.4355 20.165 81.9105 20.1 81.4405 19.97C80.9705 19.84 80.5955 19.635 80.3155 19.355C80.0355 19.075 79.8955 18.715 79.8955 18.275C79.8955 17.675 80.2505 17.175 80.9605 16.775V16.715C80.7705 16.585 80.6055 16.42 80.4655 16.22C80.3355 16.02 80.2705 15.765 80.2705 15.455C80.2705 15.185 80.3505 14.925 80.5105 14.675C80.6705 14.425 80.8705 14.22 81.1105 14.06V14C80.8505 13.82 80.6155 13.56 80.4055 13.22C80.2055 12.88 80.1055 12.495 80.1055 12.065C80.1055 11.465 80.2505 10.97 80.5405 10.58C80.8305 10.18 81.2105 9.88003 81.6805 9.68003C82.1505 9.48003 82.6505 9.38003 83.1805 9.38003C83.6205 9.38003 84.0055 9.44003 84.3355 9.56003H87.0505V11.165H85.8655C85.9355 11.275 85.9905 11.415 86.0305 11.585C86.0805 11.755 86.1055 11.94 86.1055 12.14C86.1055 12.71 85.9755 13.18 85.7155 13.55C85.4555 13.92 85.1055 14.195 84.6655 14.375C84.2255 14.555 83.7305 14.645 83.1805 14.645C82.8905 14.645 82.5905 14.595 82.2805 14.495C82.1005 14.645 82.0105 14.83 82.0105 15.05C82.0105 15.24 82.0955 15.38 82.2655 15.47C82.4355 15.56 82.7255 15.605 83.1355 15.605H84.3355C85.2555 15.605 85.9555 15.755 86.4355 16.055C86.9255 16.345 87.1705 16.825 87.1705 17.495C87.1705 18.005 87.0005 18.46 86.6605 18.86C86.3205 19.27 85.8405 19.59 85.2205 19.82C84.6005 20.05 83.8655 20.165 83.0155 20.165ZM83.1805 13.31C83.4705 13.31 83.7105 13.205 83.9005 12.995C84.1005 12.785 84.2005 12.475 84.2005 12.065C84.2005 11.675 84.1005 11.38 83.9005 11.18C83.7105 10.97 83.4705 10.865 83.1805 10.865C82.8905 10.865 82.6455 10.965 82.4455 11.165C82.2555 11.365 82.1605 11.665 82.1605 12.065C82.1605 12.475 82.2555 12.785 82.4455 12.995C82.6455 13.205 82.8905 13.31 83.1805 13.31ZM83.3605 18.785C83.8605 18.785 84.2705 18.695 84.5905 18.515C84.9105 18.335 85.0705 18.12 85.0705 17.87C85.0705 17.64 84.9705 17.485 84.7705 17.405C84.5805 17.325 84.3005 17.285 83.9305 17.285H83.1655C82.9155 17.285 82.7055 17.275 82.5355 17.255C82.3755 17.245 82.2355 17.225 82.1155 17.195C81.8455 17.435 81.7105 17.68 81.7105 17.93C81.7105 18.21 81.8605 18.42 82.1605 18.56C82.4705 18.71 82.8705 18.785 83.3605 18.785Z" fill="#1D2939"/>
|
||||
<path d="M91.5562 17V7.22003H97.7212V9.08003H93.7612V11.345H97.1512V13.205H93.7612V17H91.5562Z" fill="#1D2939"/>
|
||||
<path d="M100.546 17.18C99.8661 17.18 99.3261 16.965 98.9261 16.535C98.5261 16.095 98.3261 15.56 98.3261 14.93C98.3261 14.15 98.6561 13.54 99.3161 13.1C99.9761 12.66 101.041 12.365 102.511 12.215C102.491 11.885 102.391 11.625 102.211 11.435C102.041 11.235 101.751 11.135 101.341 11.135C101.031 11.135 100.716 11.195 100.396 11.315C100.076 11.435 99.7361 11.6 99.3761 11.81L98.5811 10.355C99.0511 10.065 99.5511 9.83003 100.081 9.65003C100.621 9.47003 101.181 9.38003 101.761 9.38003C102.711 9.38003 103.441 9.65503 103.951 10.205C104.461 10.755 104.716 11.6 104.716 12.74V17H102.916L102.766 16.235H102.706C102.396 16.515 102.061 16.745 101.701 16.925C101.351 17.095 100.966 17.18 100.546 17.18ZM101.296 15.47C101.546 15.47 101.761 15.415 101.941 15.305C102.131 15.185 102.321 15.03 102.511 14.84V13.535C101.731 13.635 101.191 13.795 100.891 14.015C100.591 14.225 100.441 14.475 100.441 14.765C100.441 15.005 100.516 15.185 100.666 15.305C100.826 15.415 101.036 15.47 101.296 15.47Z" fill="#1D2939"/>
|
||||
<path d="M109.821 17.18C109.131 17.18 108.506 17.03 107.946 16.73C107.396 16.42 106.956 15.975 106.626 15.395C106.306 14.805 106.146 14.1 106.146 13.28C106.146 12.45 106.326 11.745 106.686 11.165C107.046 10.585 107.521 10.145 108.111 9.84503C108.701 9.53503 109.336 9.38003 110.016 9.38003C110.476 9.38003 110.881 9.45503 111.231 9.60503C111.591 9.75503 111.911 9.94503 112.191 10.175L111.156 11.6C110.806 11.31 110.471 11.165 110.151 11.165C109.621 11.165 109.196 11.355 108.876 11.735C108.566 12.115 108.411 12.63 108.411 13.28C108.411 13.92 108.566 14.435 108.876 14.825C109.196 15.205 109.596 15.395 110.076 15.395C110.316 15.395 110.551 15.345 110.781 15.245C111.011 15.135 111.221 15.005 111.411 14.855L112.281 16.295C111.911 16.615 111.511 16.845 111.081 16.985C110.651 17.115 110.231 17.18 109.821 17.18Z" fill="#1D2939"/>
|
||||
<path d="M116.488 17.18C115.778 17.18 115.138 17.025 114.568 16.715C113.998 16.405 113.548 15.96 113.218 15.38C112.888 14.8 112.723 14.1 112.723 13.28C112.723 12.47 112.888 11.775 113.218 11.195C113.558 10.615 113.998 10.17 114.538 9.86003C115.078 9.54003 115.643 9.38003 116.233 9.38003C116.943 9.38003 117.528 9.54003 117.988 9.86003C118.458 10.17 118.808 10.595 119.038 11.135C119.278 11.665 119.398 12.27 119.398 12.95C119.398 13.14 119.388 13.33 119.368 13.52C119.348 13.7 119.328 13.835 119.308 13.925H114.853C114.953 14.465 115.178 14.865 115.528 15.125C115.878 15.375 116.298 15.5 116.788 15.5C117.318 15.5 117.853 15.335 118.393 15.005L119.128 16.34C118.748 16.6 118.323 16.805 117.853 16.955C117.383 17.105 116.928 17.18 116.488 17.18ZM114.838 12.47H117.523C117.523 12.06 117.423 11.725 117.223 11.465C117.033 11.195 116.718 11.06 116.278 11.06C115.938 11.06 115.633 11.18 115.363 11.42C115.093 11.65 114.918 12 114.838 12.47Z" fill="#1D2939"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_8587_60377">
|
||||
<rect width="119.998" height="24" rx="6" fill="white"/>
|
||||
</clipPath>
|
||||
<clipPath id="clip1_8587_60377">
|
||||
<rect width="23.998" height="22.2298" fill="white" transform="translate(0 0.885132)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,103 @@
|
||||
provider: huggingface_hub
|
||||
label:
|
||||
en_US: Hugging Face Model
|
||||
icon_small:
|
||||
en_US: icon_s_en.svg
|
||||
icon_large:
|
||||
en_US: icon_l_en.svg
|
||||
background: "#FFF8DC"
|
||||
help:
|
||||
title:
|
||||
en_US: Get your API key from Hugging Face Hub
|
||||
zh_Hans: 从 Hugging Face Hub 获取 API Key
|
||||
url:
|
||||
en_US: https://huggingface.co/settings/tokens
|
||||
supported_model_types:
|
||||
- llm
|
||||
- text-embedding
|
||||
configurate_methods:
|
||||
- customizable-model
|
||||
model_credential_schema:
|
||||
model:
|
||||
label:
|
||||
en_US: Model Name
|
||||
zh_Hans: 模型名称
|
||||
credential_form_schemas:
|
||||
- variable: huggingfacehub_api_type
|
||||
label:
|
||||
en_US: Endpoint Type
|
||||
zh_Hans: 端点类型
|
||||
type: radio
|
||||
required: true
|
||||
default: hosted_inference_api
|
||||
options:
|
||||
- value: hosted_inference_api
|
||||
label:
|
||||
en_US: Hosted Inference API
|
||||
- value: inference_endpoints
|
||||
label:
|
||||
en_US: Inference Endpoints
|
||||
- variable: huggingfacehub_api_token
|
||||
label:
|
||||
en_US: API Token
|
||||
zh_Hans: API Token
|
||||
type: secret-input
|
||||
required: true
|
||||
placeholder:
|
||||
en_US: Enter your Hugging Face Hub API Token here
|
||||
zh_Hans: 在此输入您的 Hugging Face Hub API Token
|
||||
- variable: huggingface_namespace
|
||||
label:
|
||||
en_US: 'User Name / Organization Name'
|
||||
zh_Hans: '用户名 / 组织名称'
|
||||
type: text-input
|
||||
required: true
|
||||
placeholder:
|
||||
en_US: 'Enter your User Name / Organization Name here'
|
||||
zh_Hans: '在此输入您的用户名 / 组织名称'
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: text-embedding
|
||||
- variable: huggingfacehub_api_type
|
||||
value: inference_endpoints
|
||||
- variable: huggingfacehub_endpoint_url
|
||||
label:
|
||||
en_US: Endpoint URL
|
||||
zh_Hans: 端点 URL
|
||||
type: text-input
|
||||
required: true
|
||||
placeholder:
|
||||
en_US: Enter your Endpoint URL here
|
||||
zh_Hans: 在此输入您的端点 URL
|
||||
show_on:
|
||||
- variable: huggingfacehub_api_type
|
||||
value: inference_endpoints
|
||||
- variable: task_type
|
||||
label:
|
||||
en_US: Task
|
||||
zh_Hans: Task
|
||||
type: select
|
||||
options:
|
||||
- value: text2text-generation
|
||||
label:
|
||||
en_US: Text-to-Text Generation
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- value: text-generation
|
||||
label:
|
||||
en_US: Text Generation
|
||||
zh_Hans: 文本生成
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- value: feature-extraction
|
||||
label:
|
||||
en_US: Feature Extraction
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: text-embedding
|
||||
show_on:
|
||||
- variable: huggingfacehub_api_type
|
||||
value: inference_endpoints
|
||||
address: https://api-inference.huggingface.co
|
||||
@@ -0,0 +1,11 @@
|
||||
<svg width="80" height="22" viewBox="0 0 80 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Group">
|
||||
<path id="Vector" d="M25.1152 10.5768C25.1152 14.1739 27.4253 16.6819 30.6264 16.6819C33.8274 16.6819 36.1375 14.1739 36.1375 10.5768C36.1375 6.97973 33.8274 4.47168 30.6264 4.47168C27.4253 4.47168 25.1152 6.97973 25.1152 10.5768ZM34.0254 10.5768C34.0254 13.1509 32.6229 14.8174 30.6264 14.8174C28.6298 14.8174 27.2273 13.1509 27.2273 10.5768C27.2273 8.00275 28.6298 6.33622 30.6264 6.33622C32.6229 6.33622 34.0254 8.00275 34.0254 10.5768Z" fill="black"/>
|
||||
<path id="Vector_2" d="M42.0868 16.682C44.5124 16.682 45.8984 14.636 45.8984 12.1774C45.8984 9.71889 44.5124 7.67285 42.0868 7.67285C40.9648 7.67285 40.1398 8.11836 39.5953 8.76188V7.83786H37.6152V19.4706H39.5953V15.593C40.1398 16.2365 40.9648 16.682 42.0868 16.682ZM39.5458 11.9299C39.5458 10.2964 40.4698 9.40539 41.6908 9.40539C43.1264 9.40539 43.9019 10.5274 43.9019 12.1774C43.9019 13.8275 43.1264 14.9495 41.6908 14.9495C40.4698 14.9495 39.5458 14.042 39.5458 12.4415V11.9299Z" fill="black"/>
|
||||
<path id="Vector_3" d="M51.2545 16.682C52.987 16.682 54.3565 15.7745 54.967 14.2565L53.2675 13.613C53.0035 14.504 52.228 14.999 51.2545 14.999C49.9839 14.999 49.0929 14.0915 48.9444 12.6065H55.0165V11.9464C55.0165 9.57039 53.68 7.67285 51.172 7.67285C48.6639 7.67285 47.0469 9.63639 47.0469 12.1774C47.0469 14.8505 48.7794 16.682 51.2545 16.682ZM51.1555 9.33939C52.4095 9.33939 53.0035 10.1644 53.02 11.1214H49.0434C49.3404 9.9499 50.1324 9.33939 51.1555 9.33939Z" fill="black"/>
|
||||
<path id="Vector_4" d="M56.5038 16.5005H58.4838V11.4184C58.4838 10.1809 59.3913 9.52089 60.2824 9.52089C61.3714 9.52089 61.8004 10.2964 61.8004 11.3689V16.5005H63.7804V10.7914C63.7804 8.92688 62.6914 7.67285 60.8764 7.67285C59.7544 7.67285 58.9788 8.18436 58.4838 8.76188V7.83786H56.5038V16.5005Z" fill="black"/>
|
||||
<path id="Vector_5" d="M69.5799 4.65332L65.0918 16.5006H67.1873L68.1939 13.7945H73.309L74.332 16.5006H76.4605L71.9724 4.65332H69.5799ZM70.7349 6.99637L72.616 11.9465H68.8869L70.7349 6.99637Z" fill="black"/>
|
||||
<path id="Vector_6" d="M79.8581 4.6875H77.7461V16.5348H79.8581V4.6875Z" fill="black"/>
|
||||
<path id="Vector_7" d="M20.2769 9.00448C20.776 7.50639 20.6041 5.86529 19.8059 4.50264C18.6055 2.41259 16.1924 1.33732 13.8356 1.84333C12.7871 0.662179 11.2808 -0.00952316 9.70154 0.000102043C7.29248 -0.00539807 5.155 1.54563 4.41386 3.83781C2.86626 4.15475 1.53042 5.12346 0.748717 6.49643C-0.460621 8.58097 -0.184928 11.2087 1.43073 12.9962C0.931596 14.4943 1.10348 16.1354 1.90168 17.498C3.10208 19.5881 5.51526 20.6634 7.87206 20.1573C8.91983 21.3385 10.4269 22.0102 12.0061 21.9999C14.4165 22.0061 16.5547 20.4537 17.2958 18.1594C18.8434 17.8425 20.1793 16.8738 20.961 15.5008C22.1689 13.4163 21.8925 10.7906 20.2776 9.00311L20.2769 9.00448ZM12.0075 20.5623C11.0429 20.5637 10.1085 20.2261 9.36809 19.608C9.40178 19.5901 9.46022 19.5578 9.49803 19.5345L13.8789 17.0044C14.103 16.8772 14.2405 16.6386 14.2391 16.3808V10.2049L16.0906 11.274C16.1105 11.2836 16.1236 11.3028 16.1264 11.3248V16.4393C16.1236 18.7136 14.2818 20.5575 12.0075 20.5623ZM3.14952 16.7789C2.6662 15.9443 2.49225 14.9659 2.65795 14.0165C2.69026 14.0357 2.74732 14.0708 2.78789 14.0942L7.16873 16.6242C7.3908 16.7541 7.6658 16.7541 7.88856 16.6242L13.2367 13.5359V15.6741C13.2381 15.6961 13.2278 15.7174 13.2106 15.7311L8.78233 18.288C6.80985 19.4238 4.29079 18.7486 3.15021 16.7789H3.14952ZM1.99656 7.21626C2.47782 6.38024 3.23752 5.74085 4.14229 5.40878C4.14229 5.44659 4.14023 5.51328 4.14023 5.56003V10.6208C4.13885 10.878 4.27636 11.1165 4.4998 11.2437L9.84798 14.3313L7.9965 15.4004C7.97794 15.4128 7.95456 15.4149 7.93393 15.4059L3.50496 12.847C1.53661 11.7071 0.86147 9.18874 1.99587 7.21694L1.99656 7.21626ZM17.2085 10.7563L11.8603 7.66795L13.7118 6.59956C13.7304 6.58718 13.7537 6.58512 13.7744 6.59406L18.2033 9.15092C20.1751 10.2901 20.851 12.8126 19.7118 14.7844C19.2298 15.6191 18.4708 16.2584 17.5667 16.5912V11.3792C17.5688 11.122 17.432 10.8841 17.2092 10.7563H17.2085ZM19.0511 7.98284C19.0187 7.9629 18.9617 7.92852 18.9211 7.90515L14.5403 5.37509C14.3182 5.24515 14.0432 5.24515 13.8204 5.37509L8.47226 8.46341V6.32524C8.47088 6.30324 8.4812 6.28192 8.49838 6.26817L12.9267 3.71337C14.8991 2.57553 17.4209 3.25273 18.5581 5.2259C19.0387 6.05917 19.2126 7.03475 19.0497 7.98284H19.0511ZM7.46574 11.7937L5.61357 10.7246C5.59363 10.715 5.58057 10.6958 5.57782 10.6738V5.55935C5.5792 3.2823 7.42655 1.43701 9.7036 1.43838C10.6668 1.43838 11.5991 1.77664 12.3395 2.39265C12.3058 2.41053 12.2481 2.44284 12.2096 2.46622L7.82874 4.99627C7.60461 5.12346 7.46711 5.36134 7.46849 5.61916L7.46574 11.7924V11.7937ZM8.47157 9.62531L10.8538 8.24959L13.236 9.62462V12.3754L10.8538 13.7504L8.47157 12.3754V9.62531Z" fill="black"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,99 @@
|
||||
provider: lm_studio
|
||||
label:
|
||||
en_US: LM Studio
|
||||
icon_large:
|
||||
en_US: icon_l_en.svg
|
||||
icon_small:
|
||||
en_US: icon_s_en.svg
|
||||
background: "#F9FAFB"
|
||||
help:
|
||||
title:
|
||||
en_US: How to integrate with LM Studio
|
||||
zh_Hans: 如何集成 LM Studio
|
||||
url:
|
||||
en_US: https://lmstudio.ai/docs/app
|
||||
supported_model_types:
|
||||
- llm
|
||||
- text-embedding
|
||||
configurate_methods:
|
||||
- customizable-model
|
||||
model_credential_schema:
|
||||
model:
|
||||
label:
|
||||
en_US: Model Name
|
||||
zh_Hans: 模型名称
|
||||
placeholder:
|
||||
en_US: Enter your model name
|
||||
zh_Hans: 输入模型名称
|
||||
credential_form_schemas:
|
||||
- variable: base_url
|
||||
label:
|
||||
zh_Hans: 基础 URL
|
||||
en_US: Base URL
|
||||
type: text-input
|
||||
required: true
|
||||
placeholder:
|
||||
zh_Hans: LM Studio server 的基础 URL,例如 http://localhost:1234
|
||||
en_US: Base url of LM Studio server, e.g. http://localhost:1234
|
||||
- variable: mode
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
label:
|
||||
zh_Hans: 模型类型
|
||||
en_US: Completion mode
|
||||
type: select
|
||||
required: true
|
||||
default: chat
|
||||
placeholder:
|
||||
zh_Hans: 选择对话类型
|
||||
en_US: Select completion mode
|
||||
options:
|
||||
- value: completion
|
||||
label:
|
||||
en_US: Completion
|
||||
zh_Hans: 补全
|
||||
- value: chat
|
||||
label:
|
||||
en_US: Chat
|
||||
zh_Hans: 对话
|
||||
- variable: context_size
|
||||
label:
|
||||
zh_Hans: 模型上下文长度
|
||||
en_US: Model context size
|
||||
required: true
|
||||
type: text-input
|
||||
default: '4096'
|
||||
placeholder:
|
||||
zh_Hans: 在此输入您的模型上下文长度
|
||||
en_US: Enter your Model context size
|
||||
- variable: max_tokens
|
||||
label:
|
||||
zh_Hans: 最大 token 上限
|
||||
en_US: Upper bound for max tokens
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
default: '4096'
|
||||
type: text-input
|
||||
required: true
|
||||
- variable: function_call_support
|
||||
label:
|
||||
zh_Hans: 是否支持函数调用
|
||||
en_US: Function call support
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
default: 'false'
|
||||
type: radio
|
||||
required: false
|
||||
options:
|
||||
- value: 'true'
|
||||
label:
|
||||
en_US: 'Yes'
|
||||
zh_Hans: 是
|
||||
- value: 'false'
|
||||
label:
|
||||
en_US: 'No'
|
||||
zh_Hans: 否
|
||||
address: https://lmstudio.ai
|
||||
@@ -0,0 +1 @@
|
||||
<svg fill="currentColor" fill-rule="evenodd" height="56" viewBox="0 0 24 24" width="56" xmlns="http://www.w3.org/2000/svg" style="flex: 0 0 auto; line-height: 1;"><title>LM Studio</title><path d="M2.84 2a1.273 1.273 0 100 2.547h14.107a1.273 1.273 0 100-2.547H2.84zM7.935 5.33a1.273 1.273 0 000 2.548H22.04a1.274 1.274 0 000-2.547H7.935zM3.624 9.935c0-.704.57-1.274 1.274-1.274h14.106a1.274 1.274 0 010 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM1.273 12.188a1.273 1.273 0 100 2.547H15.38a1.274 1.274 0 000-2.547H1.273zM3.624 16.792c0-.704.57-1.274 1.274-1.274h14.106a1.273 1.273 0 110 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM13.029 18.849a1.273 1.273 0 100 2.547h9.698a1.273 1.273 0 100-2.547h-9.698z" fill-opacity=".3"></path><path d="M2.84 2a1.273 1.273 0 100 2.547h10.287a1.274 1.274 0 000-2.547H2.84zM7.935 5.33a1.273 1.273 0 000 2.548H18.22a1.274 1.274 0 000-2.547H7.935zM3.624 9.935c0-.704.57-1.274 1.274-1.274h10.286a1.273 1.273 0 010 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM1.273 12.188a1.273 1.273 0 100 2.547H11.56a1.274 1.274 0 000-2.547H1.273zM3.624 16.792c0-.704.57-1.274 1.274-1.274h10.286a1.273 1.273 0 110 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM13.029 18.849a1.273 1.273 0 100 2.547h5.78a1.273 1.273 0 100-2.547h-5.78z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="currentColor" fill-rule="evenodd" height="56" viewBox="0 0 24 24" width="56" xmlns="http://www.w3.org/2000/svg" style="flex: 0 0 auto; line-height: 1;"><title>LM Studio</title><path d="M2.84 2a1.273 1.273 0 100 2.547h14.107a1.273 1.273 0 100-2.547H2.84zM7.935 5.33a1.273 1.273 0 000 2.548H22.04a1.274 1.274 0 000-2.547H7.935zM3.624 9.935c0-.704.57-1.274 1.274-1.274h14.106a1.274 1.274 0 010 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM1.273 12.188a1.273 1.273 0 100 2.547H15.38a1.274 1.274 0 000-2.547H1.273zM3.624 16.792c0-.704.57-1.274 1.274-1.274h14.106a1.273 1.273 0 110 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM13.029 18.849a1.273 1.273 0 100 2.547h9.698a1.273 1.273 0 100-2.547h-9.698z" fill-opacity=".3"></path><path d="M2.84 2a1.273 1.273 0 100 2.547h10.287a1.274 1.274 0 000-2.547H2.84zM7.935 5.33a1.273 1.273 0 000 2.548H18.22a1.274 1.274 0 000-2.547H7.935zM3.624 9.935c0-.704.57-1.274 1.274-1.274h10.286a1.273 1.273 0 010 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM1.273 12.188a1.273 1.273 0 100 2.547H11.56a1.274 1.274 0 000-2.547H1.273zM3.624 16.792c0-.704.57-1.274 1.274-1.274h10.286a1.273 1.273 0 110 2.547H4.898c-.703 0-1.274-.57-1.274-1.273zM13.029 18.849a1.273 1.273 0 100 2.547h5.78a1.273 1.273 0 100-2.547h-5.78z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,118 @@
|
||||
provider: ollama
|
||||
label:
|
||||
en_US: Ollama
|
||||
icon_large:
|
||||
en_US: icon_l_en.svg
|
||||
icon_small:
|
||||
en_US: icon_s_en.svg
|
||||
background: "#F9FAFB"
|
||||
help:
|
||||
title:
|
||||
en_US: How to integrate with Ollama
|
||||
zh_Hans: 如何集成 Ollama
|
||||
url:
|
||||
en_US: https://docs.dify.ai/tutorials/model-configuration/ollama
|
||||
supported_model_types:
|
||||
- llm
|
||||
- text-embedding
|
||||
configurate_methods:
|
||||
- customizable-model
|
||||
model_credential_schema:
|
||||
model:
|
||||
label:
|
||||
en_US: Model Name
|
||||
zh_Hans: 模型名称
|
||||
placeholder:
|
||||
en_US: Enter your model name
|
||||
zh_Hans: 输入模型名称
|
||||
credential_form_schemas:
|
||||
- variable: base_url
|
||||
label:
|
||||
zh_Hans: 基础 URL
|
||||
en_US: Base URL
|
||||
type: text-input
|
||||
required: true
|
||||
placeholder:
|
||||
zh_Hans: Ollama server 的基础 URL,例如 http://192.168.1.100:11434
|
||||
en_US: Base url of Ollama server, e.g. http://192.168.1.100:11434
|
||||
- variable: mode
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
label:
|
||||
zh_Hans: 模型类型
|
||||
en_US: Completion mode
|
||||
type: select
|
||||
required: true
|
||||
default: chat
|
||||
placeholder:
|
||||
zh_Hans: 选择对话类型
|
||||
en_US: Select completion mode
|
||||
options:
|
||||
- value: completion
|
||||
label:
|
||||
en_US: Completion
|
||||
zh_Hans: 补全
|
||||
- value: chat
|
||||
label:
|
||||
en_US: Chat
|
||||
zh_Hans: 对话
|
||||
- variable: context_size
|
||||
label:
|
||||
zh_Hans: 模型上下文长度
|
||||
en_US: Model context size
|
||||
required: true
|
||||
type: text-input
|
||||
default: '4096'
|
||||
placeholder:
|
||||
zh_Hans: 在此输入您的模型上下文长度
|
||||
en_US: Enter your Model context size
|
||||
- variable: max_tokens
|
||||
label:
|
||||
zh_Hans: 最大 token 上限
|
||||
en_US: Upper bound for max tokens
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
default: '4096'
|
||||
type: text-input
|
||||
required: true
|
||||
- variable: vision_support
|
||||
label:
|
||||
zh_Hans: 是否支持 Vision
|
||||
en_US: Vision support
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
default: 'false'
|
||||
type: radio
|
||||
required: false
|
||||
options:
|
||||
- value: 'true'
|
||||
label:
|
||||
en_US: 'Yes'
|
||||
zh_Hans: 是
|
||||
- value: 'false'
|
||||
label:
|
||||
en_US: 'No'
|
||||
zh_Hans: 否
|
||||
- variable: function_call_support
|
||||
label:
|
||||
zh_Hans: 是否支持函数调用
|
||||
en_US: Function call support
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
default: 'false'
|
||||
type: radio
|
||||
required: false
|
||||
options:
|
||||
- value: 'true'
|
||||
label:
|
||||
en_US: 'Yes'
|
||||
zh_Hans: 是
|
||||
- value: 'false'
|
||||
label:
|
||||
en_US: 'No'
|
||||
zh_Hans: 否
|
||||
address: https://ollama.ai
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg viewBox="540.1546 563.7749 150.5263 25" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#a)" transform="matrix(0.17650800943374634, 0, 0, -0.17650800943374634, 445.969970703125, 671.58935546875)">
|
||||
<path fill="#00e5e5" d="M618.577 552.875l-13.795-59.901c-.218-.948.502-1.853 1.475-1.853h27.575c.973 0 1.693.905 1.474 1.853l-13.795 59.901c-.358 1.557-2.575 1.557-2.934 0"/>
|
||||
<path fill="#00e5e5" d="M542.203 530.153l-8.564-37.188c-.218-.944.499-1.844 1.467-1.844h17.135c.968 0 1.684.9 1.467 1.844l-8.565 37.188c-.359 1.561-2.581 1.561-2.94 0"/>
|
||||
<path fill="#006eff" d="M561.028 575.58l-19.024-82.607c-.219-.948.502-1.853 1.474-1.853h38.034c.973 0 1.693.905 1.474 1.853l-19.024 82.607c-.358 1.557-2.575 1.557-2.934 0"/>
|
||||
<path fill="#006eff" d="M592.95 609.651l-26.871-116.678c-.218-.947.502-1.852 1.475-1.852h53.726c.973 0 1.693.905 1.475 1.852l-26.871 116.678c-.358 1.557-2.575 1.557-2.934 0"/>
|
||||
<path fill="#00e5e5" d="M575.175 564.245l-16.414-71.271c-.218-.948.502-1.853 1.475-1.853h32.812c.973 0 1.693.905 1.475 1.853l-16.414 71.271c-.358 1.557-2.576 1.557-2.934 0"/>
|
||||
<path fill="#4b4b4b" d="M677.358 492.868l-24.407 72.089h13.49l20.804-64.365 21.318 64.365h13.285l-24.614-72.089z"/>
|
||||
<path fill="#4b4b4b" d="M744.98 502.857c3.09 0 5.922.788 8.496 2.368 2.575 1.579 4.617 3.691 6.128 6.333 1.509 2.643 2.266 5.544 2.266 8.703 0 3.09-.757 5.973-2.266 8.651-1.511 2.677-3.553 4.789-6.128 6.334-2.574 1.545-5.406 2.317-8.496 2.317-3.159 0-6.025-.79-8.6-2.369-2.574-1.58-4.618-3.674-6.127-6.282-1.511-2.611-2.266-5.493-2.266-8.651 0-3.159.755-6.06 2.266-8.703 1.509-2.642 3.553-4.754 6.127-6.333 2.575-1.58 5.441-2.368 8.6-2.368m0-10.813c-5.149 0-9.853 1.269-14.109 3.81-4.258 2.539-7.657 5.974-10.196 10.298-2.541 4.326-3.81 9.027-3.81 14.109 0 5.08 1.269 9.766 3.81 14.058 2.539 4.29 5.938 7.706 10.196 10.247 4.256 2.539 8.96 3.811 14.109 3.811 5.08 0 9.766-1.272 14.057-3.811 4.291-2.541 7.689-5.974 10.196-10.299 2.506-4.325 3.759-8.995 3.759-14.006 0-5.082-1.253-9.783-3.759-14.109-2.507-4.324-5.905-7.759-10.196-10.298-4.291-2.541-8.977-3.81-14.057-3.81"/>
|
||||
<path fill="#4b4b4b" d="M782.261 564.957h11.844v-72.089h-11.844z"/>
|
||||
<path fill="#4b4b4b" d="M831.693 492.044c-5.149 0-9.887 1.27-14.212 3.811-4.325 2.539-7.708 5.973-10.144 10.297-2.438 4.327-3.656 8.995-3.656 14.006 0 5.15 1.252 9.887 3.759 14.212 2.505 4.326 5.904 7.74 10.195 10.247 4.29 2.506 8.976 3.76 14.058 3.76 5.835 0 11.071-1.632 15.705-4.893 4.635-3.26 7.982-7.535 10.042-12.821l-10.917-2.986c-1.374 3.02-3.365 5.44-5.973 7.261-2.61 1.817-5.561 2.728-8.857 2.728-3.159 0-6.025-.79-8.599-2.368-2.575-1.58-4.619-3.708-6.128-6.386-1.511-2.678-2.266-5.597-2.266-8.754 0-3.158.755-6.076 2.266-8.753 1.509-2.677 3.569-4.789 6.179-6.333 2.609-1.546 5.458-2.317 8.548-2.317 3.363 0 6.333.908 8.908 2.728 2.575 1.819 4.548 4.205 5.922 7.158l10.917-2.987c-2.129-5.217-5.494-9.458-10.093-12.717-4.601-3.263-9.819-4.893-15.654-4.893"/>
|
||||
<path fill="#4b4b4b" d="M892.043 502.755c3.09 0 5.955.788 8.599 2.368 2.642 1.578 4.754 3.708 6.334 6.386 1.578 2.677 2.369 5.559 2.369 8.649 0 3.09-.791 5.974-2.369 8.652-1.58 2.677-3.692 4.822-6.334 6.436-2.644 1.613-5.509 2.42-8.599 2.42-3.159 0-6.06-.79-8.703-2.368-2.643-1.58-4.721-3.708-6.23-6.386-1.511-2.678-2.266-5.596-2.266-8.754 0-3.158.755-6.059 2.266-8.701 1.509-2.644 3.569-4.756 6.179-6.334 2.608-1.58 5.526-2.368 8.754-2.368m-1.03-10.711c-4.943 0-9.492 1.27-13.646 3.811-4.155 2.539-7.45 5.973-9.886 10.297-2.438 4.327-3.656 8.995-3.656 14.006 0 5.15 1.218 9.887 3.656 14.212 2.436 4.326 5.731 7.74 9.886 10.247 4.154 2.506 8.703 3.76 13.646 3.76 3.638 0 6.968-.739 9.99-2.214 3.02-1.477 5.526-3.486 7.518-6.025v7.312h11.843v-54.582h-11.843v7.313c-1.992-2.541-4.498-4.533-7.518-5.974-3.022-1.442-6.352-2.163-9.99-2.163"/>
|
||||
<path fill="#4b4b4b" d="M931.692 492.868v54.582h11.74v-7.209c1.854 2.402 4.239 4.359 7.158 5.87 2.917 1.51 6.23 2.266 9.938 2.266 3.981 0 7.724-.894 11.226-2.678 3.501-1.786 6.315-4.361 8.444-7.725 2.128-3.364 3.193-7.244 3.193-11.636v-33.47h-11.843v30.277c0 2.883-.602 5.389-1.803 7.518-1.202 2.128-2.816 3.774-4.84 4.943-2.026 1.167-4.274 1.751-6.746 1.751-2.816 0-5.355-.721-7.621-2.163-2.265-1.441-4.016-3.398-5.252-5.87-1.236-2.472-1.854-5.288-1.854-8.444v-28.012z"/>
|
||||
<path fill="#4b4b4b" d="M1019.437 502.857c3.09 0 5.922.788 8.496 2.368 2.575 1.579 4.617 3.691 6.128 6.333 1.509 2.643 2.266 5.544 2.266 8.703 0 3.09-.757 5.973-2.266 8.651-1.511 2.677-3.553 4.789-6.128 6.334-2.574 1.545-5.406 2.317-8.496 2.317-3.159 0-6.025-.79-8.599-2.369-2.575-1.58-4.619-3.674-6.128-6.282-1.511-2.611-2.266-5.493-2.266-8.651 0-3.159.755-6.06 2.266-8.703 1.509-2.642 3.553-4.754 6.128-6.333 2.574-1.58 5.44-2.368 8.599-2.368m0-10.813c-5.149 0-9.853 1.269-14.109 3.81-4.258 2.539-7.657 5.974-10.196 10.298-2.541 4.326-3.81 9.027-3.81 14.109 0 5.08 1.269 9.766 3.81 14.058 2.539 4.29 5.938 7.706 10.196 10.247 4.256 2.539 8.96 3.811 14.109 3.811 5.08 0 9.766-1.272 14.058-3.811 4.29-2.541 7.688-5.974 10.195-10.299 2.506-4.325 3.759-8.995 3.759-14.006 0-5.082-1.253-9.783-3.759-14.109-2.507-4.324-5.905-7.759-10.195-10.298-4.292-2.541-8.978-3.81-14.058-3.81"/>
|
||||
<path fill="#4b4b4b" d="M1057.026 492.868v72.089h51.287v-11.328h-39.135v-19.156h35.016v-11.122h-35.016v-19.155h39.135v-11.328z"/>
|
||||
<path fill="#4b4b4b" d="M1118.92 492.868v54.582h11.74v-7.209c1.854 2.402 4.239 4.359 7.158 5.87 2.917 1.51 6.231 2.266 9.938 2.266 3.981 0 7.724-.894 11.226-2.678 3.501-1.786 6.316-4.361 8.444-7.725 2.128-3.364 3.193-7.244 3.193-11.636v-33.47h-11.843v30.277c0 2.883-.602 5.389-1.803 7.518-1.202 2.128-2.815 3.774-4.84 4.943-2.026 1.167-4.274 1.751-6.745 1.751-2.816 0-5.356-.721-7.621-2.163-2.266-1.441-4.017-3.398-5.253-5.87-1.236-2.472-1.854-5.288-1.854-8.444v-28.012z"/>
|
||||
<path fill="#4b4b4b" d="M1207.077 504.094c3.09 0 5.955.754 8.599 2.266 2.642 1.508 4.754 3.551 6.334 6.127 1.578 2.574 2.369 5.406 2.369 8.496 0 3.089-.773 5.922-2.317 8.496-1.545 2.574-3.657 4.599-6.334 6.076-2.678 1.476-5.561 2.214-8.651 2.214-3.159 0-6.042-.738-8.651-2.214-2.61-1.477-4.686-3.502-6.231-6.076s-2.317-5.407-2.317-8.496c0-3.09.772-5.94 2.317-8.547 1.545-2.611 3.639-4.654 6.283-6.128 2.642-1.477 5.509-2.214 8.599-2.214m1.339-34.912c-4.052 0-7.948.756-11.689 2.266-3.743 1.51-6.969 3.809-9.681 6.899-2.713 3.09-4.618 6.899-5.716 11.431h11.844c.824-2.266 2.024-4.12 3.604-5.56 1.579-1.442 3.363-2.473 5.356-3.091 1.99-.617 4.05-.927 6.179-.927 2.883 0 5.474.584 7.775 1.752 2.3 1.168 4.12 2.986 5.458 5.458 1.339 2.471 2.009 5.595 2.009 9.372v4.427c-1.992-2.334-4.48-4.188-7.467-5.561-2.986-1.373-6.333-2.059-10.041-2.059-5.149 0-9.801 1.2-13.955 3.605-4.154 2.402-7.398 5.697-9.732 9.885-2.335 4.188-3.501 8.822-3.501 13.904 0 5.216 1.184 9.921 3.553 14.109 2.368 4.187 5.628 7.466 9.783 9.835 4.154 2.369 8.77 3.518 13.852 3.45 3.638-.069 6.968-.807 9.99-2.214 3.02-1.408 5.526-3.382 7.518-5.922v7.209h11.843v-50.463c0-5.767-1.22-10.762-3.656-14.985-2.438-4.221-5.699-7.414-9.784-9.577-4.085-2.163-8.599-3.243-13.542-3.243"/>
|
||||
<path fill="#4b4b4b" d="M1247.035 547.45h11.844v-54.582h-11.844zm6.076 6.385c-2.129 0-3.949.703-5.458 2.111-1.511 1.406-2.266 3.175-2.266 5.304 0 2.059.755 3.81 2.266 5.252 1.509 1.442 3.329 2.163 5.458 2.163 2.128 0 3.93-.721 5.407-2.163 1.476-1.442 2.214-3.193 2.214-5.252 0-2.129-.738-3.898-2.214-5.304-1.477-1.408-3.279-2.111-5.407-2.111"/>
|
||||
<path fill="#4b4b4b" d="M1270.515 492.868v54.582h11.74v-7.209c1.854 2.402 4.239 4.359 7.158 5.87 2.917 1.51 6.23 2.266 9.938 2.266 3.981 0 7.724-.894 11.226-2.678 3.501-1.786 6.315-4.361 8.444-7.725 2.128-3.364 3.193-7.244 3.193-11.636v-33.47h-11.843v30.277c0 2.883-.602 5.389-1.803 7.518-1.202 2.128-2.816 3.774-4.84 4.943-2.026 1.167-4.274 1.751-6.746 1.751-2.816 0-5.355-.721-7.621-2.163-2.265-1.441-4.016-3.398-5.252-5.87-1.236-2.472-1.854-5.288-1.854-8.444v-28.012z"/>
|
||||
<path fill="#4b4b4b" d="M1374.428 524.895c-.481 2.334-1.459 4.496-2.935 6.488-1.477 1.991-3.331 3.57-5.562 4.738-2.232 1.167-4.754 1.751-7.569 1.751-2.816 0-5.373-.584-7.672-1.751-2.302-1.168-4.189-2.747-5.665-4.738-1.477-1.992-2.455-4.154-2.935-6.488zm-15.963-32.852c-5.149 0-9.87 1.27-14.16 3.811-4.292 2.539-7.673 5.974-10.145 10.298-2.471 4.326-3.707 8.994-3.707 14.006 0 5.149 1.252 9.886 3.759 14.212 2.506 4.326 5.904 7.74 10.196 10.247 4.29 2.506 8.976 3.759 14.057 3.759 4.531 0 8.754-1.03 12.668-3.089 3.913-2.06 7.157-4.859 9.732-8.394 2.574-3.537 4.238-7.502 4.995-11.894.685-3.09.72-6.146.102-9.167h-43.872c.48-2.746 1.494-5.115 3.038-7.105 1.545-1.992 3.467-3.519 5.768-4.583 2.299-1.065 4.822-1.597 7.569-1.597 2.884 0 5.681.602 8.394 1.803 2.711 1.2 4.959 2.832 6.745 4.892l10.402-2.678c-2.129-4.394-5.597-7.913-10.402-10.556-4.806-2.643-9.853-3.965-15.139-3.965"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg viewBox="0 0 101.7291 25" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<clipPath id="clip0_4967_21175">
|
||||
<rect width="99.9412" height="24.5665" fill="white" transform="translate(0 4)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#clip0_4967_21175)" transform="matrix(1.017889022827, 0, 0, 1.017889022827, 0.893925011158, -4.07626192043)" style="transform-origin: 49.9706px 0.0704009px;">
|
||||
<path d="M57.8088 12.1255H56.1122C56.0096 12.1255 55.9264 12.2087 55.9264 12.3113V27.7947C55.9264 27.8973 56.0096 27.9806 56.1122 27.9806H57.8088C57.9114 27.9806 57.9946 27.8973 57.9946 27.7947V12.3113C57.9946 12.2087 57.9114 12.1255 57.8088 12.1255Z" fill="#4B4B4B"/>
|
||||
<path d="M80.4334 12.1895H78.6511C78.5471 12.1895 78.4628 12.2737 78.4628 12.3777V28.3781C78.4628 28.4821 78.5471 28.5663 78.6511 28.5663H80.4334C80.5374 28.5663 80.6216 28.4821 80.6216 28.3781V12.3777C80.6216 12.2737 80.5374 12.1895 80.4334 12.1895Z" fill="#4B4B4B"/>
|
||||
<path d="M51.7994 14.0625H50.1076C50.0036 14.0625 49.9194 14.1468 49.9194 14.2507V28.2639C49.9194 28.3679 50.0036 28.4522 50.1076 28.4522H51.7994C51.9034 28.4522 51.9876 28.3679 51.9876 28.2639V14.2507C51.9876 14.1468 51.9034 14.0625 51.7994 14.0625Z" fill="#4B4B4B"/>
|
||||
<path d="M63.823 14.0625H62.1312C62.0272 14.0625 61.9429 14.1468 61.9429 14.2507V28.2639C61.9429 28.3679 62.0272 28.4522 62.1312 28.4522H63.823C63.9269 28.4522 64.0112 28.3679 64.0112 28.2639V14.2507C64.0112 14.1468 63.9269 14.0625 63.823 14.0625Z" fill="#4B4B4B"/>
|
||||
<path d="M63.9135 26.3862V28.1066C63.9135 28.1989 63.8769 28.2874 63.8116 28.3526C63.7464 28.4178 63.6579 28.4545 63.5656 28.4545H50.3578C50.2656 28.4545 50.1771 28.4178 50.1118 28.3526C50.0466 28.2874 50.01 28.1989 50.01 28.1066V26.3862H63.9135Z" fill="#4B4B4B"/>
|
||||
<path d="M92.3091 13.9837V12.6398C92.3091 12.5885 92.2675 12.5469 92.2162 12.5469H84.1409C84.0896 12.5469 84.048 12.5885 84.048 12.6398V13.9837C84.048 14.035 84.0896 14.0766 84.1409 14.0766H92.2162C92.2675 14.0766 92.3091 14.035 92.3091 13.9837Z" fill="#4B4B4B"/>
|
||||
<path d="M99.6315 13.0328V14.4911C99.6315 14.5157 99.6217 14.5394 99.6043 14.5568C99.5868 14.5742 99.5632 14.584 99.5385 14.584H94.3822C94.3316 14.584 94.2831 14.5639 94.2474 14.5282C94.2116 14.4924 94.1916 14.4439 94.1916 14.3934V13.1281C94.1916 13.0776 94.2116 13.0291 94.2474 12.9933C94.2831 12.9576 94.3316 12.9375 94.3822 12.9375H99.5385C99.5632 12.9375 99.5868 12.9473 99.6043 12.9647C99.6217 12.9821 99.6315 13.0058 99.6315 13.0304V13.0328Z" fill="#4B4B4B"/>
|
||||
<path d="M43.605 14.437C43.574 15.2495 43.462 17.1128 43.0784 20.046C43.075 20.0729 43.0774 20.1002 43.0853 20.1261C43.0932 20.152 43.1064 20.176 43.1242 20.1964C43.1419 20.2169 43.1638 20.2334 43.1883 20.2448C43.2129 20.2563 43.2395 20.2624 43.2666 20.2629H45.2205C45.267 20.2621 45.3116 20.2445 45.3462 20.2135C45.3808 20.1824 45.403 20.1398 45.4088 20.0937C45.7876 17.139 45.8853 15.2733 45.9234 14.4513C45.9244 14.4257 45.9202 14.4003 45.911 14.3765C45.9018 14.3526 45.8879 14.3309 45.8701 14.3126C45.8522 14.2944 45.8309 14.2799 45.8073 14.2702C45.7837 14.2604 45.7583 14.2555 45.7328 14.2559H43.7956C43.7465 14.2552 43.6991 14.2738 43.6634 14.3076C43.6278 14.3415 43.6068 14.3879 43.605 14.437V14.437Z" fill="#4B4B4B"/>
|
||||
<path d="M34.2359 14.4394C34.2693 15.2566 34.3789 17.1343 34.7649 20.0889C34.769 20.1161 34.7672 20.1437 34.7596 20.1701C34.7521 20.1965 34.7389 20.2209 34.721 20.2417C34.7032 20.2625 34.681 20.2792 34.6561 20.2907C34.6312 20.3022 34.6041 20.3081 34.5766 20.3082H32.6085C32.5617 20.3074 32.5167 20.29 32.4818 20.2589C32.4468 20.2279 32.4241 20.1853 32.4178 20.139C32.0366 17.1605 31.9294 15.2805 31.8984 14.4536C31.8974 14.4278 31.9017 14.4021 31.911 14.3779C31.9203 14.3538 31.9344 14.3318 31.9525 14.3133C31.9705 14.2948 31.9921 14.2802 32.016 14.2703C32.0399 14.2605 32.0655 14.2555 32.0914 14.2559H34.0453C34.0946 14.2558 34.1421 14.2749 34.1776 14.3092C34.2132 14.3434 34.2341 14.39 34.2359 14.4394V14.4394Z" fill="#4B4B4B"/>
|
||||
<path d="M83.8741 15.4494C83.8503 15.4518 83.8281 15.4628 83.8119 15.4803C83.7956 15.4979 83.7864 15.5208 83.7859 15.5448V17.1055C83.7855 17.1187 83.7879 17.1319 83.7931 17.1441C83.7982 17.1564 83.8058 17.1674 83.8155 17.1764C83.8252 17.1854 83.8368 17.1923 83.8493 17.1965C83.8619 17.2007 83.8752 17.2022 83.8884 17.2008C85.2871 17.0697 86.3188 16.0666 86.457 14.5488C86.458 14.5356 86.4563 14.5225 86.4519 14.5101C86.4476 14.4977 86.4407 14.4863 86.4318 14.4767C86.4228 14.4671 86.412 14.4594 86.3999 14.4542C86.3879 14.4489 86.3749 14.4463 86.3617 14.4463H84.7938C84.7708 14.4462 84.7485 14.4546 84.7313 14.4701C84.7141 14.4855 84.7033 14.5067 84.7009 14.5297C84.5889 15.3351 84.1386 15.4375 83.8741 15.4494Z" fill="#4B4B4B"/>
|
||||
<path d="M94.9875 15.5781H93.3743C93.3602 15.5783 93.3462 15.5815 93.3334 15.5875C93.3206 15.5936 93.3093 15.6024 93.3002 15.6133C93.2912 15.6242 93.2846 15.6369 93.2809 15.6506C93.2773 15.6642 93.2766 15.6785 93.279 15.6925C93.8032 18.6448 96.3457 20.5057 99.8436 20.4986C99.8693 20.498 99.8938 20.4875 99.912 20.4693C99.9302 20.4511 99.9407 20.4266 99.9413 20.4009V18.8211C99.9413 18.7958 99.9313 18.7716 99.9134 18.7537C99.8955 18.7358 99.8713 18.7258 99.846 18.7258C97.8301 18.7258 95.6308 17.9156 95.0804 15.652C95.0752 15.6312 95.0632 15.6127 95.0464 15.5993C95.0297 15.586 95.0089 15.5785 94.9875 15.5781V15.5781Z" fill="#4B4B4B"/>
|
||||
<path d="M87.1408 12.1895H85.3394C85.2881 12.1895 85.2465 12.2311 85.2465 12.2824V14.1624C85.2465 14.2137 85.2881 14.2553 85.3394 14.2553H87.1408C87.1922 14.2553 87.2338 14.2137 87.2338 14.1624V12.2824C87.2338 12.2311 87.1922 12.1895 87.1408 12.1895Z" fill="#4B4B4B"/>
|
||||
<path d="M91.0177 12.1895H89.2163C89.165 12.1895 89.1234 12.2311 89.1234 12.2824V14.1624C89.1234 14.2137 89.165 14.2553 89.2163 14.2553H91.0177C91.0691 14.2553 91.1107 14.2137 91.1107 14.1624V12.2824C91.1107 12.2311 91.0691 12.1895 91.0177 12.1895Z" fill="#4B4B4B"/>
|
||||
<path d="M98.9262 14.3032C98.9262 14.2484 98.9262 14.2008 98.9262 14.165H97.1105C97.1105 14.2151 97.1105 14.277 97.1105 14.3533C97.1272 14.9657 97.1653 16.3977 96.1907 17.4104C95.4497 18.18 94.2345 18.5875 92.5761 18.6232C92.5633 18.6232 92.5507 18.6258 92.539 18.6307C92.5273 18.6356 92.5167 18.6429 92.5078 18.652C92.4989 18.6611 92.4919 18.6719 92.4873 18.6837C92.4827 18.6956 92.4804 18.7082 92.4807 18.7209L92.4998 20.3388C92.4998 20.352 92.5024 20.365 92.5074 20.3771C92.5125 20.3893 92.5198 20.4003 92.5291 20.4096C92.5384 20.4189 92.5494 20.4263 92.5616 20.4313C92.5737 20.4363 92.5867 20.4389 92.5999 20.4389C94.7635 20.396 96.4123 19.8003 97.4989 18.6709C99 17.1054 98.9452 15.0705 98.9262 14.3032Z" fill="#4B4B4B"/>
|
||||
<path d="M95.6117 12.168H93.9938C93.9697 12.1685 93.9468 12.1782 93.9295 12.195C93.9123 12.2118 93.902 12.2345 93.9009 12.2585C93.89 12.6263 93.7498 12.9785 93.5049 13.2531C93.2599 13.5277 92.9259 13.7071 92.5617 13.7597C92.5394 13.7631 92.519 13.7743 92.5042 13.7913C92.4893 13.8083 92.481 13.83 92.4807 13.8526V15.4729C92.4807 15.4858 92.4833 15.4986 92.4884 15.5105C92.4935 15.5224 92.5009 15.5331 92.5103 15.542C92.5197 15.5509 92.5307 15.5579 92.5428 15.5624C92.555 15.5669 92.5679 15.5689 92.5808 15.5682C93.4229 15.5146 94.2135 15.1438 94.7931 14.5305C95.3728 13.9173 95.6985 13.1071 95.7046 12.2633C95.7049 12.2509 95.7028 12.2385 95.6982 12.227C95.6937 12.2154 95.6869 12.2049 95.6783 12.196C95.6696 12.1871 95.6593 12.1801 95.6478 12.1753C95.6364 12.1704 95.6241 12.168 95.6117 12.168V12.168Z" fill="#4B4B4B"/>
|
||||
<path d="M67.2708 12.7498V14.4439C67.2708 14.4938 67.2906 14.5417 67.3259 14.577C67.3612 14.6123 67.4091 14.6322 67.459 14.6322H73.2826C73.3066 14.6322 73.3296 14.6417 73.3466 14.6587C73.3636 14.6757 73.3731 14.6987 73.3731 14.7227V16.6289C73.3734 16.641 73.3713 16.6531 73.3669 16.6643C73.3625 16.6756 73.3559 16.6859 73.3475 16.6945C73.339 16.7032 73.3289 16.7101 73.3178 16.7148C73.3066 16.7195 73.2947 16.7219 73.2826 16.7219H67.459C67.4091 16.7219 67.3612 16.7417 67.3259 16.777C67.2906 16.8123 67.2708 16.8602 67.2708 16.9101V22.5859C67.2708 22.6106 67.2757 22.6351 67.2851 22.6579C67.2946 22.6808 67.3085 22.7015 67.3259 22.719C67.3434 22.7365 67.3642 22.7504 67.387 22.7598C67.4099 22.7693 67.4343 22.7741 67.459 22.7741H73.2826C73.3068 22.7748 73.3298 22.7848 73.3468 22.8022C73.3637 22.8196 73.3731 22.8428 73.3731 22.8671V26.0314C73.3734 26.056 73.3689 26.0805 73.3597 26.1033C73.3505 26.1261 73.3368 26.1469 73.3195 26.1644C73.3023 26.1819 73.2817 26.1958 73.259 26.2053C73.2362 26.2148 73.2119 26.2197 73.1873 26.2197H68.8983C68.8561 26.2195 68.8151 26.2335 68.7818 26.2594C68.7485 26.2853 68.7249 26.3217 68.7148 26.3626L68.2978 28.1735C68.2946 28.1872 68.2944 28.2014 68.2975 28.2151C68.3005 28.2288 68.3066 28.2417 68.3154 28.2527C68.3241 28.2637 68.3352 28.2726 68.3478 28.2787C68.3604 28.2848 68.3743 28.2879 68.3883 28.2879H74.8767C75.0258 28.2879 75.1688 28.2287 75.2743 28.1232C75.3798 28.0178 75.439 27.8747 75.439 27.7256V20.887C75.439 20.8371 75.4192 20.7892 75.3839 20.7539C75.3486 20.7186 75.3007 20.6987 75.2508 20.6987H69.432C69.4197 20.6991 69.4075 20.6969 69.3961 20.6923C69.3846 20.6878 69.3743 20.6809 69.3656 20.6723C69.3569 20.6636 69.35 20.6532 69.3455 20.6418C69.3409 20.6303 69.3387 20.6181 69.3391 20.6058V18.8759C69.3391 18.8513 69.3489 18.8276 69.3663 18.8102C69.3837 18.7928 69.4074 18.783 69.432 18.783H75.2555C75.3055 18.783 75.3533 18.7631 75.3886 18.7278C75.4239 18.6925 75.4438 18.6447 75.4438 18.5947V12.7498C75.4432 12.7 75.4231 12.6525 75.388 12.6173C75.3528 12.5822 75.3053 12.5621 75.2555 12.5615H67.459C67.4091 12.5615 67.3612 12.5814 67.3259 12.6167C67.2906 12.652 67.2708 12.6998 67.2708 12.7498V12.7498Z" fill="#4B4B4B"/>
|
||||
<path d="M91.8088 14.9033H85.3562C85.3316 14.9033 85.3079 14.9131 85.2905 14.9305C85.2731 14.948 85.2633 14.9716 85.2633 14.9962V16.1328C85.2629 16.1451 85.2651 16.1574 85.2697 16.1688C85.2742 16.1802 85.2811 16.1906 85.2898 16.1993C85.2985 16.208 85.3088 16.2148 85.3203 16.2194C85.3317 16.2239 85.3439 16.2261 85.3562 16.2258H90.148C90.1603 16.2254 90.1725 16.2276 90.1839 16.2322C90.1954 16.2367 90.2057 16.2436 90.2144 16.2523C90.2231 16.261 90.23 16.2713 90.2345 16.2827C90.2391 16.2942 90.2413 16.3064 90.2409 16.3187V18.8707C90.2409 18.8953 90.2311 18.9189 90.2137 18.9364C90.1963 18.9538 90.1726 18.9636 90.148 18.9636H89.5928C89.5719 18.9636 89.5515 18.9706 89.5351 18.9836C89.5187 18.9966 89.5071 19.0147 89.5023 19.0351L89.1901 20.3837C89.1869 20.3974 89.1868 20.4116 89.1898 20.4253C89.1929 20.439 89.199 20.4519 89.2077 20.4629C89.2164 20.4739 89.2275 20.4828 89.2401 20.4889C89.2528 20.495 89.2666 20.4981 89.2807 20.4981H91.2322C91.4344 20.4981 91.6283 20.4178 91.7713 20.2748C91.9143 20.1318 91.9947 19.9378 91.9947 19.7356V15.0916C91.995 15.067 91.9904 15.0425 91.9812 15.0197C91.972 14.9969 91.9584 14.9761 91.9411 14.9586C91.9238 14.9411 91.9032 14.9272 91.8805 14.9177C91.8578 14.9082 91.8334 14.9033 91.8088 14.9033V14.9033Z" fill="#4B4B4B"/>
|
||||
<path d="M90.7961 21.5732V26.9321C90.7961 26.9567 90.7912 26.9811 90.7817 27.0038C90.7722 27.0265 90.7583 27.0471 90.7408 27.0644C90.7233 27.0817 90.7025 27.0953 90.6797 27.1045C90.6569 27.1137 90.6325 27.1183 90.6079 27.118H89.3092C89.2674 27.1177 89.2266 27.1313 89.1934 27.1568C89.1602 27.1823 89.1364 27.2181 89.1258 27.2586L88.8017 28.45C88.7976 28.4643 88.7969 28.4793 88.7997 28.4939C88.8025 28.5085 88.8086 28.5223 88.8176 28.5341C88.8267 28.5459 88.8383 28.5554 88.8517 28.5619C88.8651 28.5684 88.8798 28.5717 88.8946 28.5715H92.2591C92.4572 28.5709 92.6468 28.4918 92.7866 28.3515C92.9264 28.2113 93.005 28.0213 93.005 27.8233V21.5732H90.7961Z" fill="#4B4B4B"/>
|
||||
<path d="M84.4936 16.867V19.5023C84.4936 19.5269 84.4985 19.5513 84.508 19.574C84.5174 19.5967 84.5314 19.6173 84.5489 19.6346C84.5664 19.6519 84.5871 19.6655 84.61 19.6747C84.6328 19.6839 84.6572 19.6885 84.6818 19.6882H88.8779C88.9272 19.6882 88.9745 19.6686 89.0093 19.6337C89.0442 19.5989 89.0638 19.5516 89.0638 19.5023V16.867C89.0641 16.8423 89.0595 16.8179 89.0503 16.7951C89.0411 16.7723 89.0275 16.7515 89.0102 16.734C88.9929 16.7165 88.9723 16.7026 88.9496 16.6931C88.9269 16.6836 88.9025 16.6787 88.8779 16.6787H84.6818C84.6319 16.6787 84.584 16.6985 84.5487 16.7338C84.5134 16.7691 84.4936 16.817 84.4936 16.867V16.867ZM87.4888 18.6302H86.0591C86.0346 18.6296 86.0113 18.6196 85.994 18.6023C85.9767 18.585 85.9668 18.5617 85.9662 18.5373V17.8201C85.9668 17.7956 85.9767 17.7723 85.994 17.755C86.0113 17.7377 86.0346 17.7277 86.0591 17.7271H87.4888C87.5134 17.7271 87.537 17.7369 87.5545 17.7544C87.5719 17.7718 87.5817 17.7954 87.5817 17.8201V18.5349C87.582 18.5473 87.5798 18.5596 87.5753 18.5712C87.5708 18.5827 87.564 18.5933 87.5553 18.6022C87.5467 18.611 87.5363 18.6181 87.5249 18.6229C87.5134 18.6277 87.5012 18.6302 87.4888 18.6302V18.6302Z" fill="#4B4B4B"/>
|
||||
<path d="M99.3193 22.1593V20.987C99.3193 20.9357 99.2777 20.894 99.2264 20.894H84.5746C84.5233 20.894 84.4817 20.9357 84.4817 20.987V22.1593C84.4817 22.2106 84.5233 22.2522 84.5746 22.2522H99.2264C99.2777 22.2522 99.3193 22.2106 99.3193 22.1593Z" fill="#4B4B4B"/>
|
||||
<path d="M99.0906 24.1823V23.0099C99.0906 22.9586 99.049 22.917 98.9976 22.917H84.8058C84.7544 22.917 84.7128 22.9586 84.7128 23.0099V24.1823C84.7128 24.2336 84.7544 24.2752 84.8058 24.2752H98.9976C99.049 24.2752 99.0906 24.2336 99.0906 24.1823Z" fill="#4B4B4B"/>
|
||||
<path d="M99.8602 26.191V25.0187C99.8602 24.9674 99.8186 24.9258 99.7673 24.9258H84.0361C83.9848 24.9258 83.9432 24.9674 83.9432 25.0187V26.191C83.9432 26.2424 83.9848 26.284 84.0361 26.284H99.7673C99.8186 26.284 99.8602 26.2424 99.8602 26.191Z" fill="#4B4B4B"/>
|
||||
<path d="M37.8625 18.3203C37.9459 23.0621 33.8356 26.2336 31.386 26.398C31.338 26.3998 31.2925 26.4202 31.2592 26.4549C31.2259 26.4895 31.2073 26.5357 31.2073 26.5838V28.3042C31.2073 28.3292 31.2124 28.354 31.2221 28.377C31.2319 28.4 31.2463 28.4209 31.2643 28.4382C31.2823 28.4556 31.3036 28.4691 31.327 28.478C31.3504 28.4869 31.3753 28.491 31.4003 28.4901C33.2279 28.3804 35.301 27.394 36.8688 25.869C38.2794 24.5037 39.9665 22.0851 39.9665 18.3179V12.056C39.9665 12.0067 39.9469 11.9594 39.912 11.9246C39.8772 11.8897 39.8299 11.8701 39.7806 11.8701H38.0555C38.0062 11.8701 37.9589 11.8897 37.924 11.9246C37.8892 11.9594 37.8696 12.0067 37.8696 12.056L37.8625 18.3203Z" fill="#4B4B4B"/>
|
||||
<path d="M39.9546 18.3203C39.8688 23.0621 43.9886 26.2336 46.4286 26.398C46.4769 26.3998 46.5226 26.4201 46.5563 26.4547C46.59 26.4893 46.6091 26.5355 46.6097 26.5838V28.3042C46.6097 28.3294 46.6046 28.3544 46.5947 28.3776C46.5848 28.4008 46.5702 28.4217 46.5519 28.4391C46.5337 28.4565 46.512 28.47 46.4884 28.4788C46.4647 28.4875 46.4395 28.4914 46.4143 28.4901C44.5891 28.3805 42.5137 27.394 40.9482 25.869C39.5376 24.5037 37.8506 22.0851 37.8506 18.318V12.056C37.8506 12.0067 37.8702 11.9594 37.905 11.9246C37.9399 11.8897 37.9872 11.8701 38.0364 11.8701H39.7616C39.7862 11.8698 39.8106 11.8744 39.8334 11.8836C39.8563 11.8928 39.877 11.9064 39.8945 11.9237C39.9121 11.941 39.926 11.9616 39.9354 11.9843C39.9449 12.007 39.9498 12.0314 39.9498 12.056L39.9546 18.3203Z" fill="#4B4B4B"/>
|
||||
<path d="M20.511 15.3019L17.2442 28.1928C17.2362 28.2282 17.2364 28.2649 17.2447 28.3001C17.2531 28.3354 17.2694 28.3683 17.2923 28.3964C17.3153 28.4244 17.3444 28.4468 17.3773 28.4619C17.4103 28.477 17.4462 28.4844 17.4825 28.4835H24.0137C24.0499 28.4844 24.0859 28.477 24.1188 28.4619C24.1518 28.4468 24.1809 28.4244 24.2038 28.3964C24.2268 28.3683 24.2431 28.3354 24.2514 28.3001C24.2598 28.2649 24.26 28.2282 24.252 28.1928L20.9685 15.3019C20.9541 15.2524 20.924 15.209 20.8827 15.178C20.8415 15.1471 20.7913 15.1304 20.7397 15.1304C20.6882 15.1304 20.638 15.1471 20.5968 15.178C20.5555 15.209 20.5254 15.2524 20.511 15.3019V15.3019Z" fill="#00E5E5"/>
|
||||
<path d="M2.53051 18.2228L-5.28338e-06 28.1924C-0.00799016 28.2277 -0.00780431 28.2644 0.000538111 28.2997C0.00888053 28.335 0.0251596 28.3679 0.0481365 28.3959C0.0711133 28.4239 0.100182 28.4464 0.133131 28.4615C0.166079 28.4766 0.202039 28.484 0.238273 28.4831H5.28025C5.31649 28.484 5.35245 28.4766 5.38539 28.4615C5.41834 28.4464 5.44741 28.4239 5.47039 28.3959C5.49336 28.3679 5.50964 28.335 5.51799 28.2997C5.52633 28.2644 5.52651 28.2277 5.51853 28.1924L2.98563 18.2228C2.97054 18.1742 2.94032 18.1318 2.89938 18.1016C2.85844 18.0714 2.80892 18.0552 2.75807 18.0552C2.70722 18.0552 2.6577 18.0714 2.61676 18.1016C2.57582 18.1318 2.5456 18.1742 2.53051 18.2228V18.2228Z" fill="#00E5E5"/>
|
||||
<path d="M6.99344 9.96839L2.38275 28.1919C2.37498 28.2263 2.37494 28.262 2.38262 28.2964C2.3903 28.3308 2.40552 28.363 2.42717 28.3908C2.44882 28.4186 2.47637 28.4413 2.50783 28.4572C2.53929 28.473 2.57388 28.4817 2.60911 28.4826H11.8329C11.8691 28.4835 11.9051 28.4761 11.938 28.461C11.971 28.4459 12 28.4235 12.023 28.3955C12.046 28.3675 12.0623 28.3345 12.0706 28.2993C12.079 28.264 12.0791 28.2273 12.0712 28.1919L7.44855 9.96839C7.43347 9.91982 7.40325 9.87736 7.36231 9.8472C7.32136 9.81705 7.27185 9.80078 7.221 9.80078C7.17015 9.80078 7.12063 9.81705 7.07969 9.8472C7.03874 9.87736 7.00852 9.91982 6.99344 9.96839Z" fill="#006EFF"/>
|
||||
<path d="M14.9472 4.17346C14.9321 4.1249 14.9019 4.08244 14.861 4.05228C14.82 4.02213 14.7705 4.00586 14.7197 4.00586C14.6688 4.00586 14.6193 4.02213 14.5784 4.05228C14.5374 4.08244 14.5072 4.1249 14.4921 4.17346L8.18963 28.192C8.18165 28.2273 8.18183 28.264 8.19017 28.2993C8.19852 28.3346 8.2148 28.3675 8.23777 28.3955C8.26075 28.4235 8.28982 28.446 8.32277 28.4611C8.35572 28.4762 8.39168 28.4835 8.42791 28.4827H21.0233C21.0596 28.4835 21.0955 28.4762 21.1285 28.4611C21.1614 28.446 21.1905 28.4235 21.2135 28.3955C21.2364 28.3675 21.2527 28.3346 21.2611 28.2993C21.2694 28.264 21.2696 28.2273 21.2616 28.192L14.9472 4.17346Z" fill="#006EFF"/>
|
||||
<path d="M10.3175 12.6188L6.31915 28.1903C6.31074 28.2258 6.31061 28.2628 6.31875 28.2984C6.3269 28.3339 6.34311 28.3672 6.36614 28.3955C6.38916 28.4238 6.41839 28.4465 6.45155 28.4617C6.48472 28.4769 6.52094 28.4844 6.55743 28.4834H14.535C14.5715 28.4844 14.6077 28.4769 14.6409 28.4617C14.674 28.4465 14.7033 28.4238 14.7263 28.3955C14.7493 28.3672 14.7655 28.3339 14.7737 28.2984C14.7818 28.2628 14.7817 28.2258 14.7733 28.1903L10.7726 12.6188C10.7575 12.5702 10.7273 12.5278 10.6863 12.4976C10.6454 12.4674 10.5959 12.4512 10.545 12.4512C10.4942 12.4512 10.4447 12.4674 10.4037 12.4976C10.3628 12.5278 10.3326 12.5702 10.3175 12.6188Z" fill="#00E5E5"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg viewBox="-0.006 0 24.6978 24.9156" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20.511 15.3019L17.2442 28.1928C17.2362 28.2282 17.2364 28.2649 17.2447 28.3001C17.2531 28.3354 17.2694 28.3683 17.2923 28.3964C17.3153 28.4244 17.3444 28.4468 17.3773 28.4619C17.4103 28.477 17.4462 28.4844 17.4825 28.4835H24.0137C24.0499 28.4844 24.0859 28.477 24.1188 28.4619C24.1518 28.4468 24.1809 28.4244 24.2038 28.3964C24.2268 28.3683 24.2431 28.3354 24.2514 28.3001C24.2598 28.2649 24.26 28.2282 24.252 28.1928L20.9685 15.3019C20.9541 15.2524 20.924 15.209 20.8827 15.178C20.8415 15.1471 20.7913 15.1304 20.7397 15.1304C20.6882 15.1304 20.638 15.1471 20.5968 15.178C20.5555 15.209 20.5254 15.2524 20.511 15.3019V15.3019Z" fill="#00E5E5" transform="matrix(1.0178890228271484, 0, 0, 1.0178890228271484, -1.952212187461555e-7, -4.077521402283104)"/>
|
||||
<path d="M2.53051 18.2228L-5.28338e-06 28.1924C-0.00799016 28.2277 -0.00780431 28.2644 0.000538111 28.2997C0.00888053 28.335 0.0251596 28.3679 0.0481365 28.3959C0.0711133 28.4239 0.100182 28.4464 0.133131 28.4615C0.166079 28.4766 0.202039 28.484 0.238273 28.4831H5.28025C5.31649 28.484 5.35245 28.4766 5.38539 28.4615C5.41834 28.4464 5.44741 28.4239 5.47039 28.3959C5.49336 28.3679 5.50964 28.335 5.51799 28.2997C5.52633 28.2644 5.52651 28.2277 5.51853 28.1924L2.98563 18.2228C2.97054 18.1742 2.94032 18.1318 2.89938 18.1016C2.85844 18.0714 2.80892 18.0552 2.75807 18.0552C2.70722 18.0552 2.6577 18.0714 2.61676 18.1016C2.57582 18.1318 2.5456 18.1742 2.53051 18.2228V18.2228Z" fill="#00E5E5" transform="matrix(1.0178890228271484, 0, 0, 1.0178890228271484, -1.952212187461555e-7, -4.077521402283104)"/>
|
||||
<path d="M6.99344 9.96839L2.38275 28.1919C2.37498 28.2263 2.37494 28.262 2.38262 28.2964C2.3903 28.3308 2.40552 28.363 2.42717 28.3908C2.44882 28.4186 2.47637 28.4413 2.50783 28.4572C2.53929 28.473 2.57388 28.4817 2.60911 28.4826H11.8329C11.8691 28.4835 11.9051 28.4761 11.938 28.461C11.971 28.4459 12 28.4235 12.023 28.3955C12.046 28.3675 12.0623 28.3345 12.0706 28.2993C12.079 28.264 12.0791 28.2273 12.0712 28.1919L7.44855 9.96839C7.43347 9.91982 7.40325 9.87736 7.36231 9.8472C7.32136 9.81705 7.27185 9.80078 7.221 9.80078C7.17015 9.80078 7.12063 9.81705 7.07969 9.8472C7.03874 9.87736 7.00852 9.91982 6.99344 9.96839Z" fill="#006EFF" transform="matrix(1.0178890228271484, 0, 0, 1.0178890228271484, -1.952212187461555e-7, -4.077521402283104)"/>
|
||||
<path d="M14.9472 4.17346C14.9321 4.1249 14.9019 4.08244 14.861 4.05228C14.82 4.02213 14.7705 4.00586 14.7197 4.00586C14.6688 4.00586 14.6193 4.02213 14.5784 4.05228C14.5374 4.08244 14.5072 4.1249 14.4921 4.17346L8.18963 28.192C8.18165 28.2273 8.18183 28.264 8.19017 28.2993C8.19852 28.3346 8.2148 28.3675 8.23777 28.3955C8.26075 28.4235 8.28982 28.446 8.32277 28.4611C8.35572 28.4762 8.39168 28.4835 8.42791 28.4827H21.0233C21.0596 28.4835 21.0955 28.4762 21.1285 28.4611C21.1614 28.446 21.1905 28.4235 21.2135 28.3955C21.2364 28.3675 21.2527 28.3346 21.2611 28.2993C21.2694 28.264 21.2696 28.2273 21.2616 28.192L14.9472 4.17346Z" fill="#006EFF" transform="matrix(1.0178890228271484, 0, 0, 1.0178890228271484, -1.952212187461555e-7, -4.077521402283104)"/>
|
||||
<path d="M10.3175 12.6188L6.31915 28.1903C6.31074 28.2258 6.31061 28.2628 6.31875 28.2984C6.3269 28.3339 6.34311 28.3672 6.36614 28.3955C6.38916 28.4238 6.41839 28.4465 6.45155 28.4617C6.48472 28.4769 6.52094 28.4844 6.55743 28.4834H14.535C14.5715 28.4844 14.6077 28.4769 14.6409 28.4617C14.674 28.4465 14.7033 28.4238 14.7263 28.3955C14.7493 28.3672 14.7655 28.3339 14.7737 28.2984C14.7818 28.2628 14.7817 28.2258 14.7733 28.1903L10.7726 12.6188C10.7575 12.5702 10.7273 12.5278 10.6863 12.4976C10.6454 12.4674 10.5959 12.4512 10.545 12.4512C10.4942 12.4512 10.4447 12.4674 10.4037 12.4976C10.3628 12.5278 10.3326 12.5702 10.3175 12.6188Z" fill="#00E5E5" transform="matrix(1.0178890228271484, 0, 0, 1.0178890228271484, -1.952212187461555e-7, -4.077521402283104)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,342 @@
|
||||
provider: volcengine_maas
|
||||
label:
|
||||
en_US: Volcengine
|
||||
description:
|
||||
en_US: Volcengine Ark models.
|
||||
zh_Hans: 火山方舟提供的模型,例如 Doubao-pro-4k、Doubao-pro-32k 和 Doubao-pro-128k。
|
||||
icon_small:
|
||||
en_US: icon_s_en.svg
|
||||
icon_large:
|
||||
en_US: icon_l_en.svg
|
||||
zh_Hans: icon_l_zh.svg
|
||||
background: "#F9FAFB"
|
||||
help:
|
||||
title:
|
||||
en_US: Get your Access Key and Secret Access Key from Volcengine Console
|
||||
zh_Hans: 从火山引擎控制台获取您的 Access Key 和 Secret Access Key
|
||||
url:
|
||||
en_US: https://console.volcengine.com/iam/keymanage/
|
||||
supported_model_types:
|
||||
- llm
|
||||
- text-embedding
|
||||
configurate_methods:
|
||||
- customizable-model
|
||||
model_credential_schema:
|
||||
model:
|
||||
label:
|
||||
en_US: Model Name
|
||||
zh_Hans: 模型名称
|
||||
placeholder:
|
||||
en_US: Enter your Model Name
|
||||
zh_Hans: 输入模型名称
|
||||
credential_form_schemas:
|
||||
- variable: auth_method
|
||||
required: true
|
||||
label:
|
||||
en_US: Authentication Method
|
||||
zh_Hans: 鉴权方式
|
||||
type: select
|
||||
default: aksk
|
||||
options:
|
||||
- label:
|
||||
en_US: API Key
|
||||
value: api_key
|
||||
- label:
|
||||
en_US: Access Key / Secret Access Key
|
||||
value: aksk
|
||||
placeholder:
|
||||
en_US: Enter your Authentication Method
|
||||
zh_Hans: 选择鉴权方式
|
||||
- variable: volc_access_key_id
|
||||
required: true
|
||||
show_on:
|
||||
- variable: auth_method
|
||||
value: aksk
|
||||
label:
|
||||
en_US: Access Key
|
||||
zh_Hans: Access Key
|
||||
type: secret-input
|
||||
placeholder:
|
||||
en_US: Enter your Access Key
|
||||
zh_Hans: 输入您的 Access Key
|
||||
- variable: volc_secret_access_key
|
||||
required: true
|
||||
show_on:
|
||||
- variable: auth_method
|
||||
value: aksk
|
||||
label:
|
||||
en_US: Secret Access Key
|
||||
zh_Hans: Secret Access Key
|
||||
type: secret-input
|
||||
placeholder:
|
||||
en_US: Enter your Secret Access Key
|
||||
zh_Hans: 输入您的 Secret Access Key
|
||||
- variable: volc_api_key
|
||||
required: true
|
||||
show_on:
|
||||
- variable: auth_method
|
||||
value: api_key
|
||||
label:
|
||||
en_US: API Key
|
||||
type: secret-input
|
||||
placeholder:
|
||||
en_US: Enter your API Key
|
||||
zh_Hans: 输入您的 API Key
|
||||
- variable: volc_region
|
||||
required: true
|
||||
label:
|
||||
en_US: Volcengine Region
|
||||
zh_Hans: 火山引擎地域
|
||||
type: text-input
|
||||
default: cn-beijing
|
||||
placeholder:
|
||||
en_US: Enter Volcengine Region
|
||||
zh_Hans: 输入火山引擎地域
|
||||
- variable: api_endpoint_host
|
||||
required: true
|
||||
label:
|
||||
en_US: API Endpoint Host
|
||||
zh_Hans: API Endpoint Host
|
||||
type: text-input
|
||||
default: https://ark.cn-beijing.volces.com/api/v3
|
||||
placeholder:
|
||||
en_US: Enter your API Endpoint Host
|
||||
zh_Hans: 输入 API Endpoint Host
|
||||
- variable: endpoint_id
|
||||
required: true
|
||||
label:
|
||||
en_US: Endpoint ID
|
||||
zh_Hans: Endpoint ID
|
||||
type: text-input
|
||||
placeholder:
|
||||
en_US: Enter your Endpoint ID
|
||||
zh_Hans: 输入您的 Endpoint ID
|
||||
- variable: base_model_name
|
||||
label:
|
||||
en_US: Base Model
|
||||
zh_Hans: 基础模型
|
||||
type: select
|
||||
required: true
|
||||
options:
|
||||
- label:
|
||||
en_US: DeepSeek-R1-Distill-Qwen-32B
|
||||
value: DeepSeek-R1-Distill-Qwen-32B
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: DeepSeek-R1-Distill-Qwen-7B
|
||||
value: DeepSeek-R1-Distill-Qwen-7B
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: DeepSeek-R1
|
||||
value: DeepSeek-R1
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: DeepSeek-V3
|
||||
value: DeepSeek-V3
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-1.5-vision-pro-32k
|
||||
value: Doubao-1.5-vision-pro-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-1.5-pro-32k
|
||||
value: Doubao-1.5-pro-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-1.5-lite-32k
|
||||
value: Doubao-1.5-lite-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-1.5-pro-256k
|
||||
value: Doubao-1.5-pro-256k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-vision-pro-32k
|
||||
value: Doubao-vision-pro-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-vision-lite-32k
|
||||
value: Doubao-vision-lite-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-pro-4k
|
||||
value: Doubao-pro-4k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-lite-4k
|
||||
value: Doubao-lite-4k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-pro-32k
|
||||
value: Doubao-pro-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-lite-32k
|
||||
value: Doubao-lite-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-pro-128k
|
||||
value: Doubao-pro-128k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-lite-128k
|
||||
value: Doubao-lite-128k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-pro-256k
|
||||
value: Doubao-pro-256k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Llama3-8B
|
||||
value: Llama3-8B
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Llama3-70B
|
||||
value: Llama3-70B
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Moonshot-v1-8k
|
||||
value: Moonshot-v1-8k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Moonshot-v1-32k
|
||||
value: Moonshot-v1-32k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Moonshot-v1-128k
|
||||
value: Moonshot-v1-128k
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: GLM3-130B
|
||||
value: GLM3-130B
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: GLM3-130B-Fin
|
||||
value: GLM3-130B-Fin
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Mistral-7B
|
||||
value: Mistral-7B
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- label:
|
||||
en_US: Doubao-embedding
|
||||
value: Doubao-embedding
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: text-embedding
|
||||
- label:
|
||||
en_US: Doubao-embedding-large
|
||||
value: Doubao-embedding-large
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: text-embedding
|
||||
- label:
|
||||
en_US: Custom
|
||||
zh_Hans: 自定义
|
||||
value: Custom
|
||||
- variable: mode
|
||||
required: true
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- variable: base_model_name
|
||||
value: Custom
|
||||
label:
|
||||
zh_Hans: 模型类型
|
||||
en_US: Completion Mode
|
||||
type: select
|
||||
default: chat
|
||||
placeholder:
|
||||
zh_Hans: 选择对话类型
|
||||
en_US: Select Completion Mode
|
||||
options:
|
||||
- value: completion
|
||||
label:
|
||||
en_US: Completion
|
||||
zh_Hans: 补全
|
||||
- value: chat
|
||||
label:
|
||||
en_US: Chat
|
||||
zh_Hans: 对话
|
||||
- variable: context_size
|
||||
required: true
|
||||
show_on:
|
||||
- variable: base_model_name
|
||||
value: Custom
|
||||
label:
|
||||
zh_Hans: 模型上下文长度
|
||||
en_US: Model Context Size
|
||||
type: text-input
|
||||
default: "4096"
|
||||
placeholder:
|
||||
zh_Hans: 输入您的模型上下文长度
|
||||
en_US: Enter your Model Context Size
|
||||
- variable: max_tokens
|
||||
required: true
|
||||
show_on:
|
||||
- variable: __model_type
|
||||
value: llm
|
||||
- variable: base_model_name
|
||||
value: Custom
|
||||
label:
|
||||
zh_Hans: 最大 token 上限
|
||||
en_US: Upper Bound for Max Tokens
|
||||
default: "4096"
|
||||
type: text-input
|
||||
placeholder:
|
||||
zh_Hans: 输入您的模型最大 token 上限
|
||||
en_US: Enter your model Upper Bound for Max Tokens
|
||||
address: https://open.volcengine.com
|
||||
model_config:
|
||||
access_configuration_status: true
|
||||
access_configuration_demo: "{\"endpoint\": \"https://196.1.1.2:3824\"}"
|
||||
@@ -0,0 +1,42 @@
|
||||
<svg width="152" height="24" viewBox="0 0 152 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="xorbits 1" clip-path="url(#clip0_9866_6170)">
|
||||
<path id="Vector" d="M8.00391 12.3124C8.69334 13.0754 9.47526 13.7494 10.3316 14.3188C11.0667 14.8105 11.8509 15.2245 12.6716 15.5541C14.1617 14.1465 15.3959 12.4907 16.3192 10.6606L21.7051 0L12.3133 7.38353C10.5832 8.74456 9.12178 10.416 8.00391 12.3124Z" fill="url(#paint0_linear_9866_6170)"/>
|
||||
<path id="Vector_2" d="M7.23504 18.9512C6.56092 18.5012 5.92386 18.0265 5.3221 17.5394L2.06445 24L7.91975 19.3959C7.69034 19.2494 7.46092 19.103 7.23504 18.9512Z" fill="url(#paint1_linear_9866_6170)"/>
|
||||
<path id="Vector_3" d="M19.3161 8.57474C21.0808 10.9147 21.5961 13.5159 20.3996 15.3053C18.6526 17.9189 13.9161 17.8183 9.82024 15.0812C5.72435 12.3441 3.82024 8.0065 5.56729 5.39297C6.76377 3.60356 9.36318 3.0865 12.2008 3.81886C7.29318 1.73474 2.62376 1.94121 0.813177 4.64474C-1.45976 8.04709 1.64435 14.1177 7.74494 18.1889C13.8455 22.26 20.6361 22.8124 22.9091 19.4118C24.7179 16.703 23.1173 12.3106 19.3161 8.57474Z" fill="url(#paint2_linear_9866_6170)"/>
|
||||
<g id="Xorbits Inference">
|
||||
<path d="M35.5162 12.142L38.5402 17H36.7482L34.5502 13.472L32.4922 17H30.7142L33.7382 12.142L30.7002 7.27002H32.4922L34.7042 10.826L36.7762 7.27002H38.5542L35.5162 12.142Z" fill="#1D2939"/>
|
||||
<path d="M43.3584 17.126C42.6304 17.126 41.9724 16.9627 41.3844 16.636C40.7964 16.3 40.3344 15.8334 39.9984 15.236C39.6624 14.6294 39.4944 13.9293 39.4944 13.136C39.4944 12.352 39.6671 11.6567 40.0124 11.05C40.3577 10.4434 40.8291 9.97668 41.4264 9.65002C42.0237 9.32335 42.6911 9.16002 43.4284 9.16002C44.1657 9.16002 44.8331 9.32335 45.4304 9.65002C46.0277 9.97668 46.4991 10.4434 46.8444 11.05C47.1897 11.6567 47.3624 12.352 47.3624 13.136C47.3624 13.92 47.185 14.6154 46.8304 15.222C46.4757 15.8287 45.9904 16.3 45.3744 16.636C44.7677 16.9627 44.0957 17.126 43.3584 17.126ZM43.3584 15.74C43.769 15.74 44.1517 15.642 44.5064 15.446C44.8704 15.25 45.1644 14.956 45.3884 14.564C45.6124 14.172 45.7244 13.696 45.7244 13.136C45.7244 12.576 45.6171 12.1047 45.4024 11.722C45.1877 11.33 44.9031 11.036 44.5484 10.84C44.1937 10.644 43.8111 10.546 43.4004 10.546C42.9897 10.546 42.607 10.644 42.2524 10.84C41.9071 11.036 41.6317 11.33 41.4264 11.722C41.221 12.1047 41.1184 12.576 41.1184 13.136C41.1184 13.9667 41.3284 14.6107 41.7484 15.068C42.1777 15.516 42.7144 15.74 43.3584 15.74Z" fill="#1D2939"/>
|
||||
<path d="M50.2561 10.406C50.4895 10.014 50.7974 9.71068 51.1801 9.49602C51.5721 9.27202 52.0341 9.16002 52.5661 9.16002V10.812H52.1601C51.5348 10.812 51.0588 10.9707 50.7321 11.288C50.4148 11.6054 50.2561 12.156 50.2561 12.94V17H48.6601V9.28602H50.2561V10.406Z" fill="#1D2939"/>
|
||||
<path d="M55.3492 10.434C55.6198 10.0607 55.9885 9.75735 56.4552 9.52402C56.9312 9.28135 57.4585 9.16002 58.0372 9.16002C58.7185 9.16002 59.3345 9.32335 59.8852 9.65002C60.4358 9.97668 60.8698 10.4434 61.1872 11.05C61.5045 11.6473 61.6632 12.3333 61.6632 13.108C61.6632 13.8827 61.5045 14.578 61.1872 15.194C60.8698 15.8007 60.4312 16.2767 59.8712 16.622C59.3205 16.958 58.7092 17.126 58.0372 17.126C57.4398 17.126 56.9078 17.0093 56.4412 16.776C55.9838 16.5427 55.6198 16.244 55.3492 15.88V17H53.7532V6.64002H55.3492V10.434ZM60.0392 13.108C60.0392 12.576 59.9272 12.1187 59.7032 11.736C59.4885 11.344 59.1992 11.05 58.8352 10.854C58.4805 10.6487 58.0978 10.546 57.6872 10.546C57.2858 10.546 56.9032 10.6487 56.5392 10.854C56.1845 11.0594 55.8952 11.358 55.6712 11.75C55.4565 12.142 55.3492 12.604 55.3492 13.136C55.3492 13.668 55.4565 14.1347 55.6712 14.536C55.8952 14.928 56.1845 15.2267 56.5392 15.432C56.9032 15.6374 57.2858 15.74 57.6872 15.74C58.0978 15.74 58.4805 15.6374 58.8352 15.432C59.1992 15.2174 59.4885 14.9093 59.7032 14.508C59.9272 14.1067 60.0392 13.64 60.0392 13.108Z" fill="#1D2939"/>
|
||||
<path d="M63.7734 8.26402C63.4841 8.26402 63.2414 8.16602 63.0454 7.97002C62.8494 7.77402 62.7514 7.53135 62.7514 7.24202C62.7514 6.95268 62.8494 6.71002 63.0454 6.51402C63.2414 6.31802 63.4841 6.22002 63.7734 6.22002C64.0534 6.22002 64.2914 6.31802 64.4874 6.51402C64.6834 6.71002 64.7814 6.95268 64.7814 7.24202C64.7814 7.53135 64.6834 7.77402 64.4874 7.97002C64.2914 8.16602 64.0534 8.26402 63.7734 8.26402ZM64.5574 9.28602V17H62.9614V9.28602H64.5574Z" fill="#1D2939"/>
|
||||
<path d="M68.2348 10.588V14.858C68.2348 15.1474 68.3002 15.3573 68.4309 15.488C68.5709 15.6093 68.8042 15.67 69.1308 15.67H70.1109V17H68.8508C68.1322 17 67.5815 16.832 67.1988 16.496C66.8162 16.16 66.6248 15.614 66.6248 14.858V10.588H65.7148V9.28602H66.6248V7.36802H68.2348V9.28602H70.1109V10.588H68.2348Z" fill="#1D2939"/>
|
||||
<path d="M74.1018 17.126C73.4952 17.126 72.9492 17.0187 72.4638 16.804C71.9878 16.58 71.6098 16.2813 71.3298 15.908C71.0498 15.5253 70.9005 15.1007 70.8818 14.634H72.5338C72.5618 14.9607 72.7158 15.236 72.9958 15.46C73.2852 15.6747 73.6445 15.782 74.0738 15.782C74.5218 15.782 74.8672 15.698 75.1098 15.53C75.3618 15.3527 75.4878 15.1287 75.4878 14.858C75.4878 14.5687 75.3478 14.354 75.0678 14.214C74.7972 14.074 74.3632 13.92 73.7658 13.752C73.1872 13.5933 72.7158 13.4394 72.3518 13.29C71.9878 13.1407 71.6705 12.912 71.3998 12.604C71.1385 12.296 71.0078 11.89 71.0078 11.386C71.0078 10.9753 71.1292 10.602 71.3718 10.266C71.6145 9.92068 71.9598 9.65002 72.4078 9.45402C72.8652 9.25802 73.3878 9.16002 73.9758 9.16002C74.8532 9.16002 75.5578 9.38402 76.0898 9.83202C76.6312 10.2707 76.9205 10.8727 76.9578 11.638H75.3618C75.3338 11.2927 75.1938 11.0173 74.9418 10.812C74.6898 10.6067 74.3492 10.504 73.9198 10.504C73.4998 10.504 73.1778 10.5833 72.9538 10.742C72.7298 10.9007 72.6178 11.1107 72.6178 11.372C72.6178 11.5773 72.6925 11.75 72.8418 11.89C72.9912 12.03 73.1732 12.142 73.3878 12.226C73.6025 12.3007 73.9198 12.3987 74.3398 12.52C74.8998 12.6693 75.3572 12.8233 75.7118 12.982C76.0758 13.1314 76.3885 13.3554 76.6498 13.654C76.9112 13.9527 77.0465 14.3493 77.0558 14.844C77.0558 15.2827 76.9345 15.6747 76.6918 16.02C76.4492 16.3654 76.1038 16.636 75.6558 16.832C75.2172 17.028 74.6992 17.126 74.1018 17.126Z" fill="#1D2939"/>
|
||||
<path d="M83.4531 7.27002V17H81.8571V7.27002H83.4531Z" fill="#1D2939"/>
|
||||
<path d="M89.1605 9.16002C89.7671 9.16002 90.3085 9.28602 90.7845 9.53802C91.2698 9.79002 91.6478 10.1633 91.9185 10.658C92.1891 11.1527 92.3245 11.75 92.3245 12.45V17H90.7425V12.688C90.7425 11.9973 90.5698 11.47 90.2245 11.106C89.8791 10.7327 89.4078 10.546 88.8105 10.546C88.2131 10.546 87.7371 10.7327 87.3825 11.106C87.0371 11.47 86.8645 11.9973 86.8645 12.688V17H85.2685V9.28602H86.8645V10.168C87.1258 9.85068 87.4571 9.60335 87.8585 9.42602C88.2691 9.24868 88.7031 9.16002 89.1605 9.16002Z" fill="#1D2939"/>
|
||||
<path d="M97.3143 10.588H95.8863V17H94.2763V10.588H93.3663V9.28602H94.2763V8.74002C94.2763 7.85335 94.5096 7.20935 94.9763 6.80802C95.4523 6.39735 96.1943 6.19202 97.2023 6.19202V7.52202C96.7169 7.52202 96.3763 7.61535 96.1803 7.80202C95.9843 7.97935 95.8863 8.29202 95.8863 8.74002V9.28602H97.3143V10.588Z" fill="#1D2939"/>
|
||||
<path d="M105.519 12.954C105.519 13.2433 105.5 13.5047 105.463 13.738H99.5687C99.6154 14.354 99.844 14.8487 100.255 15.222C100.665 15.5954 101.169 15.782 101.767 15.782C102.625 15.782 103.232 15.4227 103.587 14.704H105.309C105.075 15.4133 104.651 15.9967 104.035 16.454C103.428 16.902 102.672 17.126 101.767 17.126C101.029 17.126 100.367 16.9627 99.7787 16.636C99.2 16.3 98.7427 15.8334 98.4067 15.236C98.08 14.6294 97.9167 13.9293 97.9167 13.136C97.9167 12.3427 98.0754 11.6473 98.3927 11.05C98.7194 10.4434 99.172 9.97668 99.7507 9.65002C100.339 9.32335 101.011 9.16002 101.767 9.16002C102.495 9.16002 103.143 9.31868 103.713 9.63602C104.282 9.95335 104.725 10.4014 105.043 10.98C105.36 11.5493 105.519 12.2073 105.519 12.954ZM103.853 12.45C103.843 11.862 103.633 11.3907 103.223 11.036C102.812 10.6813 102.303 10.504 101.697 10.504C101.146 10.504 100.675 10.6813 100.283 11.036C99.8907 11.3813 99.6574 11.8527 99.5827 12.45H103.853Z" fill="#1D2939"/>
|
||||
<path d="M108.405 10.406C108.639 10.014 108.947 9.71068 109.329 9.49602C109.721 9.27202 110.183 9.16002 110.715 9.16002V10.812H110.309C109.684 10.812 109.208 10.9707 108.881 11.288C108.564 11.6054 108.405 12.156 108.405 12.94V17H106.809V9.28602H108.405V10.406Z" fill="#1D2939"/>
|
||||
<path d="M118.972 12.954C118.972 13.2433 118.954 13.5047 118.916 13.738H113.022C113.069 14.354 113.298 14.8487 113.708 15.222C114.119 15.5954 114.623 15.782 115.22 15.782C116.079 15.782 116.686 15.4227 117.04 14.704H118.762C118.529 15.4133 118.104 15.9967 117.488 16.454C116.882 16.902 116.126 17.126 115.22 17.126C114.483 17.126 113.82 16.9627 113.232 16.636C112.654 16.3 112.196 15.8334 111.86 15.236C111.534 14.6294 111.37 13.9293 111.37 13.136C111.37 12.3427 111.529 11.6473 111.846 11.05C112.173 10.4434 112.626 9.97668 113.204 9.65002C113.792 9.32335 114.464 9.16002 115.22 9.16002C115.948 9.16002 116.597 9.31868 117.166 9.63602C117.736 9.95335 118.179 10.4014 118.496 10.98C118.814 11.5493 118.972 12.2073 118.972 12.954ZM117.306 12.45C117.297 11.862 117.087 11.3907 116.676 11.036C116.266 10.6813 115.757 10.504 115.15 10.504C114.6 10.504 114.128 10.6813 113.736 11.036C113.344 11.3813 113.111 11.8527 113.036 12.45H117.306Z" fill="#1D2939"/>
|
||||
<path d="M124.155 9.16002C124.762 9.16002 125.303 9.28602 125.779 9.53802C126.264 9.79002 126.642 10.1633 126.913 10.658C127.184 11.1527 127.319 11.75 127.319 12.45V17H125.737V12.688C125.737 11.9973 125.564 11.47 125.219 11.106C124.874 10.7327 124.402 10.546 123.805 10.546C123.208 10.546 122.732 10.7327 122.377 11.106C122.032 11.47 121.859 11.9973 121.859 12.688V17H120.263V9.28602H121.859V10.168C122.12 9.85068 122.452 9.60335 122.853 9.42602C123.264 9.24868 123.698 9.16002 124.155 9.16002Z" fill="#1D2939"/>
|
||||
<path d="M128.543 13.136C128.543 12.3427 128.701 11.6473 129.019 11.05C129.345 10.4434 129.793 9.97668 130.363 9.65002C130.932 9.32335 131.585 9.16002 132.323 9.16002C133.256 9.16002 134.026 9.38402 134.633 9.83202C135.249 10.2707 135.664 10.9007 135.879 11.722H134.157C134.017 11.3394 133.793 11.0407 133.485 10.826C133.177 10.6113 132.789 10.504 132.323 10.504C131.669 10.504 131.147 10.7373 130.755 11.204C130.372 11.6613 130.181 12.3053 130.181 13.136C130.181 13.9667 130.372 14.6153 130.755 15.082C131.147 15.5487 131.669 15.782 132.323 15.782C133.247 15.782 133.858 15.376 134.157 14.564H135.879C135.655 15.348 135.235 15.9733 134.619 16.44C134.003 16.8973 133.237 17.126 132.323 17.126C131.585 17.126 130.932 16.9627 130.363 16.636C129.793 16.3 129.345 15.8334 129.019 15.236C128.701 14.6294 128.543 13.9293 128.543 13.136Z" fill="#1D2939"/>
|
||||
<path d="M144.259 12.954C144.259 13.2433 144.241 13.5047 144.203 13.738H138.309C138.356 14.354 138.585 14.8487 138.995 15.222C139.406 15.5954 139.91 15.782 140.507 15.782C141.366 15.782 141.973 15.4227 142.327 14.704H144.049C143.816 15.4133 143.391 15.9967 142.775 16.454C142.169 16.902 141.413 17.126 140.507 17.126C139.77 17.126 139.107 16.9627 138.519 16.636C137.941 16.3 137.483 15.8334 137.147 15.236C136.821 14.6294 136.657 13.9293 136.657 13.136C136.657 12.3427 136.816 11.6473 137.133 11.05C137.46 10.4434 137.913 9.97668 138.491 9.65002C139.079 9.32335 139.751 9.16002 140.507 9.16002C141.235 9.16002 141.884 9.31868 142.453 9.63602C143.023 9.95335 143.466 10.4014 143.783 10.98C144.101 11.5493 144.259 12.2073 144.259 12.954ZM142.593 12.45C142.584 11.862 142.374 11.3907 141.963 11.036C141.553 10.6813 141.044 10.504 140.437 10.504C139.887 10.504 139.415 10.6813 139.023 11.036C138.631 11.3813 138.398 11.8527 138.323 12.45H142.593Z" fill="#1D2939"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_9866_6170" x1="2.15214" y1="24.3018" x2="21.2921" y2="0.0988218" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E9A85E"/>
|
||||
<stop offset="1" stop-color="#F52B76"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_9866_6170" x1="2.06269" y1="24.2294" x2="21.2027" y2="0.028252" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E9A85E"/>
|
||||
<stop offset="1" stop-color="#F52B76"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_9866_6170" x1="-0.613606" y1="3.843" x2="21.4449" y2="18.7258" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#6A0CF5"/>
|
||||
<stop offset="1" stop-color="#AB66F3"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_9866_6170">
|
||||
<rect width="152" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,24 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Xorbits Square" clip-path="url(#clip0_9850_26870)">
|
||||
<path id="Vector" d="M8.00391 12.3124C8.69334 13.0754 9.47526 13.7494 10.3316 14.3188C11.0667 14.8105 11.8509 15.2245 12.6716 15.5541C14.1617 14.1465 15.3959 12.4907 16.3192 10.6606L21.7051 0L12.3133 7.38353C10.5832 8.74456 9.12178 10.416 8.00391 12.3124Z" fill="url(#paint0_linear_9850_26870)"/>
|
||||
<path id="Vector_2" d="M7.23504 18.9512C6.56092 18.5012 5.92386 18.0265 5.3221 17.5394L2.06445 24L7.91975 19.3959C7.69034 19.2494 7.46092 19.103 7.23504 18.9512Z" fill="url(#paint1_linear_9850_26870)"/>
|
||||
<path id="Vector_3" d="M19.3161 8.57474C21.0808 10.9147 21.5961 13.5159 20.3996 15.3053C18.6526 17.9189 13.9161 17.8183 9.82024 15.0812C5.72435 12.3441 3.82024 8.0065 5.56729 5.39297C6.76377 3.60356 9.36318 3.0865 12.2008 3.81886C7.29318 1.73474 2.62376 1.94121 0.813177 4.64474C-1.45976 8.04709 1.64435 14.1177 7.74494 18.1889C13.8455 22.26 20.6361 22.8124 22.9091 19.4118C24.7179 16.703 23.1173 12.3106 19.3161 8.57474Z" fill="url(#paint2_linear_9850_26870)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_9850_26870" x1="2.15214" y1="24.3018" x2="21.2921" y2="0.0988218" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E9A85E"/>
|
||||
<stop offset="1" stop-color="#F52B76"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_9850_26870" x1="2.06269" y1="24.2294" x2="21.2027" y2="0.028252" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E9A85E"/>
|
||||
<stop offset="1" stop-color="#F52B76"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_9850_26870" x1="-0.613606" y1="3.843" x2="21.4449" y2="18.7258" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#6A0CF5"/>
|
||||
<stop offset="1" stop-color="#AB66F3"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_9850_26870">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1,79 @@
|
||||
provider: xinference
|
||||
label:
|
||||
en_US: Xorbits Inference
|
||||
icon_small:
|
||||
en_US: icon_s_en.svg
|
||||
icon_large:
|
||||
en_US: icon_l_en.svg
|
||||
background: "#FAF5FF"
|
||||
help:
|
||||
title:
|
||||
en_US: How to deploy Xinference
|
||||
zh_Hans: 如何部署 Xinference
|
||||
url:
|
||||
en_US: https://github.com/xorbitsai/inference
|
||||
supported_model_types:
|
||||
- llm
|
||||
- text-embedding
|
||||
- rerank
|
||||
- speech2text
|
||||
- tts
|
||||
configurate_methods:
|
||||
- customizable-model
|
||||
model_credential_schema:
|
||||
model:
|
||||
label:
|
||||
en_US: Model Name
|
||||
zh_Hans: 模型名称
|
||||
placeholder:
|
||||
en_US: Enter your model name
|
||||
zh_Hans: 输入模型名称
|
||||
credential_form_schemas:
|
||||
- variable: server_url
|
||||
label:
|
||||
zh_Hans: 服务器URL
|
||||
en_US: Server url
|
||||
type: secret-input
|
||||
required: true
|
||||
placeholder:
|
||||
zh_Hans: 在此输入Xinference的服务器地址,如 http://192.168.1.100:9997
|
||||
en_US: Enter the url of your Xinference, e.g. http://192.168.1.100:9997
|
||||
- variable: model_uid
|
||||
label:
|
||||
zh_Hans: 模型UID
|
||||
en_US: Model uid
|
||||
type: text-input
|
||||
required: true
|
||||
placeholder:
|
||||
zh_Hans: 在此输入您的Model UID
|
||||
en_US: Enter the model uid
|
||||
- variable: api_key
|
||||
label:
|
||||
zh_Hans: API密钥
|
||||
en_US: API key
|
||||
type: secret-input
|
||||
required: false
|
||||
placeholder:
|
||||
zh_Hans: 在此输入您的API密钥
|
||||
en_US: Enter the api key
|
||||
- variable: invoke_timeout
|
||||
label:
|
||||
zh_Hans: 调用超时时间 (单位:秒)
|
||||
en_US: invoke timeout (unit:second)
|
||||
type: text-input
|
||||
required: true
|
||||
default: '60'
|
||||
placeholder:
|
||||
zh_Hans: 在此输入调用超时时间
|
||||
en_US: Enter invoke timeout value
|
||||
- variable: max_retries
|
||||
label:
|
||||
zh_Hans: 调用重试次数
|
||||
en_US: max retries
|
||||
type: text-input
|
||||
required: true
|
||||
default: '3'
|
||||
placeholder:
|
||||
zh_Hans: 在此输入调用重试次数
|
||||
en_US: Enter max retries
|
||||
address: https://xinference.ai
|
||||
@@ -3,32 +3,84 @@ package model_runtime
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/APIParkLab/APIPark/ai-provider/model-runtime/entity"
|
||||
"github.com/APIParkLab/APIPark/common"
|
||||
"gopkg.in/yaml.v3"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type IModel interface {
|
||||
ID() string
|
||||
Name() string
|
||||
Logo() string
|
||||
Source() string
|
||||
SetLogo(logo string)
|
||||
AccessConfiguration() string
|
||||
ModelParameters() string
|
||||
IConfig
|
||||
}
|
||||
|
||||
type Model struct {
|
||||
id string
|
||||
logo string
|
||||
id string
|
||||
logo string
|
||||
name string
|
||||
accessConfiguration string
|
||||
modelParameters string
|
||||
// default: ""/"system", "customize"
|
||||
source string
|
||||
//defaultConfig string
|
||||
IConfig
|
||||
//validator IParamValidator
|
||||
}
|
||||
|
||||
func (m *Model) SetLogo(logo string) {
|
||||
m.logo = logo
|
||||
}
|
||||
|
||||
func (m *Model) Name() string {
|
||||
return m.name
|
||||
}
|
||||
|
||||
type CustomizeProviderConfig struct {
|
||||
ApiEndpointUrl string `json:"api_endpoint_url"`
|
||||
ApiKey string `json:"api_key"`
|
||||
}
|
||||
|
||||
func (m *Model) ID() string {
|
||||
return m.id
|
||||
}
|
||||
|
||||
func (m *Model) Source() string {
|
||||
return m.source
|
||||
}
|
||||
|
||||
func (m *Model) Logo() string {
|
||||
return m.logo
|
||||
}
|
||||
|
||||
func (m *Model) AccessConfiguration() string {
|
||||
return m.accessConfiguration
|
||||
}
|
||||
|
||||
func (m *Model) ModelParameters() string {
|
||||
return m.modelParameters
|
||||
}
|
||||
|
||||
func NewCustomizeModel(id string, name string, logo string, accessConfiguration string, modelParameters string) (IModel, error) {
|
||||
if logo == "" {
|
||||
logo = GetCustomizeLogo()
|
||||
}
|
||||
// handle access_config & model_config
|
||||
config := common.MergeJSON(accessConfiguration, modelParameters)
|
||||
return &Model{
|
||||
id: id,
|
||||
name: name,
|
||||
logo: logo,
|
||||
source: "customize",
|
||||
accessConfiguration: accessConfiguration,
|
||||
IConfig: NewConfig(config, nil),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func NewModel(data string, logo string) (IModel, error) {
|
||||
var cfg entity.AIModel
|
||||
err := yaml.Unmarshal([]byte(data), &cfg)
|
||||
@@ -100,8 +152,10 @@ func NewModel(data string, logo string) (IModel, error) {
|
||||
return nil, err
|
||||
}
|
||||
return &Model{
|
||||
id: cfg.Model,
|
||||
logo: logo,
|
||||
IConfig: NewConfig(string(dCfg), params),
|
||||
id: cfg.Model,
|
||||
name: cfg.Model,
|
||||
logo: logo,
|
||||
accessConfiguration: "",
|
||||
IConfig: NewConfig(string(dCfg), params),
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
yaml "gopkg.in/yaml.v3"
|
||||
|
||||
@@ -17,6 +18,10 @@ const (
|
||||
|
||||
type IProvider interface {
|
||||
IProviderInfo
|
||||
GetModelConfig() ModelConfig
|
||||
SetModelsByType(modelType string, models []IModel)
|
||||
SetModel(id string, model IModel)
|
||||
SetDefaultModel(modelType string, model IModel)
|
||||
GetModel(name string) (IModel, bool)
|
||||
Models() []IModel
|
||||
ModelsByType(modelType string) ([]IModel, bool)
|
||||
@@ -41,6 +46,58 @@ type IProviderInfo interface {
|
||||
URI() IProviderURI
|
||||
}
|
||||
|
||||
func GetCustomizeLogo() string {
|
||||
logo, _ := providerDir.ReadFile("customize/assets/icon_s_en.svg")
|
||||
|
||||
return string(logo)
|
||||
}
|
||||
|
||||
func NewCustomizeProvider(id string, name string, models []IModel, defaultModel string, config string) (IProvider, error) {
|
||||
var providerCfg CustomizeProviderConfig
|
||||
if strings.TrimSpace(config) != "" {
|
||||
err := json.Unmarshal([]byte(config), &providerCfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
uri, err := newProviderUri(providerCfg.ApiEndpointUrl)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
provider := &Provider{
|
||||
id: id,
|
||||
name: name,
|
||||
logo: GetCustomizeLogo(),
|
||||
helpUrl: "",
|
||||
models: eosc.BuildUntyped[string, IModel](),
|
||||
defaultModels: eosc.BuildUntyped[string, IModel](),
|
||||
modelsByType: eosc.BuildUntyped[string, []IModel](),
|
||||
maskKeys: make([]string, 0),
|
||||
recommend: false,
|
||||
sort: 0,
|
||||
uri: uri,
|
||||
modelConfig: ModelConfig{
|
||||
AccessConfigurationStatus: false,
|
||||
AccessConfigurationDemo: "",
|
||||
},
|
||||
}
|
||||
provider.IConfig = NewConfig("", nil)
|
||||
|
||||
for _, model := range models {
|
||||
provider.SetModel(model.ID(), model)
|
||||
if defaultModel == "" {
|
||||
defaultModel = model.ID()
|
||||
}
|
||||
if model.ID() == defaultModel {
|
||||
provider.SetDefaultModel(name, model)
|
||||
}
|
||||
}
|
||||
provider.SetModelsByType(ModelTypeLLM, models)
|
||||
|
||||
return provider, nil
|
||||
}
|
||||
|
||||
func NewProvider(providerData string, modelContents map[string]eosc.Untyped[string, string]) (IProvider, error) {
|
||||
var providerCfg entity.Provider
|
||||
err := yaml.Unmarshal([]byte(providerData), &providerCfg)
|
||||
@@ -77,6 +134,10 @@ func NewProvider(providerData string, modelContents map[string]eosc.Untyped[stri
|
||||
recommend: providerCfg.Recommend,
|
||||
sort: providerCfg.Sort,
|
||||
uri: uri,
|
||||
modelConfig: ModelConfig{
|
||||
AccessConfigurationStatus: providerCfg.ModelConfig.AccessConfigurationStatus,
|
||||
AccessConfigurationDemo: providerCfg.ModelConfig.AccessConfigurationDemo,
|
||||
},
|
||||
}
|
||||
defaultCfg := make(map[string]string)
|
||||
params := make(ParamValidator, 0, len(providerCfg.ProviderCredentialSchema.CredentialFormSchemas))
|
||||
@@ -132,9 +193,19 @@ type Provider struct {
|
||||
uri IProviderURI
|
||||
sort int
|
||||
recommend bool
|
||||
modelConfig ModelConfig
|
||||
IConfig
|
||||
}
|
||||
|
||||
type ModelConfig struct {
|
||||
AccessConfigurationStatus bool
|
||||
AccessConfigurationDemo string
|
||||
}
|
||||
|
||||
func (p *Provider) GetModelConfig() ModelConfig {
|
||||
return p.modelConfig
|
||||
}
|
||||
|
||||
func (p *Provider) Sort() int {
|
||||
return p.sort
|
||||
}
|
||||
@@ -202,6 +273,10 @@ func (p *Provider) SetModel(id string, model IModel) {
|
||||
p.models.Set(id, model)
|
||||
}
|
||||
|
||||
func (p *Provider) RemoveModel(id string) {
|
||||
p.models.Del(id)
|
||||
}
|
||||
|
||||
func (p *Provider) SetModelsByType(modelType string, models []IModel) {
|
||||
p.modelsByType.Set(modelType, models)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func MergeJSON(json1, json2 string) string {
|
||||
var data1, data2 map[string]interface{}
|
||||
if strings.TrimSpace(json1) != "" {
|
||||
if err := json.Unmarshal([]byte(json1), &data1); err != nil {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
if strings.TrimSpace(json2) != "" {
|
||||
if err := json.Unmarshal([]byte(json2), &data2); err != nil {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
merged := make(map[string]interface{})
|
||||
// copy data1
|
||||
for k, v := range data1 {
|
||||
merged[k] = v
|
||||
}
|
||||
// merge data2 & cover same key
|
||||
for k, v := range data2 {
|
||||
merged[k] = v
|
||||
}
|
||||
// transfer to json string
|
||||
result, err := json.Marshal(merged)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return string(result)
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
model_dto "github.com/APIParkLab/APIPark/module/ai-model/dto"
|
||||
"github.com/eolinker/go-common/autowire"
|
||||
"github.com/gin-gonic/gin"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
type IProviderModelController interface {
|
||||
AddProviderModel(ctx *gin.Context, provider string, input *model_dto.Model) (*model_dto.SimpleModel, error)
|
||||
UpdateProviderModel(ctx *gin.Context, provider string, input *model_dto.EditModel) error
|
||||
DeleteProviderModel(ctx *gin.Context, provider string, id string) error
|
||||
}
|
||||
|
||||
func init() {
|
||||
autowire.Auto[IProviderModelController](func() reflect.Value {
|
||||
return reflect.ValueOf(&imlProviderModelController{})
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
ai_model "github.com/APIParkLab/APIPark/module/ai-model"
|
||||
model_dto "github.com/APIParkLab/APIPark/module/ai-model/dto"
|
||||
"github.com/gin-gonic/gin"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var (
|
||||
_ IProviderModelController = (*imlProviderModelController)(nil)
|
||||
)
|
||||
|
||||
type imlProviderModelController struct {
|
||||
module ai_model.IProviderModelModule `autowired:""`
|
||||
}
|
||||
|
||||
func (i *imlProviderModelController) UpdateProviderModel(ctx *gin.Context, provider string, input *model_dto.EditModel) error {
|
||||
if strings.TrimSpace(input.Name) == "" {
|
||||
return fmt.Errorf("name is empty")
|
||||
}
|
||||
if strings.TrimSpace(input.Id) == "" {
|
||||
return fmt.Errorf("id is empty")
|
||||
}
|
||||
if strings.TrimSpace(provider) == "" {
|
||||
return fmt.Errorf("provider is empty")
|
||||
}
|
||||
// check access config & model parameter is json format
|
||||
if strings.TrimSpace(input.AccessConfiguration) != "" && !json.Valid([]byte(input.AccessConfiguration)) {
|
||||
return fmt.Errorf("access configuration is not json format")
|
||||
}
|
||||
if strings.TrimSpace(input.ModelParameters) != "" && !json.Valid([]byte(input.ModelParameters)) {
|
||||
return fmt.Errorf("model parameters is not json format")
|
||||
}
|
||||
|
||||
return i.module.UpdateProviderModel(ctx, provider, input)
|
||||
}
|
||||
|
||||
func (i *imlProviderModelController) DeleteProviderModel(ctx *gin.Context, provider string, id string) error {
|
||||
if strings.TrimSpace(id) == "" {
|
||||
return fmt.Errorf("id is empty")
|
||||
}
|
||||
if strings.TrimSpace(provider) == "" {
|
||||
return fmt.Errorf("provider is empty")
|
||||
}
|
||||
|
||||
return i.module.DeleteProviderModel(ctx, provider, id)
|
||||
}
|
||||
|
||||
func (i *imlProviderModelController) AddProviderModel(ctx *gin.Context, provider string, input *model_dto.Model) (*model_dto.SimpleModel, error) {
|
||||
if strings.TrimSpace(input.Name) == "" {
|
||||
return nil, fmt.Errorf("name is empty")
|
||||
}
|
||||
if strings.TrimSpace(provider) == "" {
|
||||
return nil, fmt.Errorf("provider is empty")
|
||||
}
|
||||
// check access config & model parameter is json format
|
||||
if strings.TrimSpace(input.AccessConfiguration) != "" && !json.Valid([]byte(input.AccessConfiguration)) {
|
||||
return nil, fmt.Errorf("access configuration is not json format")
|
||||
}
|
||||
if strings.TrimSpace(input.ModelParameters) != "" && !json.Valid([]byte(input.ModelParameters)) {
|
||||
return nil, fmt.Errorf("model parameters is not json format")
|
||||
}
|
||||
return i.module.AddProviderModel(ctx, provider, input)
|
||||
}
|
||||
@@ -22,6 +22,7 @@ type IProviderController interface {
|
||||
UpdateProviderDefaultLLM(ctx *gin.Context, id string, input *ai_dto.UpdateLLM) error
|
||||
Delete(ctx *gin.Context, id string) error
|
||||
//Sort(ctx *gin.Context, input *ai_dto.Sort) error
|
||||
AddProvider(ctx *gin.Context, input *ai_dto.NewProvider) (*ai_dto.SimpleProvider, error)
|
||||
}
|
||||
|
||||
type IStatisticController interface {
|
||||
|
||||
@@ -2,7 +2,9 @@ package ai
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/APIParkLab/APIPark/module/ai"
|
||||
ai_dto "github.com/APIParkLab/APIPark/module/ai/dto"
|
||||
@@ -21,6 +23,13 @@ func (i *imlProviderController) Delete(ctx *gin.Context, id string) error {
|
||||
return i.module.Delete(ctx, id)
|
||||
}
|
||||
|
||||
func (i *imlProviderController) AddProvider(ctx *gin.Context, input *ai_dto.NewProvider) (*ai_dto.SimpleProvider, error) {
|
||||
if strings.TrimSpace(input.Name) == "" {
|
||||
return nil, fmt.Errorf("name is empty")
|
||||
}
|
||||
return i.module.AddProvider(ctx, input)
|
||||
}
|
||||
|
||||
//func (i *imlProviderController) Sort(ctx *gin.Context, input *ai_dto.Sort) error {
|
||||
// return i.module.Sort(ctx, input)
|
||||
//}
|
||||
@@ -67,6 +76,9 @@ func (i *imlProviderController) Disable(ctx *gin.Context, id string) error {
|
||||
}
|
||||
|
||||
func (i *imlProviderController) UpdateProviderConfig(ctx *gin.Context, id string, input *ai_dto.UpdateConfig) error {
|
||||
if strings.TrimSpace(id) == "" {
|
||||
return fmt.Errorf("id is empty")
|
||||
}
|
||||
return i.module.UpdateProviderConfig(ctx, id, input)
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ github.com/getkin/kin-openapi v0.127.0 h1:Mghqi3Dhryf3F8vR370nN67pAERW+3a95vomb3
|
||||
github.com/getkin/kin-openapi v0.127.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM=
|
||||
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/gin-contrib/gzip v1.0.1 h1:HQ8ENHODeLY7a4g1Au/46Z92bdGFl74OhxcZble9WJE=
|
||||
github.com/gin-contrib/gzip v1.0.1/go.mod h1:njt428fdUNRvjuJf16tZMYZ2Yl+WQB53X5wmhDwXvC4=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package model_dto
|
||||
|
||||
type Model struct {
|
||||
Name string `json:"name"`
|
||||
AccessConfiguration string `json:"access_configuration"`
|
||||
ModelParameters string `json:"model_parameters"`
|
||||
}
|
||||
|
||||
type EditModel struct {
|
||||
Id string `json:"id"`
|
||||
Model
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package model_dto
|
||||
|
||||
type SimpleModel struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
model_runtime "github.com/APIParkLab/APIPark/ai-provider/model-runtime"
|
||||
model_dto "github.com/APIParkLab/APIPark/module/ai-model/dto"
|
||||
"github.com/APIParkLab/APIPark/service/ai"
|
||||
ai_model "github.com/APIParkLab/APIPark/service/ai-model"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
|
||||
"github.com/eolinker/go-common/store"
|
||||
)
|
||||
|
||||
var (
|
||||
_ IProviderModelModule = (*imlProviderModelModule)(nil)
|
||||
)
|
||||
|
||||
type imlProviderModelModule struct {
|
||||
providerService ai.IProviderService `autowired:""`
|
||||
providerModelService ai_model.IProviderModelService `autowired:""`
|
||||
transaction store.ITransaction `autowired:""`
|
||||
}
|
||||
|
||||
func (i imlProviderModelModule) UpdateProviderModel(ctx *gin.Context, provider string, input *model_dto.EditModel) error {
|
||||
p, has := model_runtime.GetProvider(provider)
|
||||
if !has {
|
||||
return fmt.Errorf("ai provider not found")
|
||||
}
|
||||
// check provider exist
|
||||
providerInfo, err := i.providerService.Get(ctx, provider)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if providerInfo == nil {
|
||||
return fmt.Errorf("provider not found")
|
||||
}
|
||||
modelInfo, _ := i.providerModelService.Get(ctx, input.Id)
|
||||
if modelInfo == nil || modelInfo.Provider != provider {
|
||||
return fmt.Errorf("model not found")
|
||||
}
|
||||
// check model name duplicate
|
||||
if has := i.providerModelService.CheckNameDuplicate(ctx, provider, input.Name, input.Id); has {
|
||||
return fmt.Errorf("model name: `%s` duplicate", input.Name)
|
||||
}
|
||||
if err := i.providerModelService.Save(ctx, input.Id, &ai_model.Model{
|
||||
Name: &input.Name,
|
||||
AccessConfiguration: &input.AccessConfiguration,
|
||||
ModelParameters: &input.ModelParameters,
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
// update provider model
|
||||
iModel, _ := model_runtime.NewCustomizeModel(input.Id, input.Name, p.Logo(), input.AccessConfiguration, input.ModelParameters)
|
||||
p.SetModel(input.Id, iModel)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (i imlProviderModelModule) DeleteProviderModel(ctx *gin.Context, provider string, id string) error {
|
||||
// check provider exist
|
||||
providerInfo, err := i.providerService.Get(ctx, provider)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if providerInfo == nil {
|
||||
return fmt.Errorf("provider not found")
|
||||
}
|
||||
modelInfo, _ := i.providerModelService.Get(ctx, id)
|
||||
if modelInfo == nil || modelInfo.Provider != provider {
|
||||
return fmt.Errorf("model not found")
|
||||
}
|
||||
return i.providerModelService.Delete(ctx, id)
|
||||
}
|
||||
|
||||
func (i imlProviderModelModule) AddProviderModel(ctx *gin.Context, provider string, input *model_dto.Model) (*model_dto.SimpleModel, error) {
|
||||
p, has := model_runtime.GetProvider(provider)
|
||||
if !has {
|
||||
return nil, fmt.Errorf("ai provider not found")
|
||||
}
|
||||
// check provider exist
|
||||
providerInfo, err := i.providerService.Get(ctx, provider)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if providerInfo == nil {
|
||||
return nil, fmt.Errorf("provider not found")
|
||||
}
|
||||
// check model name duplicate
|
||||
if has := i.providerModelService.CheckNameDuplicate(ctx, provider, input.Name, ""); has {
|
||||
return nil, fmt.Errorf("model name: `%s` duplicate", input.Name)
|
||||
}
|
||||
id := uuid.New().String()
|
||||
typeValue := "chat"
|
||||
if err := i.providerModelService.Save(ctx, id, &ai_model.Model{
|
||||
Name: &input.Name,
|
||||
Type: &typeValue,
|
||||
Provider: &provider,
|
||||
AccessConfiguration: &input.AccessConfiguration,
|
||||
ModelParameters: &input.ModelParameters,
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// update provider model
|
||||
iModel, _ := model_runtime.NewCustomizeModel(id, input.Name, p.Logo(), input.AccessConfiguration, input.ModelParameters)
|
||||
p.SetModel(id, iModel)
|
||||
return &model_dto.SimpleModel{
|
||||
Id: id,
|
||||
Name: input.Name,
|
||||
}, nil
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
model_dto "github.com/APIParkLab/APIPark/module/ai-model/dto"
|
||||
"github.com/gin-gonic/gin"
|
||||
"reflect"
|
||||
|
||||
"github.com/eolinker/go-common/autowire"
|
||||
)
|
||||
|
||||
type IProviderModelModule interface {
|
||||
AddProviderModel(ctx *gin.Context, provider string, input *model_dto.Model) (*model_dto.SimpleModel, error)
|
||||
UpdateProviderModel(ctx *gin.Context, provider string, input *model_dto.EditModel) error
|
||||
DeleteProviderModel(ctx *gin.Context, provider string, id string) error
|
||||
}
|
||||
|
||||
func init() {
|
||||
autowire.Auto[IProviderModelModule](func() reflect.Value {
|
||||
module := new(imlProviderModelModule)
|
||||
return reflect.ValueOf(module)
|
||||
})
|
||||
}
|
||||
@@ -14,3 +14,7 @@ type UpdateConfig struct {
|
||||
type Sort struct {
|
||||
Providers []string `json:"providers"`
|
||||
}
|
||||
|
||||
type NewProvider struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
@@ -4,6 +4,11 @@ import (
|
||||
"github.com/eolinker/go-common/auto"
|
||||
)
|
||||
|
||||
type SimpleModel struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type SimpleProvider struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
@@ -20,8 +25,14 @@ type Provider struct {
|
||||
DefaultLLM string `json:"default_llm"`
|
||||
DefaultLLMConfig string `json:"-"`
|
||||
//Priority int `json:"priority"`
|
||||
Status ProviderStatus `json:"status"`
|
||||
Configured bool `json:"configured"`
|
||||
Status ProviderStatus `json:"status"`
|
||||
Configured bool `json:"configured"`
|
||||
ModelConfig ModelConfig `json:"model_config"`
|
||||
}
|
||||
|
||||
type ModelConfig struct {
|
||||
AccessConfigurationStatus bool `json:"access_configuration_status"`
|
||||
AccessConfigurationDemo string `json:"access_configuration_demo"`
|
||||
}
|
||||
|
||||
type ConfiguredProviderItem struct {
|
||||
@@ -32,6 +43,7 @@ type ConfiguredProviderItem struct {
|
||||
Status ProviderStatus `json:"status"`
|
||||
APICount int64 `json:"api_count"`
|
||||
KeyCount int64 `json:"key_count"`
|
||||
ModelCount int64 `json:"model_count"`
|
||||
CanDelete bool `json:"can_delete"`
|
||||
}
|
||||
|
||||
@@ -48,6 +60,7 @@ type ProviderItem struct {
|
||||
Logo string `json:"logo"`
|
||||
DefaultLLM string `json:"default_llm"`
|
||||
Sort int `json:"-"`
|
||||
Type int `json:"type"` // 0:default 1:customize
|
||||
}
|
||||
|
||||
type SimpleProviderItem struct {
|
||||
@@ -69,10 +82,15 @@ type BackupProvider struct {
|
||||
}
|
||||
|
||||
type LLMItem struct {
|
||||
Id string `json:"id"`
|
||||
Logo string `json:"logo"`
|
||||
Config string `json:"config"`
|
||||
Scopes []string `json:"scopes"`
|
||||
Id string `json:"id"`
|
||||
Logo string `json:"logo"`
|
||||
Config string `json:"config"`
|
||||
AccessConfiguration string `json:"access_configuration"`
|
||||
ModelParameters string `json:"model_parameters"`
|
||||
Scopes []string `json:"scopes"`
|
||||
Type string `json:"type"`
|
||||
IsSystem bool `json:"is_system"`
|
||||
ApiCount int64 `json:"api_count"`
|
||||
}
|
||||
|
||||
type APIItem struct {
|
||||
|
||||
@@ -4,12 +4,12 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
ai_model "github.com/APIParkLab/APIPark/service/ai-model"
|
||||
"github.com/google/uuid"
|
||||
"net/http"
|
||||
"sort"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
|
||||
ai_provider_local "github.com/APIParkLab/APIPark/ai-provider/local"
|
||||
|
||||
"github.com/eolinker/go-common/register"
|
||||
@@ -63,12 +63,13 @@ func newKey(key *ai_key.Key) *gateway.DynamicRelease {
|
||||
var _ IProviderModule = (*imlProviderModule)(nil)
|
||||
|
||||
type imlProviderModule struct {
|
||||
providerService ai.IProviderService `autowired:""`
|
||||
clusterService cluster.IClusterService `autowired:""`
|
||||
aiAPIService ai_api.IAPIService `autowired:""`
|
||||
aiKeyService ai_key.IKeyService `autowired:""`
|
||||
aiBalanceService ai_balance.IBalanceService `autowired:""`
|
||||
transaction store.ITransaction `autowired:""`
|
||||
providerService ai.IProviderService `autowired:""`
|
||||
providerModelService ai_model.IProviderModelService `autowired:""`
|
||||
clusterService cluster.IClusterService `autowired:""`
|
||||
aiAPIService ai_api.IAPIService `autowired:""`
|
||||
aiKeyService ai_key.IKeyService `autowired:""`
|
||||
aiBalanceService ai_balance.IBalanceService `autowired:""`
|
||||
transaction store.ITransaction `autowired:""`
|
||||
}
|
||||
|
||||
func (i *imlProviderModule) OnInit() {
|
||||
@@ -79,6 +80,33 @@ func (i *imlProviderModule) OnInit() {
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
// register provider
|
||||
for _, p := range list {
|
||||
// get customize models
|
||||
models, _ := i.providerModelService.Search(ctx, "", map[string]interface{}{"provider": p.Id}, "update_at desc")
|
||||
iModels := make([]model_runtime.IModel, 0, len(models))
|
||||
if models != nil {
|
||||
for _, model := range models {
|
||||
// parse access_config & model_parameters
|
||||
iModel, _ := model_runtime.NewCustomizeModel(model.Id, model.Name, model_runtime.GetCustomizeLogo(), model.AccessConfiguration, model.ModelParameters)
|
||||
iModels = append(iModels, iModel)
|
||||
}
|
||||
}
|
||||
// default provider
|
||||
if p.Type == 0 {
|
||||
runtimeProvider, _ := model_runtime.GetProvider(p.Id)
|
||||
for _, tmpIModel := range iModels {
|
||||
tmpIModel.SetLogo(runtimeProvider.Logo())
|
||||
if p.DefaultLLM == tmpIModel.ID() {
|
||||
runtimeProvider.SetDefaultModel(model_runtime.ModelTypeLLM, tmpIModel)
|
||||
}
|
||||
runtimeProvider.SetModel(tmpIModel.ID(), tmpIModel)
|
||||
}
|
||||
} else {
|
||||
provider, _ := model_runtime.NewCustomizeProvider(p.Id, p.Name, iModels, p.DefaultLLM, p.Config)
|
||||
model_runtime.Register(p.Id, provider)
|
||||
}
|
||||
}
|
||||
i.transaction.Transaction(ctx, func(ctx context.Context) error {
|
||||
for _, l := range list {
|
||||
if l.Priority < 1 {
|
||||
@@ -145,6 +173,8 @@ func (i *imlProviderModule) Delete(ctx context.Context, id string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// delete register provider
|
||||
model_runtime.Remove(id)
|
||||
releases := make([]*gateway.DynamicRelease, 0, len(keys))
|
||||
for _, key := range keys {
|
||||
releases = append(releases, newKey(key))
|
||||
@@ -164,6 +194,30 @@ func (i *imlProviderModule) Delete(ctx context.Context, id string) error {
|
||||
})
|
||||
}
|
||||
|
||||
func (i *imlProviderModule) AddProvider(ctx context.Context, input *ai_dto.NewProvider) (*ai_dto.SimpleProvider, error) {
|
||||
if has := i.providerService.CheckNameDuplicate(ctx, input.Name); has {
|
||||
return nil, fmt.Errorf("provider `%s` duplicate", input.Name)
|
||||
}
|
||||
id := uuid.New().String()
|
||||
config, defaultLLM := "{\"api_endpoint_url\": \"http://127.0.0.1\", \"api_key\": \"\"}", ""
|
||||
typeValue := 1
|
||||
if err := i.providerService.Save(ctx, id, &ai.SetProvider{
|
||||
Name: &input.Name,
|
||||
DefaultLLM: &defaultLLM,
|
||||
Config: &config,
|
||||
Type: &typeValue,
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// register provider
|
||||
iProvider, _ := model_runtime.NewCustomizeProvider(id, input.Name, []model_runtime.IModel{}, "", "")
|
||||
model_runtime.Register(id, iProvider)
|
||||
return &ai_dto.SimpleProvider{
|
||||
Id: id,
|
||||
Name: input.Name,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (i *imlProviderModule) SimpleProvider(ctx context.Context, id string) (*ai_dto.SimpleProvider, error) {
|
||||
p, has := model_runtime.GetProvider(id)
|
||||
if !has {
|
||||
@@ -231,6 +285,7 @@ func (i *imlProviderModule) ConfiguredProviders(ctx context.Context, keyword str
|
||||
APICount: apiCount,
|
||||
KeyCount: keyMap[l.Id],
|
||||
CanDelete: apiCount < 1,
|
||||
ModelCount: int64(len(p.Models())),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -394,8 +449,9 @@ func (i *imlProviderModule) Provider(ctx context.Context, id string) (*ai_dto.Pr
|
||||
}
|
||||
defaultLLM, has := p.DefaultModel(model_runtime.ModelTypeLLM)
|
||||
if !has {
|
||||
return nil, fmt.Errorf("ai provider llm not found")
|
||||
defaultLLM, _ = model_runtime.NewCustomizeModel("", "", "", "", "")
|
||||
}
|
||||
providerModelConfig := p.GetModelConfig()
|
||||
return &ai_dto.Provider{
|
||||
Id: p.ID(),
|
||||
Name: p.Name(),
|
||||
@@ -405,13 +461,17 @@ func (i *imlProviderModule) Provider(ctx context.Context, id string) (*ai_dto.Pr
|
||||
DefaultLLMConfig: defaultLLM.Logo(),
|
||||
Status: ai_dto.ProviderDisabled,
|
||||
//Priority: maxPriority,
|
||||
ModelConfig: ai_dto.ModelConfig{
|
||||
AccessConfigurationStatus: providerModelConfig.AccessConfigurationStatus,
|
||||
AccessConfigurationDemo: providerModelConfig.AccessConfigurationDemo,
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
defaultLLM, has := p.GetModel(info.DefaultLLM)
|
||||
if !has {
|
||||
model, has := p.DefaultModel(model_runtime.ModelTypeLLM)
|
||||
if !has {
|
||||
return nil, fmt.Errorf("ai provider llm not found")
|
||||
defaultLLM, _ = model_runtime.NewCustomizeModel("", "", "", "", "")
|
||||
}
|
||||
defaultLLM = model
|
||||
}
|
||||
@@ -426,6 +486,10 @@ func (i *imlProviderModule) Provider(ctx context.Context, id string) (*ai_dto.Pr
|
||||
//Priority: info.Priority,
|
||||
Status: ai_dto.ToProviderStatus(info.Status),
|
||||
Configured: true,
|
||||
ModelConfig: ai_dto.ModelConfig{
|
||||
AccessConfigurationStatus: false,
|
||||
AccessConfigurationDemo: "",
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -439,16 +503,21 @@ func (i *imlProviderModule) LLMs(ctx context.Context, driver string) ([]*ai_dto.
|
||||
if !has {
|
||||
return nil, nil, fmt.Errorf("ai provider not found")
|
||||
}
|
||||
|
||||
modelApiCountMap, _ := i.aiAPIService.CountMapByModel(ctx, "", map[string]interface{}{"provider": driver})
|
||||
items := make([]*ai_dto.LLMItem, 0, len(llms))
|
||||
for _, v := range llms {
|
||||
items = append(items, &ai_dto.LLMItem{
|
||||
Id: v.ID(),
|
||||
Logo: v.Logo(),
|
||||
Config: v.DefaultConfig(),
|
||||
Id: v.ID(),
|
||||
Logo: v.Logo(),
|
||||
Config: v.DefaultConfig(),
|
||||
AccessConfiguration: v.AccessConfiguration(),
|
||||
ModelParameters: v.ModelParameters(),
|
||||
Scopes: []string{
|
||||
"chat",
|
||||
},
|
||||
Type: "chat",
|
||||
IsSystem: v.Source() != "customize",
|
||||
ApiCount: modelApiCountMap[v.ID()],
|
||||
})
|
||||
}
|
||||
info, err := i.providerService.Get(ctx, driver)
|
||||
@@ -523,6 +592,11 @@ func (i *imlProviderModule) UpdateProviderConfig(ctx context.Context, id string,
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if input.DefaultLLM != "" {
|
||||
if defaultLLM, has := p.GetModel(input.DefaultLLM); has {
|
||||
p.SetDefaultModel(model_runtime.ModelTypeLLM, defaultLLM)
|
||||
}
|
||||
}
|
||||
status := 0
|
||||
if input.Enable != nil && *input.Enable {
|
||||
status = 1
|
||||
|
||||
@@ -19,6 +19,7 @@ type IProviderModule interface {
|
||||
LLMs(ctx context.Context, driver string) ([]*ai_dto.LLMItem, *ai_dto.ProviderItem, error)
|
||||
UpdateProviderConfig(ctx context.Context, id string, input *ai_dto.UpdateConfig) error
|
||||
Delete(ctx context.Context, id string) error
|
||||
AddProvider(ctx context.Context, input *ai_dto.NewProvider) (*ai_dto.SimpleProvider, error)
|
||||
}
|
||||
|
||||
type IAIAPIModule interface {
|
||||
|
||||
@@ -19,6 +19,10 @@ func (p *plugin) aiAPIs() []pm3.Api {
|
||||
pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/ai/provider/llms", []string{"context", "query:provider"}, []string{"llms", "provider"}, p.aiProviderController.LLMs),
|
||||
pm3.CreateApiWidthDoc(http.MethodDelete, "/api/v1/ai/provider", []string{"context", "query:provider"}, nil, p.aiProviderController.Delete),
|
||||
pm3.CreateApiWidthDoc(http.MethodPut, "/api/v1/ai/provider/config", []string{"context", "query:provider", "body"}, nil, p.aiProviderController.UpdateProviderConfig, access.SystemSettingsAiProviderManager),
|
||||
pm3.CreateApiWidthDoc(http.MethodPost, "/api/v1/ai/provider", []string{"context", "body"}, []string{"provider"}, p.aiProviderController.AddProvider, access.SystemSettingsAiProviderManager),
|
||||
pm3.CreateApiWidthDoc(http.MethodPost, "/api/v1/ai/provider/model", []string{"context", "query:provider", "body"}, []string{"model"}, p.aiProviderModelController.AddProviderModel, access.SystemSettingsAiProviderManager),
|
||||
pm3.CreateApiWidthDoc(http.MethodPut, "/api/v1/ai/provider/model", []string{"context", "query:provider", "body"}, nil, p.aiProviderModelController.UpdateProviderModel, access.SystemSettingsAiProviderManager),
|
||||
pm3.CreateApiWidthDoc(http.MethodDelete, "/api/v1/ai/provider/model", []string{"context", "query:provider", "query:id"}, nil, p.aiProviderModelController.DeleteProviderModel, access.SystemSettingsAiProviderManager),
|
||||
|
||||
pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/ai/apis", []string{"context", "query:keyword", "query:provider", "query:start", "query:end", "query:page", "query:page_size", "query:sort", "query:asc", "query:models", "query:services"}, []string{"apis", "condition", "total"}, p.aiStatisticController.APIs),
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
ai_model "github.com/APIParkLab/APIPark/controller/ai-model"
|
||||
"net/http"
|
||||
|
||||
ai_balance "github.com/APIParkLab/APIPark/controller/ai-balance"
|
||||
@@ -97,6 +98,7 @@ type plugin struct {
|
||||
exportConfigController system.IExportConfigController `autowired:""`
|
||||
importConfigController system.IImportConfigController `autowired:""`
|
||||
aiProviderController ai.IProviderController `autowired:""`
|
||||
aiProviderModelController ai_model.IProviderModelController `autowired:""`
|
||||
settingController system.ISettingController `autowired:""`
|
||||
initController system.IInitController `autowired:""`
|
||||
logController log.ILogController `autowired:""`
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"github.com/APIParkLab/APIPark/service/universally"
|
||||
"github.com/APIParkLab/APIPark/stores/ai"
|
||||
"github.com/eolinker/go-common/utils"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
var _ IProviderModelService = (*imlProviderModelService)(nil)
|
||||
|
||||
type imlProviderModelService struct {
|
||||
universally.IServiceGet[ProviderModel]
|
||||
universally.IServiceCreate[ProviderModel]
|
||||
universally.IServiceDelete
|
||||
store ai.IProviderModelStore `autowired:""`
|
||||
}
|
||||
|
||||
func (i *imlProviderModelService) CountMapByProvider(ctx context.Context, conditions map[string]interface{}) (map[string]int64, error) {
|
||||
return i.store.CountByGroup(ctx, "", conditions, "provider")
|
||||
}
|
||||
|
||||
func (i *imlProviderModelService) Save(ctx context.Context, id string, model *Model) error {
|
||||
userId := utils.UserId(ctx)
|
||||
now := time.Now()
|
||||
info, err := i.store.First(ctx, map[string]interface{}{"uuid": id})
|
||||
if err != nil {
|
||||
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return err
|
||||
}
|
||||
if model.Name == nil || model.Provider == nil {
|
||||
return errors.New("invalid params")
|
||||
}
|
||||
info = &ai.ProviderModel{
|
||||
UUID: id,
|
||||
Name: *model.Name,
|
||||
Type: *model.Type,
|
||||
AccessConfiguration: *model.AccessConfiguration,
|
||||
ModelParameters: *model.ModelParameters,
|
||||
Provider: *model.Provider,
|
||||
Creator: userId,
|
||||
Updater: userId,
|
||||
CreateAt: now,
|
||||
UpdateAt: now,
|
||||
}
|
||||
} else {
|
||||
if model.Name != nil {
|
||||
info.Name = *model.Name
|
||||
}
|
||||
if model.Type != nil {
|
||||
info.Type = *model.Type
|
||||
}
|
||||
if model.Provider != nil {
|
||||
info.Provider = *model.Provider
|
||||
}
|
||||
if model.AccessConfiguration != nil {
|
||||
info.AccessConfiguration = *model.AccessConfiguration
|
||||
}
|
||||
if model.ModelParameters != nil {
|
||||
info.AccessConfiguration = *model.ModelParameters
|
||||
}
|
||||
info.Updater = userId
|
||||
info.UpdateAt = now
|
||||
}
|
||||
return i.store.Save(ctx, info)
|
||||
}
|
||||
|
||||
func (i *imlProviderModelService) CheckNameDuplicate(ctx context.Context, provider string, name string, excludeId string) bool {
|
||||
v, _ := i.store.First(ctx, map[string]interface{}{"provider": provider, "name": name})
|
||||
if v != nil {
|
||||
return true
|
||||
} else if excludeId != "" && v.UUID != excludeId {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (i *imlProviderModelService) OnComplete() {
|
||||
i.IServiceGet = universally.NewGet[ProviderModel, ai.ProviderModel](i.store, FromEntity)
|
||||
i.IServiceDelete = universally.NewDelete[ai.ProviderModel](i.store)
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"github.com/APIParkLab/APIPark/stores/ai"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ProviderModel struct {
|
||||
Id string // provider model:uuid
|
||||
Name string
|
||||
Type string
|
||||
AccessConfiguration string
|
||||
ModelParameters string
|
||||
Provider string
|
||||
Creator string
|
||||
Updater string
|
||||
CreateAt time.Time
|
||||
UpdateAt time.Time
|
||||
}
|
||||
|
||||
func FromEntity(e *ai.ProviderModel) *ProviderModel {
|
||||
accessConfiguration, err := base64.RawStdEncoding.DecodeString(e.AccessConfiguration)
|
||||
modelParameters, err := base64.RawStdEncoding.DecodeString(e.ModelParameters)
|
||||
if err != nil {
|
||||
accessConfiguration = []byte(e.AccessConfiguration)
|
||||
}
|
||||
if err != nil {
|
||||
modelParameters = []byte(e.ModelParameters)
|
||||
}
|
||||
return &ProviderModel{
|
||||
Id: e.UUID,
|
||||
Name: e.Name,
|
||||
Type: e.Type,
|
||||
AccessConfiguration: string(accessConfiguration),
|
||||
ModelParameters: string(modelParameters),
|
||||
Provider: e.Provider,
|
||||
Creator: e.Creator,
|
||||
Updater: e.Updater,
|
||||
CreateAt: e.CreateAt,
|
||||
UpdateAt: e.UpdateAt,
|
||||
}
|
||||
}
|
||||
|
||||
type Model struct {
|
||||
Name *string
|
||||
Provider *string
|
||||
Type *string
|
||||
AccessConfiguration *string
|
||||
ModelParameters *string
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package ai_model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/APIParkLab/APIPark/service/universally"
|
||||
"github.com/eolinker/go-common/autowire"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
type IProviderModelService interface {
|
||||
universally.IServiceGet[ProviderModel]
|
||||
universally.IServiceDelete
|
||||
CountMapByProvider(ctx context.Context, conditions map[string]interface{}) (map[string]int64, error)
|
||||
Save(ctx context.Context, id string, cfg *Model) error
|
||||
CheckNameDuplicate(ctx context.Context, provider string, name string, excludeId string) bool
|
||||
}
|
||||
|
||||
func init() {
|
||||
autowire.Auto[IProviderModelService](func() reflect.Value {
|
||||
return reflect.ValueOf(new(imlProviderModelService))
|
||||
})
|
||||
}
|
||||
@@ -70,6 +70,14 @@ type imlProviderService struct {
|
||||
// return i.store.Save(ctx, info)
|
||||
//}
|
||||
|
||||
func (i *imlProviderService) CheckNameDuplicate(ctx context.Context, name string) bool {
|
||||
v, _ := i.store.First(ctx, map[string]interface{}{"name": name})
|
||||
if v != nil {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (i *imlProviderService) GetLabels(ctx context.Context, ids ...string) map[string]string {
|
||||
if len(ids) == 0 {
|
||||
return nil
|
||||
|
||||
@@ -15,6 +15,7 @@ type Provider struct {
|
||||
Creator string
|
||||
Updater string
|
||||
Status int
|
||||
Type int
|
||||
Priority int
|
||||
CreateAt time.Time
|
||||
UpdateAt time.Time
|
||||
@@ -34,6 +35,7 @@ type SetProvider struct {
|
||||
Config *string
|
||||
Priority *int
|
||||
Status *int
|
||||
Type *int
|
||||
}
|
||||
|
||||
func FromEntity(e *ai.Provider) *Provider {
|
||||
@@ -52,5 +54,6 @@ func FromEntity(e *ai.Provider) *Provider {
|
||||
UpdateAt: e.UpdateAt,
|
||||
Status: e.Status,
|
||||
Priority: e.Priority,
|
||||
Type: e.Type,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ai
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"github.com/APIParkLab/APIPark/service/universally"
|
||||
@@ -14,6 +15,7 @@ type IProviderService interface {
|
||||
universally.IServiceDelete
|
||||
//Save(ctx context.Context, id string, cfg *SetProvider) error
|
||||
//MaxPriority(ctx context.Context) (int, error)
|
||||
CheckNameDuplicate(ctx context.Context, name string) bool
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
||||
@@ -10,6 +10,7 @@ type Provider struct {
|
||||
Config string `gorm:"type:text;not null;column:config;comment:配置信息"`
|
||||
Status int `gorm:"type:tinyint(1);not null;column:status;comment:状态,0:停用;1:启用,2:异常;default:1"`
|
||||
Priority int `gorm:"type:int;not null;column:priority;comment:优先级,值越小优先级越高"`
|
||||
Type int `gorm:"type:tinyint(1);not null;column:type;comment:type 0:default 1:customize"`
|
||||
Creator string `gorm:"size:36;not null;column:creator;comment:创建人;index:creator" aovalue:"creator"` // 创建人
|
||||
Updater string `gorm:"size:36;not null;column:updater;comment:更新人;index:updater" aovalue:"updater"` // 更新人
|
||||
CreateAt time.Time `gorm:"type:timestamp;NOT NULL;DEFAULT:CURRENT_TIMESTAMP;column:create_at;comment:创建时间"`
|
||||
@@ -164,3 +165,26 @@ func (i *LocalModelCache) TableName() string {
|
||||
func (i *LocalModelCache) IdValue() int64 {
|
||||
return i.Id
|
||||
}
|
||||
|
||||
type ProviderModel struct {
|
||||
Id int64 `gorm:"column:id;type:BIGINT(20);AUTO_INCREMENT;NOT NULL;comment:id;primary_key;comment:PRIMARY ID;"`
|
||||
UUID string `gorm:"type:varchar(36);not null;column:uuid;uniqueIndex:uuid;comment:UUID;"`
|
||||
Name string `gorm:"type:varchar(100);not null;column:name;comment:name;index:name"`
|
||||
Type string `gorm:"type:varchar(100);not null;column:type;comment:type:chat"`
|
||||
AccessConfiguration string `gorm:"type:text;not null;column:access_configuration;comment:access_configuration json"`
|
||||
ModelParameters string `gorm:"type:text;not null;column:model_parameters;comment:model_parameters json"`
|
||||
Provider string `gorm:"type:varchar(36);not null;column:provider;comment:ai_provider:uuid;index:provider"`
|
||||
Creator string `gorm:"size:36;not null;column:creator;comment:creator;index:creator" aovalue:"creator"`
|
||||
Updater string `gorm:"size:36;not null;column:updater;comment:updater;index:updater" aovalue:"updater"`
|
||||
CreateAt time.Time `gorm:"type:timestamp;NOT NULL;DEFAULT:CURRENT_TIMESTAMP;column:create_at;comment:create_at"`
|
||||
UpdateAt time.Time `gorm:"type:timestamp;NOT NULL;DEFAULT:CURRENT_TIMESTAMP;column:update_at;comment:update_at"`
|
||||
}
|
||||
|
||||
func (i *ProviderModel) TableName() string {
|
||||
return "ai_provider_model"
|
||||
}
|
||||
|
||||
func (i *ProviderModel) IdValue() int64 {
|
||||
return i.Id
|
||||
}
|
||||
|
||||
|
||||
@@ -71,6 +71,14 @@ type imlLocalModelCacheStore struct {
|
||||
store.Store[LocalModelCache]
|
||||
}
|
||||
|
||||
type IProviderModelStore interface {
|
||||
store.ISearchStore[ProviderModel]
|
||||
}
|
||||
|
||||
type imlProviderModelStore struct {
|
||||
store.SearchStore[ProviderModel]
|
||||
}
|
||||
|
||||
func init() {
|
||||
autowire.Auto[IProviderStore](func() reflect.Value {
|
||||
return reflect.ValueOf(new(imlProviderStore))
|
||||
@@ -103,4 +111,8 @@ func init() {
|
||||
autowire.Auto[ILocalModelCacheStore](func() reflect.Value {
|
||||
return reflect.ValueOf(new(imlLocalModelCacheStore))
|
||||
})
|
||||
|
||||
autowire.Auto[IProviderModelStore](func() reflect.Value {
|
||||
return reflect.ValueOf(new(imlProviderModelStore))
|
||||
})
|
||||
}
|
||||
|
||||