OpenAI 不可调用

问题描述 投票:0回答:1

当我尝试运行以下代码时:

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 的文档,这就是你要做的事情。

python openai-api langchain callable large-language-model
1个回答
0
投票

环境变量本身对于调用来说并不重要。 您需要做的是将密钥粘贴到 openai 客户端或 openai 模块本身。

总的来说,这两个选项对我有用:

  1. 将密钥粘贴到客户端:
client = openai.OpenAI(api_key=apikey)
  1. 将密钥粘贴到 openai 模块命名空间中:
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

© www.soinside.com 2019 - 2024. All rights reserved.