保护自己的大模型API Key--设置成环境变量的方法说明
本文介绍了如何通过环境变量安全地配置API Key,避免代码中直接暴露敏感信息。针对Linux和Windows系统分别提供了临时和永久环境变量的设置方法:Linux通过修改.bashrc文件,Windows通过系统属性或PowerShell命令。文章还解答了常见问题,如环境变量不生效的原因及解决方法,包括重启IDE、检查配置文件、使用sudo命令时的注意事项等。最后提供了阿里云百炼平台的相关参考链
概述
在使用在线大模型服务时,为保证API KEY
的安全性,建议将其设置为环境变量,从而避免在代码里显式地配置API Key,降低泄漏风险。
前置条件
已开通在线账号并获取API Key。这里以阿里云百炼平台为例,其他平台类似。
操作步骤
1. Linux系统
添加临时变量
# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
export DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"
执行上述命令后,当前终端会话中可以使用该变量,但关闭终端后变量会失效。
# 验证变量是否设置成功
echo $DASHSCOPE_API_KEY
添加永久变量
要使变量在每次登录时自动加载,可以将其添加到用户的~/.bashrc
或~/.bash_profile
文件中。
# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
echo "export DASHSCOPE_API_KEY='YOUR_DASHSCOPE_API_KEY'" >> ~/.bashrc
然后,执行以下命令使更改生效:
source ~/.bashrc
验证变量是否设置成功:
echo $DASHSCOPE_API_KEY
2. Windows系统
添加临时变量
在命令提示符或PowerShell中,使用以下命令设置临时环境变量:
# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
$env:DASHSCOPE_API_KEY = "YOUR_DASHSCOPE_API_KEY"
验证变量是否设置成功:
echo $env:DASHSCOPE_API_KEY
在 CMD
中,使用以下命令:
# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
set DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY
验证变量是否设置成功:
echo %DASHSCOPE_API_KEY%
添加永久变量
在Windows中,可以通过系统属性界面添加永久环境变量:
- 右键点击“此电脑”或“计算机”,选择“属性”。
- 点击“高级系统设置”。
- 在“系统属性”窗口中,点击“环境变量”按钮。
- 在“系统变量”或“用户变量”部分,点击“新建”。
- 输入变量名
DASHSCOPE_API_KEY
和您的API Key值。 - 点击“确定”保存。
- 重新启动命令提示符或PowerShell以使更改生效。
如果使PowerShell设置环境变量在当前用户的所有新会话中生效(永久变量),可以按如下操作。
在PowerShell中运行以下命令。
# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
[Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "YOUR_DASHSCOPE_API_KEY", [EnvironmentVariableTarget]::User)
打开一个新的PowerShell窗口。
在新的PowerShell窗口运行以下命令,检查环境变量是否生效。
# 验证变量是否设置成功
echo $env:DASHSCOPE_API_KEY
如果使CMD设置环境变量在当前用户的所有新会话中生效(永久变量),可以按如下操作。
在CMD中运行以下命令。
# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
setx DASHSCOPE_API_KEY "YOUR_DASHSCOPE_API_KEY"
打开一个新的CMD窗口。
在新的CMD窗口运行以下命令,检查环境变量是否生效。
# 验证变量是否设置成功
echo %DASHSCOPE_API_KEY%
常见问题
Q:用echo
命令确认环境变量设置成功了,为什么运行代码还是提示找不到API Key
?
A:具体原因如下:
-
情况一:没有设置永久性环境变量。临时环境变量只在当前终端会话有效,对于已经启动的 IDE 或其他应用程序并不会生效。请参考本文中设置永久性环境变量的方法。
-
情况二:没有重启IDE、命令行工具或应用。
- 通常需要重启IDE(如VS Code)或命令行工具,使其能够加载最新的环境变量。
- 如果在部署应用后设置了环境变量,可能需要重启应用服务,让应用能够重新加载环境变量。
-
情况三:需要在配置文件添加环境变量。如果您的应用是通过服务管理器(如systemd、supervisord)启动的,可能需要在服务管理器的配置文件中添加环境变量。
-
情况四:用了sudo命令。如果使用
sudo python xx.py
运行脚本,可能会遗漏当前用户环境变量,因为sudo
默认不继承所有环境变量。您可采用sudo -E python xx.py
命令,其中的-E
参数确保环境变量被传递。如有权限执行该脚本,可以直接执行python xx.py
。
参考资料
更多推荐
所有评论(0)