设置OpenAI API的环境变量

获取openai API 密钥

https://platform.openai.com/api-keys
在这里插入图片描述

设置环境变量

为什么不在代码中直接写入,而是设置环境变量?

  1. 安全性:将 API 密钥存储在环境变量中,而不是直接写在代码中,可以降低泄露密钥的风险。
  2. 易于管理:若你有多个项目都使用了 OpenAI API。如果你将 API 密钥直接写在每个项目的代码中,当需要更新密钥时,你需要一个个修改这些项目。但是,如果你将密钥存储在环境变量中,只需修改环境变量,所有项目都能自动使用新的密钥,省时省力!
  3. 灵活性:将 API 密钥存储在环境变量中,使得在不同的开发环境(如本地开发、测试服务器、生产服务器等)使用不同的密钥变得轻而易举。这意味着你可以在不修改代码的情况下轻松切换密钥。

如何在Windows中设置环境变量
step:设置–>系统–>系统信息–>高级系统设置–>环境变量–>新建系统变量
变量名:OPENAI_API_KEY
变量值:即OpenAI API 密钥
在这里插入图片描述

如何在PYTHON中使用环境变量

  1. 导入 os 模块
  2. 使用os.getenv() 或 os.environ() 读取环境变量
  • test
import os

openai_api_key = os.getenv("OPENAI_API_KEY")
print("openai_api_key",openai_api_key)

若输出为你的API密钥,那么环境配置成功;若返回 None,则配置错误。
其他读取"OPENAI_API_KEY"环境变量的方法

openai_api_key = os.environ["OPENAI_API_KEY"]
openai_api_key = os.environ.get("OPENAI_API_KEY")

参考源:

https://www.cnblogs.com/rmticocean/articles/17999891

<think>好的,我现在需要帮助用户获取多个API和服务的关键配置参数,特别是DeepSeek APIapi_key和base_url,Azure OpenAI API的密钥,以及Azure语音服务的key和region参数。首先,我应该回顾用户提供的引用内容,看看有没有相关的信息。 用户提供了四个引用,其中引用[1]是关于Azure OpenAI Service REST API的,引用[2]提到了使用订阅密钥进行身份验证,需要将密钥作为Ocp-Apim-Subscription-Key头传递。引用[3]展示了如何设置Text Analytics客户端,包括使用AzureKeyCredential和TextAnalyticsClient,这可能涉及到密钥和终结点URL的配置。引用[4]是关于docker-compose.yaml中的服务列表,可能不直接相关。 首先处理DeepSeek API的配置。根据我的知识,DeepSeek的API通常需要api_key和base_url,但用户提供的引用中没有提到DeepSeek,所以可能需要依靠自己的知识库。例如,base_url可能是https://api.deepseek.com/v1,而api_key需要用户从DeepSeek的控制台获取。需要提醒用户妥善保管密钥,并按照文档进行设置。 接下来是Azure OpenAI API。引用[1]和引用[3]都涉及到Azure的API配置。引用[1]的REST API参考可能包含获取密钥和终结点的方法,通常是在Azure门户中创建资源后,在“密钥和终结点”部分找到。引用[3]中的代码示例使用了AzureKeyCredential和TextAnalyticsClient,这里可能需要类似的步骤:在Azure门户创建资源,获取密钥和区域,然后配置到客户端中。例如,base_url可能类似于https://{resource-name}.openai.azure.com,而api_key是具体的密钥值。 然后是Azure语音服务。根据引用[2],使用订阅密钥进行身份验证,需要传递Ocp-Apim-Subscription-Key头。同时,语音服务通常需要区域参数,例如eastus或westus,具体取决于资源创建时选择的区域。所以用户需要在Azure门户中创建语音服务资源,获取密钥和区域,然后在代码中配置这两个参数。 在组织回答时,需要分点说明每个服务的配置参数,并引用用户提供的相关引用。例如,Azure OpenAI和语音服务的密钥获取和配置可以参考引用[1]、[2]、[3]。同时,提醒用户关于密钥安全、区域匹配以及文档参考的重要性。 最后,生成相关问题时要围绕API配置、安全性、使用场景和故障排除等方面,确保问题具有实际帮助。例如,如何保护API密钥,如何处理密钥泄露,不同服务的应用场景等。</think>### 关键API与服务配置参数说明 #### 1. **DeepSeek API 配置** - **`api_key`**:通过DeepSeek开发者平台申请API访问权限后获取的唯一身份验证密钥。需妥善保管,避免泄露[^1]。 - **`base_url`**:API服务的基础地址,通常为 `https://api.deepseek.com/v1`,具体需参考官方文档。 #### 2. **Azure OpenAI API 配置** - **API密钥**:在Azure门户中创建OpenAI资源后,通过“密钥和终结点”页面获取两个订阅密钥(可交替使用以提高安全性)。密钥格式类似 `3a1b2c3d4e5f6g7h8i9j0k`[^2]。 - **终结点(base_url)**:格式为 `https://{resource-name}.openai.azure.com`,需替换为实际资源名称。 - **必填参数**:调用时需指定 `api-version`(如 `2023-05-15`)和部署的模型名称[^1]。 #### 3. **Azure 语音服务配置** - **订阅密钥**:在Azure门户创建语音服务资源后,从“密钥和终结点”页面获取,需通过请求头 `Ocp-Apim-Subscription-Key` 传递。 - **区域参数(region)**:与资源关联的Azure区域标识符(如 `eastus`、`westeurope`),需与密钥匹配使用。 --- ### 配置示例代码 #### Azure OpenAI(Python SDK): ```python from azure.core.credentials import AzureKeyCredential from azure.ai.textanalytics import TextAnalyticsClient credential = AzureKeyCredential("<your-api-key>") endpoint = "https://<resource-name>.openai.azure.com/" client = TextAnalyticsClient(endpoint=endpoint, credential=credential) # [^3] ``` #### Azure语音服务(HTTP请求): ```bash curl -X POST "https://{region}.api.cognitive.microsoft.com/sts/v1.0/issueToken" \ -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" # ``` --- ### 注意事项 1. **密钥安全性**:所有API密钥均需通过环境变量或密钥管理服务存储,禁止硬编码在代码中。 2. **区域匹配**:Azure服务的终结点必须与资源部署区域一致,否则会触发认证错误。 3. **配额限制**:各API均有调用频率和次数限制,需提前在Azure门户或DeepSeek控制台查看。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值