所有文章 > 学习各类API > OpenAI模型调用GitHub数据的完整指南
OpenAI模型调用GitHub数据的完整指南

OpenAI模型调用GitHub数据的完整指南

本文详细介绍了如何通过GitHub提供的资源来调用和管理OpenAI模型数据,尤其是使用Azure OpenAI服务的方法。通过这份指南,读者可以学习如何配置和部署相关工具,以便更高效地调用各种大模型接口。本文涵盖了从获取API密钥到具体部署的每一个步骤,并提供了实例代码帮助读者理解实际操作。

获取AzureOpenAI服务的API密钥

访问GitHub获取API密钥

使用GitHub提供的Azure OpenAI服务,用户可以通过访问开源地址来获取API密钥。在页面中,点击右上角的“Get API key”按钮。

获取API密钥按钮

生成开发者密钥

接下来,点击“Get developer key”以申请开发者密钥。选择Beta版本并点击“Generate new token”。

生成开发者密钥

生成并输入token

授权后,输入“token name”,如“gpt4”,然后点击“Generate token”按钮。将生成的access token复制到./app.py中的gtp4o_token变量中。

输入token

配置DockerCompose进行服务部署

部署Docker Compose

通过Docker Compose,可以快速部署Azure OpenAI服务。首先,确保在本地安装了Docker和Docker Compose。

docker-compose up -d

检查部署状态

使用docker-compose ps命令来查看服务的部署状态,确保一切正常运行。

docker-compose ps

数据存储配置

服务的数据存储在./data/mysql文件夹内,请确保该文件夹存在并具有写入权限。

在OneAPI中管理和分发接口

OneAPI概述

OneAPI是一种用于管理和分发OpenAI接口的系统,支持多种大模型如Azure、Anthropic Claude和智谱ChatGLM。

OneAPI界面

配置渠道

在OneAPI中配置渠道时,将xinference BaseURL填入,并为模型输入自定义名称。提交后,测试调用是否成功。

配置渠道

管理令牌

通过OneAPI的令牌界面,用户可以管理和生成新的API密钥,为不同的模型接口提供访问权限。

管理令牌

通过Python代码实现本地调用

设置API密钥

在Python代码中,设置openai_api_keyopenai_api_base变量,确保它们对应于您在OneAPI中配置的渠道。

openai_api_key = "填入你创建令牌的key,格式:sk-xxxx"
openai_api_base = "填入你oneapi的url,比如:http://localhost:3000/"

创建OpenAI客户端

使用OpenAI Python库创建一个客户端实例,并配置请求参数。

client = OpenAI(api_key=openai_api_key, base_url=openai_api_base)

发起请求并处理响应

使用创建的客户端,发起聊天请求并处理返回的响应信息。

chat_response = client.chat.completions.create(
    model="InternVL-Chat-V1-5",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Tell me a joke."},
    ]
)
print("Chat response:", chat_response.choices)

如何在Apifox中验证API调用

配置请求参数

在Apifox中,设置请求的URL和请求体,确保它们与OneAPI的配置相匹配。

Apifox配置

发送请求

点击发送按钮,Apifox会发出请求并展示返回结果,验证API调用是否成功。

发送请求

分析响应结果

根据返回的响应结果,确认调用是否正确,并根据需要调整Apifox的配置参数。

使用Nginx进行反向代理配置

基本Nginx配置

使用Nginx对OpenAI的API进行反向代理配置,确保在配置文件中正确设置server_name和proxy_pass参数。

server{
   server_name openai.justsong.cn;
   location / {
          client_max_body_size  64m;
          proxy_http_version 1.1;
          proxy_pass http://localhost:3000;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_cache_bypass $http_upgrade;
          proxy_set_header Accept-Encoding gzip;
          proxy_read_timeout 300s;
   }
}

配置HTTPS

使用Let’s Encrypt的certbot工具为Nginx配置HTTPS,确保数据传输的安全性。

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
sudo service nginx restart

验证Nginx配置

在完成配置后,重启Nginx服务,确保一切正常运行,并通过浏览器访问验证配置是否生效。

生成和管理安全证书以启用HTTPS

安装Certbot

在Ubuntu上安装certbot工具,用于生成和管理SSL证书。

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

生成SSL证书

使用certbot生成SSL证书,并自动配置Nginx以支持HTTPS。

sudo certbot --nginx

管理和更新证书

定期使用certbot更新SSL证书,确保HTTPS服务的持续可用性。

FAQ

问:如何获取Azure OpenAI服务的API密钥?

  • 答:要获取Azure OpenAI服务的API密钥,您需要访问提供的开源GitHub地址。在页面中,点击右上角的“Get API key”按钮即可获取。

问:如何使用Docker Compose部署Azure OpenAI服务?

  • 答:首先确保在本地安装了Docker和Docker Compose。然后在项目目录下运行docker-compose up -d命令即可快速部署服务。部署后,可以使用docker-compose ps检查服务状态。

问:如何在OneAPI中管理和分发OpenAI接口?

  • 答:OneAPI支持管理和分发多种OpenAI接口。在其中配置渠道时,需要填入xinference BaseURL,并为模型输入自定义名称。提交后,可以通过测试调用确认配置是否成功。

问:如何通过Python代码实现本地调用Azure OpenAI服务?

  • 答:首先在Python代码中设置openai_api_keyopenai_api_base变量,然后使用OpenAI Python库创建一个客户端实例。通过该客户端可以发起请求并处理响应。例如:
    client = OpenAI(api_key=openai_api_key, base_url=openai_api_base)

问:如何使用Nginx进行反向代理配置以支持HTTPS?

  • 答:使用Nginx对OpenAI的API进行反向代理时,需要在配置文件中设置server_nameproxy_pass参数。然后使用Let’s Encrypt的certbot工具生成SSL证书并自动配置Nginx,以确保HTTPS数据传输的安全性。
#你可能也喜欢这些API文章!