|
|
|
import requests |
|
import math as matha |
|
from g4f.Provider import ( |
|
Bard) |
|
import g4f |
|
|
|
import os |
|
token=os.environ.get("TOKEN") |
|
toto = os.environ.get("BARD") |
|
|
|
|
|
|
|
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 |
|
g4f.check_version = False |
|
|
|
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 |
|
|
|
|
|
|
|
|
|
def gpt(prompt): |
|
if not prompt: |
|
return "Veuillez saisir une question." |
|
|
|
|
|
|
|
|
|
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": |
|
|
|
de = """ Je veux faire mon travail de français de niveau lycé sous la forme d'une discussion argumentatif. La question du travail est la suivante: "{french_prompt}". tu devras discuter 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) pour la premiere partie. idem pour la deuxieme partie(3 argument pour lantithese). je veux une phrase de transition entre les deux partie et a la fin 'une conclusion avec une ouverture(donné sous forme de phrase interogative ) je veux que tu utilise le style décriture de :{autheur} """ |
|
answer = model.generate_content(de) |
|
|
|
|
|
return answer |
|
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: |
|
|
|
|
|
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 = model.generate_content(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 = model.generate_content(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) |
|
|
|
|
|
|
|
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 = model.generate_content(prompt_chi) |
|
return answer |
|
elif not chi: |
|
return "aucune instruction donner..." |
|
else: |
|
with open(im.name, 'rb') as f: |
|
image_data = f.read() |
|
|
|
|
|
return "non disponible " |
|
|