ChatGPTNextWeb / ChatGPT-Next-Web

A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。
https://app.nextchat.dev/
MIT License
76.35k stars 59.1k forks source link

[Feature] 添加对 Azure OpenAI API 的支持 #371

Closed edisonzf2020 closed 12 months ago

jeffy5 commented 1 year ago

提供给有需要的人,搭配 stulzq/azure-openai-proxy 使用,可以直接 docker-compose 来启动。

version: '3'

services:
  chatgpt-next-web:
    image: yidadaa/chatgpt-next-web
    ports:
      - 3000:3000
    environment:
      OPENAI_API_KEY: <YOUR_AZURE_OPENAI_KEY>
      BASE_URL: http://azure-openai:8080
      DISABLE_GPT4: 1
      CODE: "password"
      HIDE_BALANCE_QUERY: 1
    depends_on:
      - azure-openai
    links:
      - azure-openai
    networks:
      - chatgpt-ns

  azure-openai:
    image: stulzq/azure-openai-proxy
    ports:
      - 8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: <YOUR_AZURE_ENDPOINT>
      AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=gpt-35-turbo
      AZURE_OPENAI_API_VER: 2023-05-15
    networks:
      - chatgpt-ns

networks:
  chatgpt-ns:
    driver: bridge
Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Provided to those who need it, it can be used with stulzq/azure-openai-proxy, and can be started directly by docker-compose.

version: '3'

services:
  chatgpt-next-web:
    image: yidadaa/chatgpt-next-web
    ports:
      - 3000:3000
    environment:
      OPENAI_API_KEY: <YOUR_AZURE_OPENAI_KEY>
      BASE_URL: http://azure-openai:8080
      DISABLE_GPT4: 1
      CODE: "password"
      HIDE_BALANCE_QUERY: 1
    depends_on:
      - azure-openai
    links:
      - azure-openai
    networks:
      - chatgpt-ns

  azure-openai:
    image: stulzq/azure-openai-proxy
    ports:
      -8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: <YOUR_AZURE_ENDPOINT>
      AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=gpt-35-turbo
      AZURE_OPENAI_API_VER: 2023-05-15
    networks:
      - chatgpt-ns

networks:
  chatgpt-ns:
    driver: bridge
hunterlam commented 1 year ago

我成功用上了Azure OpenAI了

分享具体步骤:

  1. 开通Azure OpenAI服务并部署
  2. 部cf-openai-azure-proxy https://github.com/haibbo/cf-openai-azure-proxy
  3. Vercel部署ChatGPT-Next-Web,配置环境变量
BASE_URL:cloudfare worker 部署的URL
OPENAI_API_KEY:在Azure Portal OpenAI 找到 API key,有两个key,用其中一个即可

image 感谢,用你的方法已成功使用中~~~

OedoSoldier commented 1 year ago

使用 proxy 之类的方法还是比较麻烦的,其他类似项目比如 https://github.com/Bin-Huang/chatbox 都已经支持原生 Azure OpenAI API 了,希望早日更新

anuxs commented 1 year ago

原生 Azure OpenAI +1 试过了用Azure OpenAI 代理比较麻烦,cloudflare之类的代理还需要自己域名,否则那个自带的域名被dns污染,打开非常慢。

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Native Azure OpenAI +1 I have tried using the Azure OpenAI proxy, which is troublesome. Proxies such as cloudflare also need their own domain name, otherwise the domain name that comes with it will be polluted by dns and open very slowly.

WeihanLi commented 1 year ago

原生 Azure OpenAI +1

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Native Azure OpenAI +1

mymicroblog commented 1 year ago

Native Azure OpenAI +1 。稍微改几行代码就行了, 官方为啥不多提供一种方式呢

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Native Azure OpenAI +1. Just change a few lines of code, why doesn’t the official provide a way?

fuog commented 1 year ago

Native Azure OpenAI +1

8Avalon8 commented 1 year ago

Native Azure OpenAI +1

MTDickens commented 1 year ago

原生 Azure OpenAI +1 只需要改动几行代码,但是就不用再经过 cf workers 的转接了

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Native Azure OpenAI +1 Only a few lines of code need to be changed, but there is no need to go through the transfer of cf workers

szthanatos commented 1 year ago

提供给有需要的人,搭配 stulzq/azure-openai-proxy 使用,可以直接 docker-compose 来启动。

version: '3'

