当我尝试运行以下代码时:
import os
from langchain.llms import OpenAI
from apikey import apikey
import streamlit as st
os.environ["OPENAI_API_KEY"] = apikey
st.title("Content GPT Creator")
prompt = st.text_input('Plug in your prompt here')
llm = OpenAI(temperature = .9)
我一直收到 OpenAI 不可调用的错误,有人遇到过这种情况吗?感谢您提前提供任何帮助。
我以为我可以用 OpenAI 的实例实例化一个 llm,但它一直说它不可调用,根据 langchain 的文档,这就是你要做的事情。
环境变量本身对于调用来说并不重要。 您需要做的是将密钥粘贴到 openai 客户端或 openai 模块本身。
总的来说,这两个选项对我有用:
client = openai.OpenAI(api_key=apikey)
openai.api_key = apikey
client = openai.OpenAI()
一般来说,环境变量用于将密钥存储在脚本“外部”以确保安全。但据我所知,openai 函数并未使用它们。
最后一点。如果您使用 Streamlit,它有自己的加载环境变量的机制:
如果您在项目目录中创建一个名为
.streamlit/secrets.toml
的文件,其中包含如下行:
OPENAI_API_KEY = "YOUR_API_KEY"
然后
st
模块有一个秘密对象,您可以将其用作:
client = OpenAI(api_key=st.secrets["OPENAI_API_KEY"])
请注意,此处环境变量的名称再次无关紧要。您可以将其命名为“OPENAI_API_KEY”之外的任何其他名称
我从这里得到的:https://docs.streamlit.io/knowledge-base/tutorials/build-conversational-apps