songquanpeng / one-api

OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
https://openai.justsong.cn/
MIT License
17.7k stars 4.02k forks source link

stream_options #1423

Open dq7532183 opened 3 months ago

dq7532183 commented 3 months ago

例行检查

问题描述 relay error (channel #1): Unrecognized request argument supplied: stream_options. Please contact us through an Azure support request at: https://go.microsoft.com/fwlink/?linkid=2213926 for further questions. (request id: 2024051109314182812859242806014)

复现步骤 2024-05-06 OpenAI add argument: stream_options

相关截图 ![Uploading image.png…]()

qhhsy commented 3 months ago

+1

LeoQuote commented 3 months ago

按 azure 的文档, 确实没有这个参数, 之前设计的 azure 和 openai 是完全兼容的, 现在可能 azure 那边慢了, 如果 azure 那边更新慢, oneapi 这边估计只能用 adaptor 做兼容了 https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#completions

VectorZhao commented 3 months ago

+1

mengdahuang commented 3 months ago

+1

bbb3n commented 3 months ago

OpenAI ,5.6 才支持这个参数 https://platform.openai.com/docs/changelog/may-6th-2024

Azure ,这种 非关键性 的参数(除了超高并发中转为了节省 CPU 计算资源外,没多少系统会在意) 没个个把月 甚至一直不支持 我觉得都是可以理解的

但是这种参数(获取重要数据,更改后会造成严重后果的),不要由 one-api 来做处理 OpenAI 支持这个参数,原样传过来就行。Azure 不支持,报错传过来就行。 如果要为了 Azure 而 伪造 这个参数,我觉得是不应该的。一旦伪造的念头出现,那无须多言。

LeoQuote commented 3 months ago

伪造确实不是好的实现,我比较建议oneapi照着 azure的接口 spec 对传过来的请求进行改写,这样可以在请求时去掉一些azure 不支持的参数,oneapi会更健壮

Garfield-yin commented 3 months ago

{ "id": "chatcmpl-9XOzjQNfCcklmjq3tsifQpjDyXk5q", "object": "chat.completion.chunk", "created": 1717747931, "model": "gpt-3.5-turbo-0125", "system_fingerprint": null, "choices": [ { "index": 0, "delta": {}, "logprobs": null, "finish_reason": "stop" } ], "usage": null } { "id": "chatcmpl-9XOzjQNfCcklmjq3tsifQpjDyXk5q", "object": "chat.completion.chunk", "created": 1717747931, "model": "gpt-3.5-turbo-0125", "system_fingerprint": null, "choices": [], "usage": { "prompt_tokens": 10, "completion_tokens": 14, "total_tokens": 24 } } 业务端要精细统计成本,能否不要丢弃最后一条 sse 消息