services:
  chatgpt-next-web:
    image: yidadaa/chatgpt-next-web
    ports:
      - 3000:3000
    environment:
      OPENAI_API_KEY: <YOUR_AZURE_OPENAI_KEY>
      BASE_URL: http://azure-openai:8080
      DISABLE_GPT4: 1
      CODE: "password"
      HIDE_BALANCE_QUERY: 1
    depends_on:
      - azure-openai
    links:
      - azure-openai
    networks:
      - chatgpt-ns

  azure-openai:
    image: stulzq/azure-openai-proxy
    ports:
      - 8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: <YOUR_AZURE_ENDPOINT>
      AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=gpt-35-turbo
      AZURE_OPENAI_API_VER: 2023-05-15
    networks:
      - chatgpt-ns

networks:
  chatgpt-ns:
    driver: bridge

🚫 AZURE_OPENAI_API_VER: 2023-05-15

👍 AZURE_OPENAI_API_VER: 2023-03-15-preview

williamchai commented 1 year ago

可以看一下这个fork: https://github.com/linjungz/azure-chatgpt-ui 测试了可以直接用

john990 commented 1 year ago

Native Azure OpenAI +1

xiangyingchang commented 1 year ago

提供给有需要的人,搭配 stulzq/azure-openai-proxy 使用,可以直接 docker-compose 来启动。

version: '3'

services:
  chatgpt-next-web:
    image: yidadaa/chatgpt-next-web
    ports:
      - 3000:3000
    environment:
      OPENAI_API_KEY: <YOUR_AZURE_OPENAI_KEY>
      BASE_URL: http://azure-openai:8080
      DISABLE_GPT4: 1
      CODE: "password"
      HIDE_BALANCE_QUERY: 1
    depends_on:
      - azure-openai
    links:
      - azure-openai
    networks:
      - chatgpt-ns

  azure-openai:
    image: stulzq/azure-openai-proxy
    ports:
      - 8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: <YOUR_AZURE_ENDPOINT>
      AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=gpt-35-turbo
      AZURE_OPENAI_API_VER: 2023-05-15
    networks:
      - chatgpt-ns

networks:
  chatgpt-ns:
    driver: bridge

按照这个部署之后,需要翻墙才能使用,请问是什么原因呢?用的另一个项目chenzhaoyu94/chatgpt-web,同样的布置,但是不用翻墙 image

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Provided to those who need it, it can be used with stulzq/azure-openai-proxy, and can be started directly by docker-compose.

version: '3'

services:
chatgpt-next-web:
image: yidadaa/chatgpt-next-web
ports:
- 3000:3000
environment:
OPENAI_API_KEY: <YOUR_AZURE_OPENAI_KEY>
BASE_URL: http://azure-openai:8080
DISABLE_GPT4: 1
CODE: "password"
HIDE_BALANCE_QUERY: 1
depends_on:
-azure-openai
links:
-azure-openai
networks:
-chatgpt-ns

azure-openai:
image: stulzq/azure-openai-proxy
ports:
- 8080:8080
environment:
AZURE_OPENAI_ENDPOINT: <YOUR_AZURE_ENDPOINT>
AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=gpt-35-turbo
AZURE_OPENAI_API_VER: 2023-05-15
networks:
-chatgpt-ns

networks:
chatgpt-ns:
driver: bridge

After following this deployment, you need to go over the wall to use it. What is the reason? Another project I used, chenzhaoyu94/chatgpt-web, has the same layout, but without overpassing the wall

hhc87 commented 1 year ago

Native Azure OpenAI +1

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


My Azure GPT-4 application is down

cloud26 commented 1 year ago

咨询下大家有申请下来azure gpt4 权限的吗

我的申请下来了,Application ID 是 130XXX

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Do you have any application for azure gpt4 permission?

My application is down, Application ID is 130XXX

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


What should I do if I want to choose 3.5 or 4 with proxy? I beg God to see if it can be integrated, I can provide Azure 4.0 @Yidadaa

yanye99 commented 1 year ago

我成功使用了Azure OpenAI了 分享具体步骤:

  1. 开通Azure OpenAI服务并部署
  2. 部cf-openai-azure-proxy https://github.com/haibbo/cf-openai-azure-proxy
  3. Vercel部署ChatGPT-Next-Web,配置环境变量
BASE_URL:cloudfare worker 部署的URL
OPENAI_API_KEY:在Azure Portal OpenAI 找到 API key,有两个key,用其中一个即可

