Mycha / ff.py
Docfile's picture
Update ff.py
0634d33 verified
raw
history blame
8.93 kB
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 # 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""" Je veux que tu me fasse mon devoir de philo sous la forme d'un commentaire. Voici le plan à respecter
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 + transition) faire ça :
1- clarification de la pensé
2- corroboration de la pensée
Et ensuite une phrase de Transition avant d'aborder la deuxième partie sans laquelle tu devra faire ca:
Thèse + Antithèse.
Argument de la thèse + explication de l'argument + exemple + explication de l'exemple
un commentaire
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)
Voici le sujet : << {cc_prompt} >> expliquez puis commenter cette assertion.
"""
answer = res(ge)
return answer
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":"dQg91CxO8uBxZRm-6QpOx-8nik1XlC9TzWoIfOpsOlcNAYgeZSG6NJ-2A3y3dmp_hRzGrA.", "__Secure-1PSIDCC": "ACA-OxPnUrZhljKXHrtQcTO2xpYdxfaM9N0oLe34ghl6Su3BHjrZs6TK35gWLxgPMngVENiK9Q"},auth=True)
#bard = bd(token=token)
#response = bard.get_answer(t_pro)['content']
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
#fin