@@ -24,9 +24,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
RequestModeClaude = 1
|
RequestModeClaude = 1
|
||||||
RequestModeGemini = 2
|
RequestModeGemini = 2
|
||||||
RequestModeLlama = 3
|
RequestModeOpenSource = 3
|
||||||
)
|
)
|
||||||
|
|
||||||
var claudeModelMap = map[string]string{
|
var claudeModelMap = map[string]string{
|
||||||
@@ -115,7 +115,7 @@ func (a *Adaptor) Init(info *relaycommon.RelayInfo) {
|
|||||||
} else if strings.Contains(info.UpstreamModelName, "llama") ||
|
} else if strings.Contains(info.UpstreamModelName, "llama") ||
|
||||||
// open source models
|
// open source models
|
||||||
strings.Contains(info.UpstreamModelName, "-maas") {
|
strings.Contains(info.UpstreamModelName, "-maas") {
|
||||||
a.RequestMode = RequestModeLlama
|
a.RequestMode = RequestModeOpenSource
|
||||||
} else {
|
} else {
|
||||||
a.RequestMode = RequestModeGemini
|
a.RequestMode = RequestModeGemini
|
||||||
}
|
}
|
||||||
@@ -166,10 +166,9 @@ func (a *Adaptor) getRequestUrl(info *relaycommon.RelayInfo, modelName, suffix s
|
|||||||
suffix,
|
suffix,
|
||||||
), nil
|
), nil
|
||||||
}
|
}
|
||||||
} else if a.RequestMode == RequestModeLlama {
|
} else if a.RequestMode == RequestModeOpenSource {
|
||||||
return fmt.Sprintf(
|
return fmt.Sprintf(
|
||||||
"https://%s-aiplatform.googleapis.com/v1beta1/projects/%s/locations/%s/endpoints/openapi/chat/completions",
|
"https://aiplatform.googleapis.com/v1beta1/projects/%s/locations/%s/endpoints/openapi/chat/completions",
|
||||||
region,
|
|
||||||
adc.ProjectID,
|
adc.ProjectID,
|
||||||
region,
|
region,
|
||||||
), nil
|
), nil
|
||||||
@@ -242,7 +241,7 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
|
|||||||
model = v
|
model = v
|
||||||
}
|
}
|
||||||
return a.getRequestUrl(info, model, suffix)
|
return a.getRequestUrl(info, model, suffix)
|
||||||
} else if a.RequestMode == RequestModeLlama {
|
} else if a.RequestMode == RequestModeOpenSource {
|
||||||
return a.getRequestUrl(info, "", "")
|
return a.getRequestUrl(info, "", "")
|
||||||
}
|
}
|
||||||
return "", errors.New("unsupported request mode")
|
return "", errors.New("unsupported request mode")
|
||||||
@@ -340,7 +339,7 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn
|
|||||||
}
|
}
|
||||||
c.Set("request_model", request.Model)
|
c.Set("request_model", request.Model)
|
||||||
return geminiRequest, nil
|
return geminiRequest, nil
|
||||||
} else if a.RequestMode == RequestModeLlama {
|
} else if a.RequestMode == RequestModeOpenSource {
|
||||||
return request, nil
|
return request, nil
|
||||||
}
|
}
|
||||||
return nil, errors.New("unsupported request mode")
|
return nil, errors.New("unsupported request mode")
|
||||||
@@ -375,7 +374,7 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycom
|
|||||||
} else {
|
} else {
|
||||||
return gemini.GeminiChatStreamHandler(c, info, resp)
|
return gemini.GeminiChatStreamHandler(c, info, resp)
|
||||||
}
|
}
|
||||||
case RequestModeLlama:
|
case RequestModeOpenSource:
|
||||||
return openai.OaiStreamHandler(c, info, resp)
|
return openai.OaiStreamHandler(c, info, resp)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -391,7 +390,7 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycom
|
|||||||
}
|
}
|
||||||
return gemini.GeminiChatHandler(c, info, resp)
|
return gemini.GeminiChatHandler(c, info, resp)
|
||||||
}
|
}
|
||||||
case RequestModeLlama:
|
case RequestModeOpenSource:
|
||||||
return openai.OpenaiHandler(c, info, resp)
|
return openai.OpenaiHandler(c, info, resp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user