众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口
现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口
国内的效果真的很差,现在如果想使用GPT大模型,可以使用微软Azure的OpenAI服务。
负责任的AI
在微软,我们致力于以人为本的原则推动AI的进步。生成模型(如Azure OpenAI中可用的模型)具有显著的潜在优势,但如果没有仔细的设计和深思熟虑的缓解措施,这样的模型有可能生成不正确甚至有害的内容。微软已经进行了大量投资,以帮助防止滥用和意外伤害,其中包括要求申请人展示定义明确的用例,纳入微软负责任的AI使用原则,构建内容过滤器以支持客户,并为客户提供负责任的AI实施指导。
微软在中国是有合规企业的,并且数据内容经过了过滤,我们可以考虑平替OpenAI官网服务
接口规范
我们可以参考下面这个REST接口的调用参数
在Azure上创建服务成功以后,会得到两个参数 ENDPOINT 和 API-KEY
调用chat接口的方式
代码语言:javascript
复制
curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo/chat/completions?api-version=2023-05-15 \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure Cognitive Services support this too?"}]}'
与OpenAI官方的区别
接口地址不一样,header参数里传递key的形式也不一样。
除了这俩点其他都是一样的
总结
我们可以使用第三方库的时候,查看下该库是否有兼容Azure OpenAI,如果有兼容的话,我们在应用层前端配置接口域名部分,以及key部分,就可以实现两边兼容了。