45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
import sys
|
|
import json
|
|
from openai import OpenAI
|
|
import time
|
|
|
|
def get_assistant_response(user_message):
|
|
client = OpenAI(api_key='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')
|
|
|
|
# Thread erstellen
|
|
thread = client.beta.threads.create()
|
|
|
|
# Nachricht zum Thread hinzufügen
|
|
message = client.beta.threads.messages.create(
|
|
thread_id=thread.id,
|
|
role="user",
|
|
content=user_message
|
|
)
|
|
|
|
# Run mit dem Assistant starten
|
|
run = client.beta.threads.runs.create(
|
|
thread_id=thread.id,
|
|
assistant_id="asst_0LyJEWQS90Sx0oEIYBVWE47C"
|
|
)
|
|
|
|
# Auf Antwort warten
|
|
while True:
|
|
run_status = client.beta.threads.runs.retrieve(
|
|
thread_id=thread.id,
|
|
run_id=run.id
|
|
)
|
|
if run_status.status == 'completed':
|
|
break
|
|
time.sleep(1)
|
|
|
|
# Antwort abrufen
|
|
messages = client.beta.threads.messages.list(thread_id=thread.id)
|
|
assistant_message = messages.data[0].content[0].text.value
|
|
|
|
return {"response": assistant_message}
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) > 1:
|
|
user_message = sys.argv[1]
|
|
response = get_assistant_response(user_message)
|
|
print(json.dumps(response)) |