mirror of
				https://github.com/linux-do/new-api.git
				synced 2025-11-04 13:23:42 +08:00 
			
		
		
		
	feat: update stream_options
This commit is contained in:
		
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							@@ -58,12 +58,12 @@
 | 
				
			|||||||
您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。
 | 
					您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 比原版One API多出的配置
 | 
					## 比原版One API多出的配置
 | 
				
			||||||
- `STREAMING_TIMEOUT`:设置流式一次回复的超时时间,默认为 30 秒
 | 
					- `STREAMING_TIMEOUT`:设置流式一次回复的超时时间,默认为 30 秒。
 | 
				
			||||||
- `DIFY_DEBUG`:设置 Dify 渠道是否输出工作流和节点信息到客户端,默认为 `true`
 | 
					- `DIFY_DEBUG`:设置 Dify 渠道是否输出工作流和节点信息到客户端,默认为 `true`。
 | 
				
			||||||
- `FORCE_STREAM_OPTION`:是否覆盖客户端stream_options参数,请求上游返回流模式usage,默认为 `true`
 | 
					- `FORCE_STREAM_OPTION`:是否覆盖客户端stream_options参数,请求上游返回流模式usage,默认为 `true`,建议开启,不影响客户端传入stream_options参数返回结果。
 | 
				
			||||||
- `GET_MEDIA_TOKEN`:是统计图片token,默认为 `true`,关闭后将不再在本地计算图片token,可能会导致和上游计费不同,此项覆盖 `GET_MEDIA_TOKEN_NOT_STREAM` 选项作用,
 | 
					- `GET_MEDIA_TOKEN`:是统计图片token,默认为 `true`,关闭后将不再在本地计算图片token,可能会导致和上游计费不同,此项覆盖 `GET_MEDIA_TOKEN_NOT_STREAM` 选项作用。
 | 
				
			||||||
- `GET_MEDIA_TOKEN_NOT_STREAM`:是否在非流(`stream=false`)情况下统计图片token,默认为 `true`
 | 
					- `GET_MEDIA_TOKEN_NOT_STREAM`:是否在非流(`stream=false`)情况下统计图片token,默认为 `true`。
 | 
				
			||||||
- `UPDATE_TASK`:是否更新异步任务(Midjourney、Suno),默认为 `true`,关闭后将不会更新任务进度
 | 
					- `UPDATE_TASK`:是否更新异步任务(Midjourney、Suno),默认为 `true`,关闭后将不会更新任务进度。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 部署
 | 
					## 部署
 | 
				
			||||||
### 部署要求
 | 
					### 部署要求
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -130,6 +130,12 @@ func TextHelper(c *gin.Context) *dto.OpenAIErrorWithStatusCode {
 | 
				
			|||||||
		return openaiErr
 | 
							return openaiErr
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						includeUsage := false
 | 
				
			||||||
 | 
						// 判断用户是否需要返回使用情况
 | 
				
			||||||
 | 
						if textRequest.StreamOptions != nil && textRequest.StreamOptions.IncludeUsage {
 | 
				
			||||||
 | 
							includeUsage = true
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// 如果不支持StreamOptions,将StreamOptions设置为nil
 | 
						// 如果不支持StreamOptions,将StreamOptions设置为nil
 | 
				
			||||||
	if !relayInfo.SupportStreamOptions || !textRequest.Stream {
 | 
						if !relayInfo.SupportStreamOptions || !textRequest.Stream {
 | 
				
			||||||
		textRequest.StreamOptions = nil
 | 
							textRequest.StreamOptions = nil
 | 
				
			||||||
@@ -142,8 +148,8 @@ func TextHelper(c *gin.Context) *dto.OpenAIErrorWithStatusCode {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if textRequest.StreamOptions != nil && textRequest.StreamOptions.IncludeUsage {
 | 
						if includeUsage {
 | 
				
			||||||
		relayInfo.ShouldIncludeUsage = textRequest.StreamOptions.IncludeUsage
 | 
							relayInfo.ShouldIncludeUsage = true
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	adaptor := GetAdaptor(relayInfo.ApiType)
 | 
						adaptor := GetAdaptor(relayInfo.ApiType)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user