Spaces:
Sleeping
Sleeping
File size: 2,036 Bytes
6d38d15 8a58049 6d38d15 8a58049 50cd04e 4870b13 12fa8e8 53953f7 e42468d 12fa8e8 50cd04e 12fa8e8 8a58049 |
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 |
from model import model
import gradio as gr
with gr.Blocks(fill_height=True) as demo:
with gr.Accordion("Voir les Details"):
gr.Markdown("""
Cette application vous permet de chatter directement avec une page de documentation pour generer du code que vous demandez.
Vous indiquez l'url de la page, ensuite vous posez votre question dans le chat. Alors le contenu de la page est recupere (grace a du scraping) puis decompose en blocks. Puis une recherche semantique est effectue a travers ces bloques pour retourner uniquement les plus signifiants par rapport a la question posee. Ces nouveaux blocks constituent alors le contexte dans lequel le LLM doit repondre a la question, ce que ces modeles savent tres bien faire. La reponse est enfin affichee. Nous obtenons ainsi en conclusion ce qu'on appelle un RAG (Retrieval Augmented Generation).
""")
with gr.Row(equal_height=True):
with gr.Column(min_width=200, scale=0):
max_tokens = gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens", render=True)
temperature = gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature", render=True)
top_p = gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.95,
step=0.05,
label="Top-p (nucleus sampling)",
render=True,
)
with gr.Column():
url = gr.Textbox(value="https://www.gradio.app/docs/gradio/chatinterface", label="Docs URL", render=True)
chat = gr.ChatInterface(
# model.respond,
model.predict,
# model.rag,
additional_inputs=[
url,
max_tokens,
temperature,
top_p,
],
type="messages",
)
if __name__ == "__main__":
demo.launch()
|