Spaces:
Sleeping
Sleeping
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() | |