Update app.py
Browse files
app.py
CHANGED
@@ -1,19 +1,55 @@
|
|
1 |
|
2 |
-
|
3 |
-
import
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
iface = gr.Interface(
|
11 |
-
fn=
|
12 |
-
inputs=
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
# Launch the app
|
18 |
if __name__ == "__main__":
|
19 |
iface.launch(server_name="0.0.0.0", server_port=7860, pwa=True)
|
|
|
1 |
|
2 |
+
from langchain_community.llms import Ollama
|
3 |
+
from langchain.callbacks.manager import CallbackManager
|
4 |
+
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
|
5 |
+
|
6 |
+
|
7 |
+
def get_llm():
|
8 |
+
callback_manager = CallbackManager([StreamingStdOutCallbackHandler()])
|
9 |
+
return Ollama(model='YandexGPT-5-Lite-8B-instruct-GGUF', callback_manager=callback_manager)
|
10 |
+
|
11 |
+
|
12 |
+
# Interface Gradio
|
13 |
+
def gradio_interface(input, history):
|
14 |
+
|
15 |
+
# Ajouter la requête de l'utilisateur à l'historique une seule fois
|
16 |
+
history.append((input, ""))
|
17 |
+
yield history, history
|
18 |
+
|
19 |
+
def worker():
|
20 |
+
llm = get_llm()
|
21 |
+
response = ""
|
22 |
+
for token in llm.stream(input, max_tokens=2048, temperature=0.7):
|
23 |
+
response += token
|
24 |
+
history[-1] = (input, response)
|
25 |
+
yield history, history
|
26 |
+
|
27 |
+
# Utiliser un thread pour gérer le streaming
|
28 |
+
for result in worker():
|
29 |
+
yield result
|
30 |
+
|
31 |
iface = gr.Interface(
|
32 |
+
fn=gradio_interface,
|
33 |
+
inputs=[
|
34 |
+
gr.Textbox(label="Input"),
|
35 |
+
gr.State(value=[]) # Ajout de l'historique
|
36 |
+
],
|
37 |
+
outputs=[
|
38 |
+
gr.Chatbot(label="History"), # Utilisation de Chatbot pour l'historique
|
39 |
+
gr.State() # Ajout de l'historique
|
40 |
+
],
|
41 |
+
title="Ollama Demo 🐳 🦙 🤗",
|
42 |
+
description="""
|
43 |
+
Bienvenue sur Docker_Ollama, un espace dédié à l'exploration et au test des modèles Ollama.
|
44 |
+
Cette Démo permet aux utilisateurs de tester tous les modèles Ollama dont la taille est inférieure à 10 milliards de paramètres directement depuis cette interface.
|
45 |
+
L'Application tourne sur une machine Hugging Face Free Space : 2 CPU - 16Gb RAM
|
46 |
+
|
47 |
+
Soyez patient. Chaque Nouveau Modèle Selectionner Devra Etre Télécharger Avant de Répondre.
|
48 |
+
|
49 |
+
Il faut compter 2 a 3 minutes pour la réponse d'un modèle 7b alors que quelques dizaines de secondes suffisent pour un modèle 1b.
|
50 |
+
|
51 |
+
""")
|
52 |
+
|
53 |
# Launch the app
|
54 |
if __name__ == "__main__":
|
55 |
iface.launch(server_name="0.0.0.0", server_port=7860, pwa=True)
|