在代码中硬编码 API 密钥不是一个好的做法。它会降低代码的可移植性和灵活性,并且更难保证代码安全。相反,您应该使用环境变量来存储特定于开发环境的值。

Chainlit 会自动从项目根目录下的 .env 文件加载环境变量。这个文件应该添加到您的 .gitignore 文件中,以防止其被提交到仓库。

.env
OPENAI_API_KEY=sk-...
PINECONE_API_KEY=...

公共应用与环境变量

如果您想将应用分享给更广泛的受众,不应该将自己的 OpenAI API 密钥放在 .env 文件中。相反,您应该在 Chainlit 配置中使用 user_env 来要求每个用户提供他们自己的密钥。

然后您可以在代码中使用以下方式访问用户的密钥:

import chainlit as cl

user_env = cl.user_session.get("env")