I have developed a script which creates a fileid and then some hardcoded queries/prompts are asked related to the file. There are more than 10 questions. I wrote this piece of code but not getting any response. Can anyone please point out why?
thanks
import time
from openai import OpenAI
ASSISTANT_ID = "asst_GTPvizLYgZ3f0T5RIbhYg7Xw"
API_KEY = "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■lUZtQvnX"
client = OpenAI(api_key=API_KEY)
def upload_file(filepath):
try:
with open(filepath, "rb") as file:
my_file = client.files.create(file=file, purpose='assistants')
print(f"File Uploaded: {my_file.id}")
return my_file.id
except Exception as e:
print(f"Failed to upload file: {e}")
return None
def create_thread():
try:
my_thread = client.beta.threads.create()
print(f"Thread Created: {my_thread.id}")
return my_thread.id
except Exception as e:
print(f"Failed to create thread: {e}")
return None
def send_query(thread_id, query, file_id):
try:
my_thread_message = client.beta.threads.messages.create(
thread_id=thread_id,
role="user",
content=query,
file_ids=[file_id]
)
print(f"Message Added to Thread: {my_thread_message.id}")
return my_thread_message.id
except Exception as e:
print(f"Failed to add message to thread: {e}")
return None
def poll_for_response(thread_id):
print("Waiting for response from the assistant...")
while True:
time.sleep(1)
try:
response_messages = client.beta.threads.messages.list(thread_id=thread_id)
# Checking the role of the last message
if response_messages.data and response_messages.data[-1].role == 'assistant':
latest_message = response_messages.data[-1]
print(f"Assistant's Response: {latest_message.content}")
break
except Exception as e:
print(f"Error retrieving messages: {e}")
break
def main():
file_id = upload_file("/Users/s/rawfinal/Text_4.txt")
if not file_id:
return
thread_id = create_thread()
if not thread_id:
return
queries = [
"""Questions"
"""
]
for query in queries:
message_id = send_query(thread_id, query, file_id)
if not message_id:
continue
poll_for_response(thread_id)
if __name__ == "__main__":
main()