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
942 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, 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, 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")
}