黑马大模型RAG与Agent智能体实战教程LangChain提示词——1、课程导学、前置准备(接入通义千问阿里百炼大模型、使用环境变量保护APIKEY)
查看当前代码,了解 API Key 的使用情况:代码中 API Key 被硬编码(第6行),存在安全风险。
·
https://www.bilibili.com/video/BV1yjz5BLEoY
文章目录
- 课程导学
- 前置准备-01、通义千问大模型的接入
- 前置准备-02、代码调用云端的大模型
- 前置准备-03、使用环境变量保护APIKEY
课程导学
四大核心




前置准备-01、通义千问大模型的接入
阿里云百炼注册登录


https://bailian.console.aliyun.com/
先注册登录,并实名认证,步骤略:

创建并复制API-KEY
点击模型服务——密钥管理——创建API Key:



点击复制:
额度监控(模型用量)



前置准备-02、代码调用云端的大模型
步骤

创建sealos云环境(不想用电脑环境,弄个devbox)


heima-agent-devbox-python312


用Cursor打开项目

会在本地用cursor打开项目

升级pip并且安装openai库
python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple

→提示词:新建目录“AI大模型RAG与智能体开发”,新建文件“01测试APIKEY的使用.py”
或者:新建目录“AI_LLM_RAG_Agent_Dev”,新建文件“01_TestApiKey.py”
复制阿里云百炼示例代码并测试调用
模型服务——模型广场——通义千问3-Max

找到示例代码并复制

→提示词:新建目录“AI大模型RAG与智能体开发”,新建文件“01测试APIKEY的使用.py”,加入以下代码,并替换APIKEY
import os
from openai import OpenAI
client = OpenAI(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen3-max",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你是谁?"},
],
stream=True
)
for chunk in completion:
print(chunk.choices[0].delta.content, end="", flush=True)
APIKEY:
sk-637d7df6a79149e5991437a23e0d375b
←AI回复

运行python脚本
python AI_LLM_RAG_Agent_Dev/01_TestApiKey.py

总结

前置准备-03、使用环境变量保护APIKEY

Windows在环境变量里设置,Mac跟在linux里差不多(略),我打算用dotenv的方法
→提示词:帮我保护我的ApiKey,你会怎么做?只需回答不用改代码
←AI回复
查看当前代码,了解 API Key 的使用情况:
[1 tool called]
代码中 API Key 被硬编码(第6行),存在安全风险。保护 API Key 的建议:
1. 使用环境变量(推荐)
- 将 API Key 存储在环境变量中,代码通过
os.getenv()读取 - 优点:不暴露在代码中,便于在不同环境使用不同密钥
2. 使用 .env 文件 + python-dotenv
- 创建
.env文件存储敏感信息 - 使用
python-dotenv库加载 - 重要:将
.env添加到.gitignore,避免提交到版本控制
3. 使用密钥管理服务
- 生产环境:使用 AWS Secrets Manager、Azure Key Vault、HashiCorp Vault 等
- 容器环境:使用 Docker secrets 或 Kubernetes secrets
4. 代码层面的保护
- 不要在代码中硬编码密钥
- 不要在日志中输出密钥
- 不要在错误信息中暴露密钥
- 使用配置文件时,确保配置文件也在
.gitignore中
5. 版本控制保护
- 检查
.gitignore是否包含.env和包含密钥的文件 - 如果已提交,立即撤销并轮换密钥
6. 访问控制
- 限制 API Key 的权限范围
- 定期轮换密钥
- 监控 API Key 的使用情况
7. 当前代码的改进建议
- 将第6行的硬编码密钥改为:
api_key=os.getenv("API_KEY")或api_key=os.getenv("API_KEY", "默认值") - 在运行前设置环境变量:
export API_KEY="sk-xxx" - 或使用
.env文件配合python-dotenv
最重要:如果这个 API Key 已经暴露(比如已提交到 Git),请立即在服务提供商处撤销并生成新密钥。
需要我帮你实现其中一种方案吗?
→提示词:帮我使用 .env 文件 + python-dotenv,并编写.gitignore,getenv无需默认值
←AI回复(没有权限写入.env文件,需手动创建)



手动执行命令添加.env文件,并添加API_KEY和DASHSCOPE_API_KEY两个环境变量
touch .env
echo "API_KEY=sk-637d7df6a79149e5991437a23e0d375b" > /home/devbox/project/.env
echo "DASHSCOPE_API_KEY=sk-637d7df6a79149e5991437a23e0d375b" >> /home/devbox/project/.env

测试执行脚本
先安装依赖库
pip install -r requirements.txt

执行脚本
python3 AI_LLM_RAG_Agent_Dev/01_TestApiKey.py

可以看出,脚本正确读到了环境变量中的APIKEY
总结

更多推荐

所有评论(0)