|
|
|
import requests |
|
import math as matha |
|
from g4f.Provider import ( |
|
Bard) |
|
import g4f |
|
|
|
import os |
|
token=os.environ.get("TOKEN") |
|
|
|
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": |
|
|
|
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: |
|
|
|
|
|
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) |
|
2- corroboration de la pensée ( Aller dans le même sens que la définition sans pourtant le galvauder ) |
|
|
|
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) sans laquelle tu devra faire ca: |
|
|
|
Argument de l'anti thèse + explication de l'argument + exemple + explication de l'exemple |
|
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 |
|
|
|
|
|
|
|
|
|
print(" web::",pro) |
|
return "Non disponible pour l'instant." |
|
|
|
|
|
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() |
|
response = model.generate_content([chi, image_data], stream=True) |
|
e = response.resolve() |
|
print("ewe::",e) |
|
return e |
|
|
|
|
|
|