老師解釋一行code就夠用
while True: query(input()).write('output.jpeg')
好吧,小爺爺把您這句蹩腳code改進一下,看看華為如何做到的!!
# 設置Bing Image Search API的相關信息
subscription_key = "your_bing_api_key"
search_url = "https://api.bing.microsoft.com/v7.0/images/search"
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
def query(user_input):
# 使用Bing Image Search API搜索圖像找到與用戶描述最相關的圖像
params = {"q": user_input, "license": "public", "imageType": "photo"}
response = requests.get(search_url, headers=headers, params=params)
search_results = response.json()
if "value" in search_results and len(search_results["value"]) > 0:
# 獲取第一個圖像的URL
image_url = search_results["value"][0]["contentUrl"]
image_response = requests.get(image_url)
if image_response.status_code == 200:
image_data = image_response.content
else:
raise ValueError("Failed to retrieve image from the URL")
else:
raise ValueError("No images found for the query")
class QueryResult:
def __init__(self, data):
self.data = data
def write(self, filename):
with open(filename, 'wb') as f:
f.write(self.data)
return QueryResult(image_data)
while True:
user_input = input("請輸入圖像描述 (or type 'exit' to quit): ")
if user_input.lower() == 'exit':
break
try:
result = query(user_input)
print("上麵query運行太快,顯得很不真實,俺隻好假裝思考6秒鍾")
time.sleep(6)
result.write('output.jpeg')
print(”嗯,這樣結束就蠻真實了“)
except Exception as e:
print(f"An error occurred: {e}")