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

Azure OpenAI API #57

Closed
aiastia opened this issue May 13, 2023 · 122 comments
Closed

Azure OpenAI API #57

aiastia opened this issue May 13, 2023 · 122 comments
Labels
duplicate This issue or pull request already exists enhancement New feature or request priority This will have high priority.

Comments

@aiastia
Copy link

aiastia commented May 13, 2023

想问下有无提上议程

@songquanpeng
Copy link
Owner

我还没拿到权限,如果能搞清楚请求体和返回体格式,并能协助测试的话,当然可以搞。

#48 重复。

@songquanpeng songquanpeng added duplicate This issue or pull request already exists enhancement New feature or request labels May 13, 2023
@utopeadia
Copy link

我还没拿到权限,如果能搞清楚请求体和返回体格式,并能协助测试的话,当然可以搞。

#48 重复。

我拥有权限,可以协助进行测试

@utopeadia
Copy link

#Note: The openai-python library support for Azure OpenAI is in preview.
import os
import openai
openai.api_type = "azure"
openai.api_base = "个人资源的域名"
openai.api_version = "2023-03-15-preview"
openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.ChatCompletion.create(
  engine="gpt35",# 这里是部署节点名称,为用户自定义的,az openai获取资源包后需要自行部署模型,比如gpt3.5、text之类的,然后给部署的模型起个名字,这里就是自己起的名字
  messages = [{"role":"system","content":"You are an AI assistant that helps people find information."},{"role":"user","content":"你好"},{"role":"assistant","content":"你好!有什么我可以帮您的吗?"},{"role":"user","content":"你叫什么名字"},{"role":"assistant","content":"我是一个AI助手,您可以称呼我为“AI助手”或者“机器人”。"},{"role":"user","content":"你属于哪一家公司"}],
  temperature=0.7,
  max_tokens=800,
  top_p=0.95,
  frequency_penalty=0,
  presence_penalty=0,
  stop=None)

@songquanpeng
Copy link
Owner

好的,我有以下需要搞清楚的问题:

  1. API 端点是什么?
  2. 请求体的 JSON 格式定义。
  3. 返回体的 JSON 格式定义。

@utopeadia
Copy link

好的,我有以下需要搞清楚的问题:

  1. API 端点是什么?
  2. 请求体的 JSON 格式定义。
  3. 返回体的 JSON 格式定义。

ok我来逐个进行回复

@songquanpeng songquanpeng added the priority This will have high priority. label May 13, 2023
@songquanpeng songquanpeng moved this to Todo in One API May 13, 2023
@songquanpeng songquanpeng moved this from Todo to In Progress in One API May 13, 2023
@utopeadia
Copy link

整体结构如下:(curl)
curl https://资源名.openai.azure.com/openai/deployments/部署名/chat/completions?api-version=2023-03-15-preview
-H "Content-Type: application/json"
-H "api-key: YOUR_API_KEY"
-d '{
"messages": "[{"role":"system","content":"You are an AI assistant that helps people find information."},{"role":"user","content":"你好"},{"role":"assistant","content":"你好!有什么我可以帮您的吗?"},{"role":"user","content":"你叫什么名字"},{"role":"assistant","content":"我是一个AI助手,您可以称呼我为“AI助手”或者“机器人”。"},{"role":"user","content":"你属于哪一家公司"},{"role":"assistant","content":"我是一个虚拟的AI助手,不属于任何一家具体的公司。我被设计用于帮助人们查找信息和回答问题。"}]",
"max_tokens": 800,
"temperature": 0.7,
"frequency_penalty": 0,
"presence_penalty": 0,
"top_p": 0.95,
"stop": null
}'

@utopeadia
Copy link

@songquanpeng
Copy link
Owner

好的,我现在开始搞。

@utopeadia
Copy link

好的,我现在开始搞。

辛苦了

@songquanpeng
Copy link
Owner

看文档,貌似非 stream 模式下,返回体格式是一致的:

  1. https://platform.openai.com/docs/guides/chat/response-format
  2. https://learn.microsoft.com/en-us/azure/cognitive-services/openai/chatgpt-quickstart?pivots=rest-api&tabs=command-line#output

但是 steam 模式下没明说,我这里姑且认为也是一致的。

@songquanpeng
Copy link
Owner

这个是可选的吗??api-version=2023-03-15-preview

@utopeadia
Copy link

这个是可选的吗??api-version=2023-03-15-preview

稍等我查阅一下

@utopeadia
Copy link

我发现文档中好像并没有写明具体的情况,我认为他是可选的,我查阅了其他没有备注版本的模型,他们会把版本标记为2022-12-01
completions?api-version=2022-12-01

@songquanpeng
Copy link
Owner

可以试一下不填会报错吗?

@utopeadia
Copy link

我正在尝试

@utopeadia
Copy link

可以试一下不填会报错吗?

