import requests import math as matha from g4f.Provider import ( Bard) import g4f from bardapi import Bard as Bd import os token=os.environ.get("TOKEN") toto = os.environ.get("BARD") bard = Bd(token=toto) import google.generativeai as genai genai.configure( api_key=token ) model = genai.GenerativeModel( model_name='gemini-pro' ) model_vision = genai.GenerativeModel('gemini-pro-vision') from g4f import Provider, models from langchain.llms.base import LLM from langchain_g4f import G4FLLM g4f.debug.logging = True # Enable logging g4f.check_version = False # Disable automatic version checking #print(g4f.version) # Check version print(g4f.Provider.Ails.params) def res(input_text): llm: LLM = G4FLLM( model=models.gpt_35_turbo, ) input_texxt ="Tu es un assistant intelligent.ton but est d'assiter au mieux que tu peux." + input_text print("Question:", input_text) print() print() re = llm(input_texxt) print(re) return re def infer(im): im.save("converted.png") url = "https://ajax.thehive.ai/api/demo/classify?endpoint=text_recognition" files = { "image": ("converted.png", open("converted.png", "rb"), "image/png"), "model_type": (None, "detection"), "media_type": (None, "photo"), } headers = {"referer": "https://thehive.ai/"} ress = requests.post(url, headers=headers, files=files) text = "" blocks = [] for output in ress.json()["response"]["output"]: text += output["block_text"] for poly in output["bounding_poly"]: blocks.append( { "text": "".join([c["class"] for c in poly["classes"]]), "rect": poly["dimensions"], } ) return text # app 2 def gpt(prompt): if not prompt: return "Veuillez saisir une question." #answer = res(prompt) print(prompt) response = model.generate_content(prompt) print(response.text) return response.text def gpt_francais(french_prompt,choix,autheur): if not french_prompt: return "Veuillez saisir un thème ." if choix == "discuter": d_prompt = """Je veux faire mon travail de français de niveau lycé sous la forme d'un travail argumentatif. La question du travail est la suivante: "{french_prompt}". tu devras etayer ce thème. jai besoin dune introduction(avec une problématique et l'annonce du plan), de 3 arguments(avec explication et example et illustration) et une phrase de transition pour refuter le sujet """ te_fi = "" answer = res(d_prompt) te_fi += answer +"\n\n" de = """Je veux faire mon travail de français de niveau lycé sous la forme d'un travail argumentatif . La question du travail est la suivante: "{french_prompt}". tu devras refuter ce thème. jai juste besoin, de 3 arguments(avec explication et example et illustration) et d'une conclusion avec une ouverture(donné sous forme de phrase interogative ) """ answer = res(de) te_fi += answer return te_fi else: fi_prompt = f"""Je veux faire mon travail de français de niveau lycé sous la forme d'un travail argumentatif. La question du travail est la suivante: "{french_prompt}". tu devras {choix} ce thème. jai besoin dune introduction(avec une problématique et l'annonce du plan), de 3 arguments(avec explication et example et illustration) et d'une conclusion avec une ouverture(donné sous forme de phrase interogative ) je veux que tu utilise le style décriture de :{autheur} """ answer = res(fi_prompt) print(answer) return answer def philo_cc(cc_prompt): if not cc_prompt: return "Mani rentre le sujet ! " else: #print(cc_prompt) ge = f""" Agis maintenant comme un prof. Je veux que tu me fasse un travail de philo de niveau lycée en respectant scrupulesement le texte suivant. Je veux que ce soit tres detaille. Voici le sujet du travail . : << {cc_prompt} >>. Faite le travail en respectant les consignes Voici le plan : Tu commencera par une introduction dans laquelle tu devra : 1- amorce par constat d'ordre général uniquement + reprise de la citation + reformulation de la citation + connecteur logique d'opposition + problématique. La première question est une interrogation sur la citation tandis que la deuxième questions est une interrogations sur la discussion. Et ensuite un développement dans laquelle tu devra dans la première 1 ère partie (explication où il faudra étayer sous forme de thèse) faire ça : 1- clarification de la pensé ( définition du sujet argument 1) 2- corroboration de la pensée ( Aller dans le même sens que la définition sans pourtant le galvauder Argument 2 + explication de l'argument + citation + explication de la citation) Et ensuite une phrase de Transition avant d'aborder la deuxième partie qui sera le (commentaire où il faudra réfuter l'explication sous forme de anti thèse en trois parties + des citations) sans laquelle tu devra faire ca: Argument 1 de l'anti thèse + explication de l'argument + citation + explication de la citation Argument 2 de l'anti thèse + explication de l'argument + citation + explication de la citation Argument 3 de l'anti thèse + explication de l'argument + citation + explication de la citation un commentaire Et tu fini avec la conclusion Conclusion. - Bilan : partie explicative + commentaire - réponse à la question Perspective ( facultative) """ response = model.generate_content(ge) print(response.text) return response.text def gpt_philo(phi_prompt,autheur): if not phi_prompt: return "Veuillez saisir un sujet." haha = f""" Je veux que tu me traite mon travail de philosophie de niveau lycé sous la forme d'une dissertation. La question du travail est la suivante: "{phi_prompt}". en te basant sur le plan suiavnt : INTRODUCTION: - Amorcer le sujet avec moins de deux phrase -Poser le problème - Formulée la problématique autour de deux questions essentielles: - Question-thèse -Question-antithèse: DEVELOPPEMENT Première Partie: Formuler la thèse initiale je veux trois arguments avec le plan suivant(Argument + Explication de l'argument + Illustration (soit avec un exemple de la vie courante soit avec une citation philosophique). Deuxième Partie: Formuler l'antithèse je veux trois arguments t avec le plan suivant(Argument + Explication de l'argument + Illustration (soit avec un exemple de la vie courante soit avec une citation philosophique). Je veux que tu utilise le même style d'écriture que {autheur} CONCLUSION 1. Bilan de la réflexion: -Résumer les grandes parties de la réflexion 2. Prise de position""" answer = res(haha) print(answer) return answer def gpt_hist(hist_prompt,p_1,p_2,p_3): if not gpt_hist: return "Veuillez saisir un thème ." histt_prompt = f"""Je veux que tu me traite mon travail d'histoire de niveau lycé sous la forme d'une dissertation . La question du travail est la suivante: "{hist_prompt}". les different points a detailler sont :{p_1},{p_2}, {p_3}. en te basant sur le plan suivant : INTRODUCTION: - approche par definition du sujet, par constat ou rappel historique( du general au particulier/cas particulier au general ) - problematique/probleme du sujet - annonce du plan DEVELOPPEMENT pour chaque point,je voudrais trois arguments(+explication+exemple). il faudra une phrase chapeau au debut et une phrase de transition a la fin de chaque point. CONCLUSION 1. Bilan de la réflexion. 2. question douverture du sujet. """ answer = res(histt_prompt) print(answer) return answer def calcul(math, francais, physique, svt, philo, eps, thea, hist, anglais): math = math * 5 francais = francais * 3 physique = physique * 4 svt = svt * 3 philo = philo * 2 eps = eps * 2 thea = thea * 3 anglais = anglais * 2 hist = hist * 3 conduite = 14 * 1 total = ( math + francais + physique + svt + philo + eps + thea + hist + anglais + conduite ) r = total / 28 return matha.trunc(r * 100) / 100 def mariam_web(pro): if not pro: return "Veuillez saisir une question." t_pro = " agis en tant q'ia appele mariam et creer par youssouf. ton role est uniquement d'assister. reponds a cette question: " + pro response = g4f.ChatCompletion.create(model=g4f.models.default,messages=[{"role": "user", "content":t_pro}],provider=Bard,cookies={"__Secure-1PSID":"fgg91IKbXQ_S86kjSG8dgTVZ2tnXezPmRigwiwLdfyvQAbnlLgC485la2u6J1JiMBlo4Gg.", "__Secure-1PSIDCC": "ABTWhQH741EfDPTkIWg_-Xh30RBTmDhy2jBy8io48bc06Fu1509dr8UnzDyopG7T1Mb3oHbQ"},auth=True) #bard = bd(token=token) #response = bard.get_answer(t_pro)['content'] print(" web::",pro) return response def mariam_chimi(chi,im): prompt_chi = " tu es un expert en chimie, tu as 20 d'expreriance dans le domaine. reponds a cette question: " + chi if not im : answer = res(prompt_chi) return answer elif not chi: return "aucune instruction donner..." else: with open(im.name, 'rb') as f: image_data = f.read() bard_answer = bard.ask_about_image(chi, image) print(bard_answer['content']) return bard_answer['content'] #fin