Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

提供 system_prompt 以及 usage 支持 #79

Closed
wants to merge 11 commits into from

Conversation

Crayon112
Copy link

  • 支持 role 为 system 时转化为 Gemini 的 system_prompt(仅支持首个 message 的 role 为 system 的情况);
  • 支持计算 usage, 通过返回字符长度作为 usage;
  • 当请求异常时直接报错,而不作为返回值。

Copy link

vercel bot commented Oct 25, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
gemini-openai-proxy-vercel ✅ Ready (Inspect) Visit Preview 💬 Add feedback Oct 27, 2024 2:11pm

@zuisong
Copy link
Owner

zuisong commented Oct 27, 2024

当请求异常时直接报错,而不作为返回值

这个改动会出现错误提示无法返回给用户的情况,特别是在使用一些第三方客户端的时候,客户端无法得知具体错误是什么,这个改动是不太认可的

可以看一下这个问题里的讨论 #29

image

@Crayon112
Copy link
Author

当请求异常时直接报错,而不作为返回值

这个改动会出现错误提示无法返回给用户的情况,特别是在使用一些第三方客户端的时候,客户端无法得知具体错误是什么,这个改动是不太认可的

可以看一下这个问题里的讨论 #29

image

如果直接在代码内部构造一个新的异常信息会不会是一个更好的方案呢?如果按照现有方案作为返回值的话,用户如果不在 Message 内部进行逻辑判断的话很难区分返回值是否正常,甚至当输出无法预测的情况下,我们甚至无法做这个逻辑判断?那不如让用户在解析字段的时刻就抛出异常?

@zuisong
Copy link
Owner

zuisong commented Oct 28, 2024

可以考虑做成一个开关, 在 api key 里传入配置来决定怎么做
google api 返回错误时,将错误转换为openai 格式的错误响应返回

要考虑面向两种客户

  1. 利用这个代理软件直接调用接口的
  2. 直接部署这个软件,然后在仅支持openai的第三方客户端填入api key来使用gemini的

第2类用户来说直接把错误信息放在正常的响应里会跟容易看到,很多第三方客户端只会读取正常响应内容

@Crayon112 Crayon112 closed this Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants