mirror of https://gitee.com/godoos/godoos.git
25 changed files with 466 additions and 295 deletions
@ -0,0 +1,25 @@ |
|||||
|
export const bgeRerankerLabels = { |
||||
|
name: "bge-reranker", |
||||
|
family: "bge", |
||||
|
action: "reranker", |
||||
|
models: [ |
||||
|
{ |
||||
|
model: "linux6200/bge-reranker-v2-m3", |
||||
|
params: { |
||||
|
"num_ctx": 4096, |
||||
|
"temperature": 1 |
||||
|
}, |
||||
|
info: { |
||||
|
engine: "ollama", |
||||
|
from: "ollama", |
||||
|
size: "1.2GB", |
||||
|
desk: "2GB", |
||||
|
cpu: "8GB", |
||||
|
gpu: "6GB", |
||||
|
quant: "f16" |
||||
|
} |
||||
|
}, |
||||
|
], |
||||
|
zhdesc: "bge-reranker是BAAI开发的排序模型", |
||||
|
endesc: "bge is an reranker model developed by BAAI" |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package api |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
"godo/libs" |
||||
|
) |
||||
|
|
||||
|
func GetGiteeChatUrl(model string) string { |
||||
|
return "https://ai.gitee.com/api/serverless/" + model + "/chat/completions" |
||||
|
} |
||||
|
func GetGiteeEmbeddingUrl(model string) string { |
||||
|
return "https://ai.gitee.com/api/serverless/" + model + "/embeddings" |
||||
|
} |
||||
|
func GetGiteeText2ImgUrl(model string) string { |
||||
|
return "https://ai.gitee.com/api/serverless/" + model + "/text-to-image" |
||||
|
} |
||||
|
func GetGiteeSecret() (string, error) { |
||||
|
secret, has := libs.GetConfig("giteeSecret") |
||||
|
if !has { |
||||
|
return "", fmt.Errorf("the gitee secret is not set") |
||||
|
} |
||||
|
return secret.(string), nil |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package api |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
"godo/libs" |
||||
|
) |
||||
|
|
||||
|
// 获取 OpenAI 聊天 API 的 URL
|
||||
|
func GetOpenAIChatUrl() string { |
||||
|
return "https://api.openai.com/v1/chat/completions" |
||||
|
} |
||||
|
|
||||
|
// 获取 OpenAI 文本嵌入 API 的 URL
|
||||
|
func GetOpenAIEmbeddingUrl() string { |
||||
|
return "https://api.openai.com/v1/embeddings" |
||||
|
} |
||||
|
|
||||
|
// 获取 OpenAI 文本转图像 API 的 URL
|
||||
|
func GetOpenAIText2ImgUrl() string { |
||||
|
return "https://api.openai.com/v1/images/generations" |
||||
|
} |
||||
|
|
||||
|
// 获取 OpenAI 密钥
|
||||
|
func GetOpenAISecret() (string, error) { |
||||
|
secret, has := libs.GetConfig("openaiSecret") |
||||
|
if !has { |
||||
|
return "", fmt.Errorf("the openai secret is not set") |
||||
|
} |
||||
|
return secret.(string), nil |
||||
|
} |
@ -1,42 +0,0 @@ |
|||||
package model |
|
||||
|
|
||||
import ( |
|
||||
"godo/libs" |
|
||||
"net/http" |
|
||||
"os" |
|
||||
"strings" |
|
||||
) |
|
||||
|
|
||||
func ConvertOllama(w http.ResponseWriter, r *http.Request, req ReqBody) { |
|
||||
modelFile := "FROM " + req.Info.Path[0] + "\n" |
|
||||
modelFile += `TEMPLATE """` + req.Info.Template + `"""` |
|
||||
if req.Info.Parameters != "" { |
|
||||
parameters := strings.Split(req.Info.Parameters, "\n") |
|
||||
for _, param := range parameters { |
|
||||
modelFile += "\nPARAMETER " + param |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
url := GetOllamaUrl() + "/api/create" |
|
||||
postParams := map[string]string{ |
|
||||
"name": req.Model, |
|
||||
"modelfile": modelFile, |
|
||||
} |
|
||||
ForwardHandler(w, r, postParams, url, "POST") |
|
||||
modelDir, err := GetModelDir(req.Model) |
|
||||
if err != nil { |
|
||||
libs.ErrorMsg(w, "GetModelDir") |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
// modelFilePath := filepath.Join(modelDir, "Modelfile")
|
|
||||
// if err := os.WriteFile(modelFilePath, []byte(modelFile), 0644); err != nil {
|
|
||||
// ErrMsg("WriteFile", err, w)
|
|
||||
// return
|
|
||||
// }
|
|
||||
err = os.RemoveAll(modelDir) |
|
||||
if err != nil { |
|
||||
libs.ErrorMsg(w, "Error removing directory") |
|
||||
return |
|
||||
} |
|
||||
} |
|
Loading…
Reference in new issue