图像 谢谢,用你的方法已经成功使用中~~~ 这个方法部署只能用3.5turbo,如果选择16k的版本就会报Missing model mapper

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


I have successfully used Azure OpenAI Share specific steps:

  1. Open Azure OpenAI service and deploy
  2. cf-openai-azure-proxy https://github.com/haibbo/cf-openai-azure-proxy
  3. Vercel deploys ChatGPT-Next-Web and configures environment variables
BASE_URL: Cloudfare worker deployment URL
OPENAI_API_KEY: Find the API key in Azure Portal OpenAI, there are two keys, use one of them

image Thank you, your method has been successfully used~~~ This method can only be deployed with 3.5 turbo, if you choose the 16k version, it will report Missing model mapper

MTDickens commented 1 year ago

我成功使用了Azure OpenAI了 分享具体步骤:

  1. 开通Azure OpenAI服务并部署
  2. 部cf-openai-azure-proxy https://github.com/haibbo/cf-openai-azure-proxy
  3. Vercel部署ChatGPT-Next-Web,配置环境变量
BASE_URL:cloudfare worker 部署的URL
OPENAI_API_KEY:在Azure Portal OpenAI 找到 API key,有两个key,用其中一个即可

图像 谢谢,用你的方法已经成功使用中~~~ 这个方法部署只能用3.5turbo,如果选择16k的版本就会报Missing model mapper

只需要将源代码中的 mapper(顾名思义,映射表,将 openai 中的模型名称映射成你在 azure 中的部署名称)

const mapper = {
    'gpt-3.5-turbo': DEPLOY_NAME_GPT35,
    'gpt-4': DEPLOY_NAME_GPT4
};

改成

const mapper = {
    'gpt-3.5-turbo': DEPLOY_NAME_GPT35,
    'gpt-4': DEPLOY_NAME_GPT4,
    'gpt-3.5-turbo-16k': DEPLOY_NAME_GPT35_16K
};

然后添加对应的环境变量 DEPLOY_NAME_GPT35_16K 就可以了。

bentennysonyoung commented 1 year ago

因为弄到了GPT4,想试试,用的这个stulzq/azure-openai-proxy这个项目。 其中AZURE_OPENAI_MODEL_MAPPER的规则开始没搞懂,试了很多次不成功,最后终于搞定。 为了美观,我修改了/app/constant.ts文件,只保留了Azure OpenAI Deployments中预设的选项。 图片 图片 然后修改了docker-compose.yml文件


services:
  chatgpt-next-web:
    container_name: chatgpt-next-web
    image: Yidadaa/chatgpt-next-web
    ports:
      - 3000:3000
    environment:
      OPENAI_API_KEY: 你的Azure OpenAI KEY
      BASE_URL: http://azure-openai:8080
      CODE: 你的CODE
      HIDE_BALANCE_QUERY: 1
    depends_on:
      - azure-openai
    links:
      - azure-openai
    networks:
      - chatgpt-ns

  azure-openai:
    container_name: azure-openai-proxy
    image: stulzq/azure-openai-proxy
    ports:
      - 8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: https://你的Endpoint.openai.azure.com
      AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=gpt35t,gpt-3.5-turbo-16k=gpt35t16,gpt-4=gpt4,gpt-4-32k=gpt432
      AZURE_OPENAI_API_VER: "2023-05-15"
    networks:
      - chatgpt-ns

networks:
  chatgpt-ns:
    driver: bridge

最后docker-compose up -d完美运行Y@_@Y,谢谢大佬。膜拜你们。

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Because I got GPT4, I wanted to try it, and I used this stulzq/azure-openai-proxy project. Among them, I didn't understand the rules of AZURE_OPENAI_MODEL_MAPPER at first. I tried many times without success, but finally figured it out. For the sake of appearance, I modified the /app/constant.ts file and only retained the default options in Azure OpenAI Deployments. Picture Picture Then modified the docker-compose.yml file `version: '3'

services: chatgpt-next-web: container_name: chatgpt-next-web image: Yidadaa/chatgpt-next-web ports:

