Gradio と Ollama で翻訳アプリを作る


Pythonスクリプト

できるだけシンプルに書いてみました。

import gradio as gr
from ollama import Client

# Ollamaクライアント初期化(ローカルサーバーに接続)
client = Client(host='http://localhost:11434')

def translate_english_to_japanese(text):

    prompt = [
        {
            "role": "system",
            "content": "あなたは英語から日本語への翻訳に特化した優秀なAIアシスタントです。回答は翻訳文にとどめ、日本語に翻訳するだけです。",
        },
        {
            "role": "user",
            "content": f"次の英語を日本語に翻訳して下さい。\n{text}",
        }
    ]

    # Ollamaモデルにリクエストを送信
    stream = client.chat(
        model="gemma3:12b",
        messages=prompt,
        stream=True
    )

    result = ""
    for new_text in stream:
        result += new_text.message.content
        yield result

# Gradioインターフェースの構築
demo = gr.Interface(
    fn=translate_english_to_japanese,  # 翻訳処理関数
    inputs=gr.Textbox(lines=10, max_lines=40, label="英語"),           
    outputs=gr.Textbox(lines=10, max_lines=40, show_copy_button=True, label="日本語"),                    
    title="英語から日本語への翻訳アプリ",
    description="左側のテキストボックスに日本語を入力して下さい。右側に出力が表示されます。"
)

# アプリケーションの起動
if __name__ == "__main__":
    demo.launch()