pixtral / test.py
JAMESPARK3's picture
Upload folder using huggingface_hub
1380717 verified
import base64
import requests
from io import BytesIO
from PIL import Image
def encode_image(img):
buffered = BytesIO()
img.save(buffered, format="PNG")
encoded_string = base64.b64encode(buffered.getvalue()).decode("utf-8")
return encoded_string
# ์ด๋ฏธ์ง€ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ œ๋Œ€๋กœ ์„ค์ •
img_path = "./1.png"
try:
img = Image.open(img_path)
except FileNotFoundError:
print(f"Error: The image file '{img_path}' was not found.")
exit()
base64_img = encode_image(img)
api = "https://api.hyperbolic.xyz/v1/chat/completions"
api_key = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZzMyNzAyNEBnbWFpbC5jb20ifQ._frFve-BYZdb0Qo6FIj6xcDcxpY-6QlC2O-ToQxBjkc" # ์‹ค์ œ API ํ‚ค๋กœ ์ˆ˜์ • ํ•„์š”
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}",
}
payload = {
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "What is this image?"},
{
"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{base64_img}"}, # PNG MIME ํƒ€์ž… ์ˆ˜์ •
},
],
}
],
"model": "mistralai/Pixtral-12B-2409",
"max_tokens": 2048,
"temperature": 0.7,
"top_p": 0.9,
}
try:
response = requests.post(api, headers=headers, json=payload)
response.raise_for_status() # HTTPError๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ
result = response.json() # JSON์œผ๋กœ ํŒŒ์‹ฑ
print(result)
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}") # HTTP ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ
except requests.exceptions.RequestException as req_err:
print(f"Request error occurred: {req_err}") # ์ผ๋ฐ˜ ์š”์ฒญ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ
except ValueError as json_err:
print(f"JSON decode error: {json_err}") # JSON ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