Vrushali's picture
Add OpenAI Whisper integration and update requirements.txt
e6bde5b
import base64
import requests
from config import OPENAI_API_KEY
from openai import OpenAI
import os
"""
openai_vision = OpenAIVision(api_key)
image_path = "path_to_your_image.jpg"
prompt = ""
response = openai_vision.get_image_description(prompt,image_path)
"""
class OpenAIVision:
def __init__(self):
self.api_key = OPENAI_API_KEY
self.base_url = "https://api.openai.com/v1/chat/completions"
def __encode_image(self, image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
def get_image_description(self, image_path, prompt):
base64_image = self.__encode_image(image_path)
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {self.api_key}"
}
payload = {
"model": "gpt-4-vision-preview",
"temperature": 0.0,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": prompt,
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
}
]
}
],
"max_tokens": 1000,
}
response = requests.post(self.base_url, headers=headers, json=payload)
return response.json()
def getname(self , prompt):
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": prompt}
]
)
return completion.choices[0].message