File size: 9,401 Bytes
339e7ba
 
a7767cc
e383d14
 
293c5f7
bedc162
0a9dfd4
 
53ef663
2eec4de
 
bedc162
3f3a6ea
5b12ec5
3f3a6ea
 
 
 
 
 
4c0b025
5b12ec5
 
 
 
1944f0f
 
323919c
1944f0f
5b12ec5
 
 
 
e5cdf5d
d6f08b8
5b12ec5
1944f0f
5b12ec5
 
 
 
 
 
 
 
 
 
339e7ba
 
 
 
 
 
 
 
 
 
 
 
5b12ec5
339e7ba
 
 
5b12ec5
339e7ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3f3a6ea
5b12ec5
3f3a6ea
 
 
 
339e7ba
2d80f81
339e7ba
 
 
 
 
 
37b898b
 
 
 
 
339e7ba
83c1451
5b12ec5
339e7ba
 
 
 
5911049
 
 
 
 
0634d33
5911049
a394a40
045d945
 
d20b3ef
5911049
6df010f
5911049
 
557bd73
608ea04
d20b3ef
557bd73
608ea04
6df010f
608ea04
d20b3ef
821bc43
 
 
557bd73
821bc43
 
 
5911049
557bd73
5911049
 
6df010f
5911049
6df010f
 
5911049
6df010f
d20b3ef
 
5911049
f379aaf
 
 
5911049
 
2d80f81
339e7ba
 
83c1451
339e7ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83c1451
339e7ba
 
 
 
 
 
37b898b
339e7ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37b898b
339e7ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53ef663
5adc9d6
9148056
 
5adc9d6
53ef663
339e7ba
 
aebbd55
 
 
37b898b
aebbd55
 
 
 
 
 
bedc162
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270

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":

    	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:
        #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 = 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)
    
    #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 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_data)
        #return bard_answer['content']
        return "non disponible "