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