import ast import pymongo import zeep from pymongo import MongoClient import json from bson import ObjectId import re from datetime import datetime import prj_common as mycommon import secrets import inspect import sys, os import csv import pandas as pd from pymongo import ReturnDocument from math import isnan import GlobalVariable as MYSY_GV import ela_index_bdd_classes as eibdd import email_mgt as email from validate_email import validate_email import jinja2 from openai import OpenAI #openai.api_key = MYSY_GV.OPENAI_KEY client = OpenAI( # Defaults to os.environ.get("OPENAI_API_KEY") api_key=MYSY_GV.OPENAI_KEY, ) GPT_MODEL = "gpt-4-1106-preview" #"gpt-3.5-turbo-1106" def mysy_openai(diction): try: requestion_response = {} requestion_response['question'] = "Ecris moi une conclusion d'un article qui parle de l'utilisation de l'API ChatGPT" prompt = f"Améliorer : 'Notre objectif est également de développer des solutions de proximité qui permettront à chacun de nos clients d’être unique, de se distinguer. Cette approche personnalisée leur permettra de disposer d’une solution adaptée à leur besoin.'" messages = [{"role": "user", "content": prompt}] response = client.chat.completions.create( model=GPT_MODEL, messages=messages, temperature=0 ) response_message = response.choices[0].message.content #json_formatted_str = json.dumps(response, indent=2) refusal_status = response.choices[0].message.refusal print(" #refusal_status = ", refusal_status) print(" ### AFFICHAGE GPT RESPONSE ") print(response.choices[0]) print(response_message) requestion_response['reponse'] = str(response.choices[0].message.content) """ prompt = f"Ecris moi une conclusion d'un article qui parle de l'utilisation de l'API ChatGPT" completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) print(completion['choices'][0]['message']['content']) """ return True,requestion_response except Exception as e: exc_type, exc_obj, exc_tb = sys.exc_info() mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) return False, " Impossible de traiter : mysy_openai" """ Test openai voice to text mysy """ def mysy_openai_voice_to_text(diction): try: print(" ### diction = ", diction) file_name = "temp_direct/mysy_test_voice_mp3.mp3" if( "voice_file" in diction.keys() and diction['voice_file'] ): file_name = diction['voice_file'] print(" ### Traitement du fichier audio : ", file_name) audio_file = open(file_name, "rb") transcription = client.audio.transcriptions.create( model="whisper-1", file=audio_file, #response_format = "text" ) requestion_response = transcription.text print(" ### AFFICHAGE GPT RESPONSE - mysy_openai_voice_to_text") print(transcription.text) return True,requestion_response except Exception as e: exc_type, exc_obj, exc_tb = sys.exc_info() mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) return False, " Impossible de traiter : mysy_openai_voice_to_text" def mysy_openai_assistant(diction): try: requestion_response = {} my_assistant = client.beta.assistants.create( instructions="You are a personal math tutor. When asked a question, write and run Python code to answer the question.", name="Math Tutor", tools=[{"type": "code_interpreter"}], model="gpt-4o", ) print(my_assistant) return True, my_assistant except Exception as e: exc_type, exc_obj, exc_tb = sys.exc_info() mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) return False, " Impossible de traiter : mysy_openai_assistant"