mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-09 10:13:42 +08:00
Compare commits
3 Commits
v0.6.6-alp
...
v0.6.6-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f76c80553 | ||
|
|
7e027d2bd0 | ||
|
|
30f373b623 |
@@ -86,9 +86,13 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, meta *meta.Met
|
|||||||
if meta.IsStream {
|
if meta.IsStream {
|
||||||
var responseText string
|
var responseText string
|
||||||
err, responseText, usage = StreamHandler(c, resp, meta.Mode)
|
err, responseText, usage = StreamHandler(c, resp, meta.Mode)
|
||||||
if usage == nil {
|
if usage == nil || usage.TotalTokens == 0 {
|
||||||
usage = ResponseText2Usage(responseText, meta.ActualModelName, meta.PromptTokens)
|
usage = ResponseText2Usage(responseText, meta.ActualModelName, meta.PromptTokens)
|
||||||
}
|
}
|
||||||
|
if usage.TotalTokens != 0 && usage.PromptTokens == 0 { // some channels don't return prompt tokens & completion tokens
|
||||||
|
usage.PromptTokens = meta.PromptTokens
|
||||||
|
usage.CompletionTokens = usage.TotalTokens - meta.PromptTokens
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
switch meta.Mode {
|
switch meta.Mode {
|
||||||
case relaymode.ImagesGenerations:
|
case relaymode.ImagesGenerations:
|
||||||
|
|||||||
@@ -53,6 +53,16 @@ func (e GeneralErrorResponse) ToMessage() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RelayErrorHandler(resp *http.Response) (ErrorWithStatusCode *model.ErrorWithStatusCode) {
|
func RelayErrorHandler(resp *http.Response) (ErrorWithStatusCode *model.ErrorWithStatusCode) {
|
||||||
|
if resp == nil {
|
||||||
|
return &model.ErrorWithStatusCode{
|
||||||
|
StatusCode: 500,
|
||||||
|
Error: model.Error{
|
||||||
|
Message: "resp is nil",
|
||||||
|
Type: "upstream_error",
|
||||||
|
Code: "bad_response",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
ErrorWithStatusCode = &model.ErrorWithStatusCode{
|
ErrorWithStatusCode = &model.ErrorWithStatusCode{
|
||||||
StatusCode: resp.StatusCode,
|
StatusCode: resp.StatusCode,
|
||||||
Error: model.Error{
|
Error: model.Error{
|
||||||
|
|||||||
@@ -208,6 +208,9 @@ func getMappedModelName(modelName string, mapping map[string]string) (string, bo
|
|||||||
|
|
||||||
func isErrorHappened(meta *meta.Meta, resp *http.Response) bool {
|
func isErrorHappened(meta *meta.Meta, resp *http.Response) bool {
|
||||||
if resp == nil {
|
if resp == nil {
|
||||||
|
if meta.ChannelType == channeltype.AwsClaude {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
if resp.StatusCode != http.StatusOK {
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
|||||||
Reference in New Issue
Block a user