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()