В настоящее время я пытаюсь написать программу, которая берет данные из API-интерфейса NASA Astronomy Picture of the Day, а затем представляет данные пользователю на простой веб-странице. API возвращает данные в формате JSON, которые я преобразовал в простые текстовые строки в Python. Поскольку эта строка очень длинная, я пытаюсь использовать API Gemini AI от Google, чтобы принять текст в качестве входных данных и предоставить сводку. Однако всякий раз, когда я использую свой ключ API, он просто возвращает ошибку KeyError, ссылаясь на строки из os.py (а не из моей программы). Я могу получить доступ к своему API через веб-сайт Google AI Studio, где написано, что было получено несколько запросов. Буду признателен за любую помощь!
Ниже приведен мой код:
(см. строки 12–14 для конфигурации API и последний фрагмент функции apod() для
проблемы код)
(Фактический ключ API заменен на API KEY для обеспечения конфиденциальности)
# imports for functionality
import requests
import google.generativeai as genai # ai compiler
import os
# requests module --> allows us to send/recieve packets to/from APIs
# We use 3 APIs in this program; 2 NASA OpenAPIs, and a Google AI api SDK .
# We extract information from the first 2 apis, and summarize using the Google API,
# which is then presented to the user in a simple webpage.
# NASA API config
key = personal dev key # --> NASA API key
# Google API config --> migrate to openai after developing ai key
genai.configure(api_key=os.environ["API KEY"]) # --> Google ai API
model = genai.GenerativeModel("gemini-1.5-flash") # --> generates stable model
# API ref dict
apis = {
"apod" : "https://api.nasa.gov/planetary/apod?api_key="+ key
}
# check for API error codes
rcodes = {
200 : "Success",
301 : "Redirecting",
400 : "Invalid request",
401 : "Invalid login",
403 : "Unauthorized page",
404 : "Page not found",
503 : "Server not ready"
}
# function for passing text thru google openai library: ->
# Function blocks for parsing each API data
def apod(data):
# This block appends apod data to data.txt
f.write(i + ": \n")
print(data['date']) # date
f.write(str(data['url'] + "\n")) # url
imgexp = str(data['explanation']) # vaiable to store explanation
f.write(imgexp) #
print(i + "-" + rcodes[response.status_code]) # prints status code
print(respt['url'])
# Delete this part after fully integrated
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-python
Ошибка Google Gemini API KeyError с действительным ключом в Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение