Mycha / ff.py
Docfile's picture
Update ff.py
a835486 verified
import requests
import math as matha
from g4f.Provider import (
Bard)
import g4f
from llama_index.llms.gemini import Gemini
#from bardapi import Bard as Bd
import os
token=os.environ.get("TOKEN")
toto = os.environ.get("BARD")
safe = [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE",
},
]
#bard = Bd(token=toto)
os.environ["GOOGLE_API_KEY"] = token
#llm = Gemini(model="models/gemini-1.5-pro-latest",token=8000)
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
g4f.debug.version_check = False # Disable automatic version checking
from g4f.client import Client
def rees(input_text):
client = Client()
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content":input_text}],)
return response.choices[0].message.content
async def greet(tt):
response = await llm.acomplete(tt,safety_settings=safe)
print(response)
return response
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
async def gpt(prompt):
if not prompt:
return "Veuillez saisir une question."
#answer = res(prompt)
print(prompt)
response = rees(prompt)
print(response)
return response
async 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 = await llm.acomplete(de,safety_settings=safe)
print(answer)
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)
response = await llm.acomplete(fi_prompt,safety_settings=safe)
print(response)
return response
async 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 = rees(ge)
print(response)
return response
async 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 suivant :
INTRODUCTION:
- Amorcer le sujet avec moins de deux phrases
- Poser le problème
- Formuler 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). Je veux que ce soit le plus détaillé possible surtout sur la partie explication. Je veux un gros text(10x la taille normal)
Deuxième Partie: Formuler l'antithèse
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). Je veux que ce soit le plus détaillé possible surtout sur la partie explication. Je veux un gros text(10x la taille normal)
CONCLUSION
1. Bilan de la réflexion:
- Résumer les grandes parties de la réflexion
2. Prise de position
je veux un travail bien détaillé et complet avec un français raffiné et soutenu. le travail doit être extrêmement détaillé et faire environ 7000 token
"""
response = await llm.acomplete(haha, safety_settings=safe)
return response
async def gpt_hist(hist_prompt, p_1, p_2, p_3):
if not hist_prompt:
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 différents points à détailler sont :{p_1}, {p_2}, {p_3}. en te basant sur le plan suivant :
INTRODUCTION:
- approche par définition du sujet, par constat ou rappel historique (du général au particulier/cas particulier au général)
- problématique/problème du sujet
- annonce du plan
DEVELOPPEMENT
pour chaque point, je voudrais
trois arguments (+explication + exemple). il faudra une phrase chapeau au début et une phrase de transition à la fin de chaque point.
CONCLUSION
1. Bilan de la réflexion.
2. question d'ouverture du sujet.
"""
response = await llm.acomplete(histt_prompt, safety_settings=safe)
print(response)
return response
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 = model.generate_content(prompt_chi)
return "noñ disponible"
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_data)
#return bard_answer['content']
return "non disponible "