mirror of https://gitee.com/godoos/godoos.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1009 B
42 lines
1009 B
package server
|
|
|
|
import (
|
|
"encoding/json"
|
|
"godo/libs"
|
|
"log"
|
|
"net/http"
|
|
)
|
|
|
|
func ChatHandler(w http.ResponseWriter, r *http.Request) {
|
|
// url := GetOllamaUrl() + "/v1/chat/completions"
|
|
var url string
|
|
var req map[string]interface{}
|
|
err := json.NewDecoder(r.Body).Decode(&req)
|
|
if err != nil {
|
|
libs.ErrorMsg(w, "the chat request error:"+err.Error())
|
|
return
|
|
}
|
|
headers, url, err := GetHeadersAndUrl(req, "chat")
|
|
log.Printf("url: %s", url)
|
|
log.Printf("headers: %v", headers)
|
|
if err != nil {
|
|
libs.ErrorMsg(w, "the chat request header or url errors:"+err.Error())
|
|
return
|
|
}
|
|
ForwardHandler(w, r, req, url, headers, "POST")
|
|
}
|
|
|
|
func EmbeddingHandler(w http.ResponseWriter, r *http.Request) {
|
|
var req map[string]interface{}
|
|
err := json.NewDecoder(r.Body).Decode(&req)
|
|
if err != nil {
|
|
libs.ErrorMsg(w, err.Error())
|
|
return
|
|
}
|
|
headers, url, err := GetHeadersAndUrl(req, "embeddings")
|
|
if err != nil {
|
|
libs.ErrorMsg(w, err.Error())
|
|
return
|
|
}
|
|
ForwardHandler(w, r, req, url, headers, "POST")
|
|
}
|
|
|