证实,是不可缺省的https://zhuanlan.zhihu.com/p/618541541

@songquanpeng
Copy link
Owner

Okay,目前先硬编码一个默认版本。

@songquanpeng
Copy link
Owner

已推送版本 v0.2.3-alpha,期待测试反馈。

@utopeadia
Copy link

已推送版本 v0.2.3-alpha,期待测试反馈。

目前来看不太行,要不您给我一个邮件地址,我给你一个API密钥便于测试?

@songquanpeng
Copy link
Owner

好的,i#justsong.cn,# 替换为 @

@aiastia
Copy link
Author

aiastia commented May 14, 2023

不应该啊,我也测试了之前的。具体是什么软件的报的错?

使用的是Openchat ios 的 发送消息 就提示 ” 未能读取数据,因为它的格式不正确“ 不过 他还是可以接受回复 。

@aiastia
Copy link
Author

aiastia commented May 14, 2023

image

你看 回复的消息收到了。 但是会提示这个

@aiastia
Copy link
Author

aiastia commented May 14, 2023

不应该啊,我也测试了之前的。具体是什么软件的报的错?

用open ai 官网的 api 的 他在接受所有的消息后 弹出上面这个提示……
如果用azure 的 就不会……

@aiastia
Copy link
Author

aiastia commented May 14, 2023

看了一下 非 azure 的 会回复

 [DONE

azure 的回复

[DONE
]

少了个 “]”

@aiastia
Copy link
Author

aiastia commented May 14, 2023

{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "hi"}],
    "stream": true
}

@utopeadia
Copy link

现在遇到一个bug,新版本使用普通的openai他会正常传输,但是传输结束后会变成
Unexpected token ‘D’, “[DONE” is not valid JSON
image
image

@songquanpeng
Copy link
Owner

@how1ewu Azure 通道会出现这种情况吗?

@utopeadia
Copy link

@how1ewu Azure 通道会出现这种情况吗?

az是正常的

@aiastia
Copy link
Author

aiastia commented May 14, 2023

少了个 “]”

普通的open ai少了个 “]”

@utopeadia
Copy link

少了个 “]”

普通的open ai少了个 “]”

这样的话是不是后端得加个if了

@songquanpeng
Copy link
Owner

已修复,已推送。

@songquanpeng
Copy link
Owner

问题在于我代码没处理好 slice 的 end index。

下面第一个是 Azure 的结束标记,第二个是 OpenAI 的结束标记,第一个多了个换行符。
image
image

@songquanpeng
Copy link
Owner

还请再测试一下,如果都 Okay,这个 issue 就可以关了。

@aiastia @how1ewu

@utopeadia
Copy link

还请再测试一下,如果都 Okay,这个 issue 就可以关了。

@aiastia @how1ewu

现在在我这里一切正常期待其他人的表现

@aiastia
Copy link
Author

aiastia commented May 14, 2023

还请再测试一下,如果都 Okay,这个 issue 就可以关了。
@aiastia @how1ewu

现在在我这里一切正常期待其他人的表现

测试了 azure 的和非azure 的 openai 目前都正常 (Openchat)这算史诗级更新了吧

@aiastia aiastia closed this as completed May 14, 2023
@songquanpeng
Copy link
Owner

Okay,感谢两位持续的测试反馈哈。

@utopeadia
Copy link

哈哈哈哈值得一个3.0了

@songquanpeng
Copy link
Owner

v0.3 版本目前打算是做完余额监控与可用性检测再放出。v0.2.5 的正式版会在解决完 #60 后放出。

@utopeadia
Copy link

3.0主要是加强管理功能了哈哈哈,我觉得做好了可以作为第三方面板供应方案。就好比cloudreve在网盘、兰空在图床

@songquanpeng
Copy link
Owner

是的,除了管理功能之后也会加入更多运营相关的功能。

@songquanpeng
Copy link
Owner

songquanpeng commented May 14, 2023

刚刚修复了一个额度未正常更新的恶性 bug,请更新程序。如果可以的话,请加入 demo 站首页的群。
@aiastia @how1ewu @JeazW @18870 @lmuiotctf

@aiastia
Copy link
Author

aiastia commented May 14, 2023

👍

@aiastia
Copy link
Author

aiastia commented May 14, 2023

刚刚修复了一个额度未正常更新的恶性 bug,请更新程序。如果可以的话,请加入 demo 站首页的群。
@aiastia @how1ewu @JeazW @18870 @lmuiotctf

为啥不搞个tg 群

@songquanpeng
Copy link
Owner

也可以,我更新一下。

@songquanpeng
Copy link
Owner

已更新。

@lmuiotctf
Copy link

ok,已经申请

k8scat pushed a commit to k8scat/one-api that referenced this issue Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists enhancement New feature or request priority This will have high priority.
Projects
Status: Done
Development

No branches or pull requests

4 participants