| import gradio as gr |
| import os |
| import markdown |
| token=os.environ.get("TOKEN") |
|
|
| os.environ["GOOGLE_API_KEY"] = token |
|
|
| from llama_index.llms.gemini import Gemini |
|
|
| llm = Gemini() |
|
|
|
|
|
|
|
|
|
|
| source_languages = ["Francais", "English", "Spanish"] |
| taget_languages = ['nzebi', 'Fang(ntumu)', 'gisir', 'dikota', 'yipunu', 'akele', 'Ghétsogo', 'Shimo', 'omyene_nkomi', 'isangu', 'Liwanzi'] |
|
|
|
|
| lang_files = {'nzebi': 'Inzèbi.txt', |
| 'gisir':'Gisir.txt', |
| 'dikota':'dd.txt', |
| 'yipunu':'Yipunu.txt', |
| 'akele':'Akélé.txt', |
| 'Ghétsogo':'Ghétsogo.txt', |
| 'Shimo':'Shimo.txt', |
| 'omyene_nkomi':'Omyènè_Nkomi.txt', |
| 'isangu':'Isangu.txt', |
| 'Liwanzi':'Liwanzi.txt', |
| 'Fang(ntumu)':'Fang(ntumu).txt'} |
|
|
| safe = [ |
| { |
| "category": "HARM_CATEGORY_HARASSMENT", |
| "threshold": "BLOCK_NONE", |
| }, |
| { |
| "category": "HARM_CATEGORY_HATE_SPEECH", |
| "threshold": "BLOCK_NONE", |
| }, |
| { |
| "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", |
| "threshold": "BLOCK_NONE", |
| }, |
| { |
| "category": "HARM_CATEGORY_DANGEROUS_CONTENT", |
| "threshold": "BLOCK_NONE", |
| }, |
| ] |
|
|
|
|
| def main_fang(query): |
| return "En maintenance " |
|
|
|
|
|
|
|
|
|
|
| """ |
| GOOGLE_API_KEY = token # add your GOOGLE API key here |
| os.environ["GOOGLE_API_KEY"] = GOOGLE_API_KEY |
| #rom llama_index.llms import Gemini |
| """ |
|
|
| async def translatee(input_text, source, target): |
| targett = "dikota" |
| chemin_fichier = lang_files[targett] |
| with open(chemin_fichier, 'r', encoding='utf-8') as fichier: |
| contenu_langue_arrivee = fichier.read() |
| |
| |
| |
| tt = f""" |
| contexte : {contenu_langue_arrivee} |
| |
| |
| Utillisez les éléments de contexte suivants pour répondre à la question à la fin. Si vous ne connaissez pas la réponse,traduissez ce que vous pouvez et reecriver les autre comme ca , n'essayez pas d'inventer une réponse. Je veux que tu agisses comme un traducteur {source}-{target}. Je parle en {source} et tu traduis en {target} en te basant sur le contexte. Je ne veux aucune explication. Juste la réponse. Traduit ca < {input_text} >""" |
| |
| |
| |
| |
| response = await llm.acomplete(tt,safety_settings=safe) |
|
|
| |
| print(input_text) |
| print(f"{target}") |
| |
| |
| |
| |
| |
| |
| print(response) |
| return response |
|
|
| with gr.Blocks() as demo: |
| gr.HTML("""<html> |
| <head> |
| <style> |
| h1 { |
| text-align: center; |
| } |
| </style> |
| </head> |
| <body> |
| <h1>BOMA LANGUE </h1> |
| </body> |
| </html>""") |
| with gr.Row(): |
| with gr.Column(): |
| source_language_dropdown = gr.Dropdown(choices=source_languages, |
| value="Auto Detect", |
| label="Source Language") |
| input_textbox = gr.Textbox(lines=5, placeholder="Enter text to translate", label="Input Text") |
| with gr.Column(): |
| target_language_dropdown = gr.Dropdown(choices=taget_languages, |
| value="English", |
| label="Target Language") |
| translated_textbox = gr.Textbox(lines=5, placeholder="", label="Translated Text") |
| btn = gr.Button("Translate") |
| btn.click(translatee, inputs=[input_textbox, |
| source_language_dropdown, |
| target_language_dropdown], |
| outputs=translated_textbox) |
|
|
| if __name__ == "__main__": |
| demo.launch() |
| |