networks: chatgpt-ns: driver: bridge Finally,docker-compose up -d` runs Y@_@Y perfectly, thank you. Worship you.

Roiocam commented 1 year ago

Native Azure OpenAI +1 Azure proxy is working well, but can not gain best performance...

han3on commented 1 year ago

Native Azure OpenAI +1, please~

liaokaime commented 1 year ago

不是playground,就是直接请求azure openai,流式返回的时候,azure不是按字返回的,而是一次返回一大段,然后又是一段。感觉在azure那一层就已经不是打字机效果了

因为 azure 增加了一层内容审核,用来过滤国外的不和谐内容,逐字返回是没法审核的,所以会每累计一些文字审核一次,这就是为什么打字机效果不流畅的原因,不是代理的问题。

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


If it is not a playground, it is a direct request to Azure OpenAI. When the stream is returned, Azure does not return it word by word, but returns a large paragraph at a time, and then another paragraph. It feels like it’s no longer the typewriter effect at the Azure level.

Because Azure has added a layer of content review to filter discordant foreign content, word-for-word returns cannot be reviewed, so they will be reviewed every time some text is accumulated. This is why the typewriter effect is not smooth, and it is not a problem with the agent. .

crh19970307 commented 1 year ago

Naive azure openai support +1

RainFung commented 1 year ago

Native Azure OpenAI +1, please~

LeXwDeX commented 1 year ago

azure openai proxy的项目可以搜一下,这个满足你的需求

感谢思路,使用的https://github.com/diemus/azure-openai-proxy/blob/main/README.zh-cn.md, 将本项目base url替换成docker server url, https改为http后,成功!

你好,我使用了这个proxy项目之后,可以执行下面的curl指令,并成功拿到返回JSON。 但是我怎么都无法在[ChatGPT-Next-Web]项目中成功调用。

curl http://192.168.50.101:8080/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer {xxxxx}" -d '{"model": "gpt-4-32k","messages": [{"role": "user", "content": "Hello!"}]}'
{"id":"chatcmpl-mask","object":"chat.completion","created":mask,"model":"gpt-4-32k","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[{"index":0,"finish_reason":"stop","message":{"role":"assistant","content":"Hello! How can I assist you today?"},"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"usage":{"completion_tokens":9,"prompt_tokens":9,"total_tokens":18}}
LeXwDeX commented 1 year ago

azure openai proxy的项目可以搜一下,这个满足你的需求

感谢思路,使用的https://github.com/diemus/azure-openai-proxy/blob/main/README.zh-cn.md, 将本项目base url替换成docker server url, https改为http后,成功!

你好,我使用了这个proxy项目之后,可以执行下面的curl指令,并成功拿到返回JSON。 但是我怎么都无法在[ChatGPT-Next-Web]项目中成功调用。

curl http://192.168.50.101:8080/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer {xxxxx}" -d '{"model": "gpt-4-32k","messages": [{"role": "user", "content": "Hello!"}]}'
{"id":"chatcmpl-mask","object":"chat.completion","created":mask,"model":"gpt-4-32k","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[{"index":0,"finish_reason":"stop","message":{"role":"assistant","content":"Hello! How can I assist you today?"},"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"usage":{"completion_tokens":9,"prompt_tokens":9,"total_tokens":18}}

搞定了,换成DOCKER模式之后指定BASE_URL即可:

docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY=xxxx\
   -e CODE=3412460 \
   --net=host \
   -e BASE_URL=http://127.0.0.1:8080 \
   yidadaa/chatgpt-next-web
liaokaime commented 1 year ago

OneApi 可以代理很多大语言模型服务,并且统一转为 openai 格式接口,可以当作转换器 https://github.com/songquanpeng/one-api

yanye99 commented 1 year ago

我8月底用cloudfare 部署的接口在用zeabur部署这个项目,10月1 2这两天不知道什么问题直接把我微软azure95刀余额全部用完了,甚至还用了154刀还超出了60刀,我之前一个月就用了5刀,而且我确定10月1号这天没有使用过,有人知道是什么问题么? 4K_~PB@8T_QUZPA%4O1FMQK

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


I used the cloudfare deployment interface to deploy this project with zeabur at the end of August. I didn’t know what the problem was in the two days from October 1 to 2. I used up all my Microsoft Azure balance of 95 dollars, and even used 154 dollars and exceeded 60 dollars. I I used 5 dollars in the past month, and I’m sure I didn’t use it on October 1st. Does anyone know what the problem is? 4K_~PB@8T_QUZPA%4O1FMQK

MTDickens commented 1 year ago

不是playground,就是直接请求azure openai,流式返回的时候,azure不是按字返回的,而是一次返回一大段,然后又是一段。感觉在azure那一层就已经不是打字机效果了

建议大家申请 modify content filter。申请完之后就可以取消 content filter 了,一劳永逸。

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


If it is not a playground, it is a direct request to Azure OpenAI. When the stream is returned, Azure does not return it word by word, but returns a large paragraph at a time, and then another paragraph. It feels like it’s no longer a typewriter at the Azure level.

It is recommended that you apply for modify content filter. After applying, you can cancel the content filter once and for all.

liudhzhyym2 commented 1 year ago

不是playground,就是直接请求azure openai,流式返回的时候,azure不是按字返回的,而是一次返回一大段,然后又是一段。感觉在azure那一层就已经不是打字机效果了

建议大家申请 modify content filter。申请完之后就可以取消 content filter 了,一劳永逸。

请教下怎么取消 content filter?

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


If it is not a playground, it is a direct request to Azure OpenAI. When the stream is returned, Azure does not return it word by word, but returns a large paragraph at a time, and then another paragraph. It feels like it’s no longer the typewriter effect at the Azure level.

It is recommended that you apply for modify content filter. After applying, you can cancel the content filter once and for all.

Please tell me how to cancel the content filter?

MTDickens commented 1 year ago

不是playground,就是直接请求azure openai,流式返回的时候,azure不是按字返回的,而是一次返回一大段,然后又是一段。感觉在azure那一层就已经不是打字机效果了

建议大家申请 modify content filter。申请完之后就可以取消 content filter 了,一劳永逸。

请教下怎么取消 content filter?

点击我回复上面上面的 modify content filter 文字就行了(我已经把网址嵌入了) 或者直接给你网址吧:https://customervoice.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7en2Ais5pxKtso_Pz4b1_xURE01NDY1OUhBRzQ3MkQxMUhZSE1ZUlJKTiQlQCN0PWcu

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


If it is not a playground, it is a direct request to Azure OpenAI. When the stream is returned, Azure does not return it word by word, but returns a large paragraph at a time, and then another paragraph. It feels like it’s no longer the typewriter effect at the Azure level.

It is recommended that you apply for modify content filter. After applying, you can cancel the content filter once and for all.

Please tell me how to cancel the content filter?

Just click me to reply to the modify content filter text above (I have already embedded the URL) Or give you the URL directly: https://customervoice.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7en2Ais5pxKtso_Pz4b1_xURE01NDY1OUhBRzQ3MkQxMUhZSE1ZUlJKTiQlQCN0PWcu

Limour-dev commented 1 year ago

不是playground,就是直接请求azure openai,流式返回的时候,azure不是按字返回的,而是一次返回一大段,然后又是一段。感觉在azure那一层就已经不是打字机效果了

建议大家申请 modify content filter。申请完之后就可以取消 content filter 了,一劳永逸。

请教下怎么取消 content filter?

点击我回复上面上面的 modify content filter 文字就行了(我已经把网址嵌入了) 或者直接给你网址吧:https://customervoice.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7en2Ais5pxKtso_Pz4b1_xURE01NDY1OUhBRzQ3MkQxMUhZSE1ZUlJKTiQlQCN0PWcu

申请被拒绝了,这个好像只对与Microsoft账户团队合作的托管客户和合作伙伴开放。以下是拒绝信的部分内容:

Application Denial Reason (Optional): Unmanaged

limour-blog commented 1 year ago

麻了,Azure的过滤太离谱了,”继续“ 这个词似乎会百分百触发filter image 全新的对话也不行 image

Issues-translate-bot commented 1 year ago

Bot detected the issue body's language is not English, translate it automatically.


Sorry, Azure's filtering is outrageous. The word "continue" seems to trigger the filter 100% of the time. image Neither will a completely new conversation. image

johnsonperl commented 1 year ago

大家可以试试这个, 它实现了打印机效果

https://github.com/haibbo/cf-openai-azure-proxy

原理就是, 从Azure OpenAI Service拿到的消息虽然是一段一段的, 但给客户端的时候我拆出一条条的消息, 依次给.

Azure 即使开启流式模式,也是文字一块块出来的,这是因为Azure加了一层敏感词过滤。我们找微软的人关闭了这层过滤(在部署的模型选项中,内容筛选器会出现一个Microsoft.Nil的选项,选中就好了),然后效果就和chatgpt一样了。