API authentication issue - can't find out why

Hi all,
I am running a fairly simple code, calling OpenAI’s API using my personal API key, for which I have my credit card connected to. However, I am still getting an authentication issue.

I have already tested a new API key, and I have double-checked that I am not close to my “spend limit”. Thus, I don’t understand why this authentication issue is being raised. Would love the communities assistance on this.

Please see my simple code below:
import gradio as gr
import os
from llama_index import StorageContext, load_index_from_storage, GPTVectorStoreIndex, Document, SimpleDirectoryReader

os.environ[‘OPENAI_API_KEY’] = ‘Hiding my actual API key’

from llama_index import StorageContext, load_index_from_storage

dir = os.path.dirname(os.path.abspath(file))
dir_save = os.path.join(dir, ‘index’)

storage_context = StorageContext.from_defaults(persist_dir=dir_save)

index = load_index_from_storage(storage_context)

query_engine = index.as_query_engine()

def add_sources(response):
res = str(response)
ex = ‘\n\n Sources:’
for i in response.extra_info:
ex += '\n ’ + response.extra_info[i][‘filename’]
res = res + ex
return res

def chatbot(input):
if input:
response = query_engine.query(input)
res_sources = add_sources(response)
return res_sources

inputs = gr.inputs.Textbox(lines=7, label=“Chat with Wartsila bot”)
outputs = gr.outputs.Textbox(label=“Reply”)

app = gr.Interface(fn=chatbot, inputs=inputs, outputs=outputs, title=“Wartsila bot”,
description=“Ask anything you want”).launch(share=True)


And here is part of the error message I get:
File “c:\Temp\Lib\site-packages\openai\util.py”, line 186, in default_api_key
raise openai.error.AuthenticationError(
openai.error.AuthenticationError: No API key provided. You can set your API key in code using ‘openai.api_key = ’, or you can set the environment variable OPENAI_API_KEY=). If your API key is stored in a file, you can point the openai module at it with ‘openai.api_key_path = ’. You can generate API keys in the OpenAI web interface. See OpenAI Platform for details.

1 Like

Just to clarify, I have also asked ChatGPT directly for assistance, but it was unable to give me any suggestion that led to a solution.

Was there ever a resolution to this? I am also using llama and also ran into this error, with very similar code

# import subprocess
subprocess.check_call(["pip", "install", "llama-index==0.5.6"])
subprocess.check_call(["pip", "install", "langchain==0.0.148"])

load_dotenv()  # take environment variables from .env.
api_key = os.getenv("OPENAI_API_KEY")
# Here I fill my LOCAL environment variable
os.environ["OPENAI_API_KEY"] = api_key

# directory_path = 'data-science-nerds/ai-architects/chatbot_things/data_handling/data_ingest/incoming_pdfs'
def construct_index(directory_path):
    '''Run models.'''
    # And here I fill the key to openAI
    openai.api_key = os.environ["OPENAI_API_KEY"]
    # directory_path = 'data-science-nerds/ai-architects/chatbot_things/data_handling/data_ingest/processed_text_files'

    # set maximum input size
    max_input_size = 4096
    # set number of output tokens
    num_outputs = 2000
    # set maximum chunk overlap
    max_chunk_overlap = 20
    # set chunk size limit
    chunk_size_limit = 600

    # define prompt helper
    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)

    # define LLM
    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.2, model_name="text-davinci-003", max_tokens=num_outputs))

    # Load the documents
    documents = SimpleDirectoryReader(directory_path).load_data()

    service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor, prompt_helper=prompt_helper)
    index = GPTSimpleVectorIndex.from_documents(documents, service_context=service_context)


    return index, documents

So the issue is that even if you pay the $20/month for chatGPT, the api falls under a different category and that’s where entering payment methods resolves this issue.

I also tried all the solutions here but nothing worked.
Here is what finally worked for me:python - OpenAI API "AuthenticationError No API key provided" when switching to internalConsole in VS Code launch.json - Stack Overflow