mirror of
				https://github.com/songquanpeng/one-api.git
				synced 2025-11-04 07:43:41 +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 {
 | 
			
		||||
		var responseText string
 | 
			
		||||
		err, responseText, usage = StreamHandler(c, resp, meta.Mode)
 | 
			
		||||
		if usage == nil {
 | 
			
		||||
		if usage == nil || usage.TotalTokens == 0 {
 | 
			
		||||
			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 {
 | 
			
		||||
		switch meta.Mode {
 | 
			
		||||
		case relaymode.ImagesGenerations:
 | 
			
		||||
 
 | 
			
		||||
@@ -53,6 +53,16 @@ func (e GeneralErrorResponse) ToMessage() string {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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{
 | 
			
		||||
		StatusCode: resp.StatusCode,
 | 
			
		||||
		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 {
 | 
			
		||||
	if resp == nil {
 | 
			
		||||
		if meta.ChannelType == channeltype.AwsClaude {
 | 
			
		||||
			return false
 | 
			
		||||
		}
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	if resp.StatusCode != http.StatusOK {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user