#pip3 install googletrans==4.0.0-rc1 import gradio as gr from google import genai import os from dotenv import load_dotenv from googletrans import Translator load_dotenv(verbose=True) async def generate_content(prompt): client = genai.Client(api_key=os.environ["GEMINI_API_KEY"]) config = {'thinking_config': {'include_thoughts': True}} response = client.models.generate_content( #model="gemini-2.5-flash", model='gemini-2.0-flash-thinking-exp', contents=prompt, config=config ) summary_thought = "" summary_answer = '' translator = Translator() summary_thought = "" summary_answer = "" for part in response.candidates[0].content.parts: if not part.text: continue translated_text = await translator.translate(part.text, src='en', dest='ja') if part.thought: summary_thought += translated_text.text else: summary_answer += translated_text.text summaries = summary_thought + '\n' + summary_answer return summary_thought,summary_answer # Gradio Blocksの設定 with gr.Blocks(title="gemini think",css="footer {visibility: hidden;} #header {display: flex; justify-content: space-between; align-items: center; font-size: 24px; font-weight: bold;} #logo {width: 50px; height: 50px;} .logout-btn { background-color: #3498db; border-radius: 10px; color: white; padding: 10px 20px; border: none; cursor: pointer; transparent-bg {background-color: transparent; color: black; padding: 10px; border: none;}") as gemini: gr.Markdown("### プロンプトで依頼した内容の説明を生成します - gemini think") with gr.Sidebar(open=False): gr.HTML('''
Geminiの「Think」機能は、GoogleのAIモデルに搭載されている高度な推論と計画能力を指します。特に、複雑なタスクに役立つように設計されています。
これにより、数学的な問題やコーディング、戦略的な計画などに特に効果的です。
オプションとして、「thinkingBudget」を設定することで、使用するリソースを柔軟に管理できます。
''') with gr.Row(): prompt_input = gr.Textbox(label="プロンプトを入力してください", info="例: すき家は色々な問題がりました。結果、客数も減り、経営上、大きな問題が浮上しました。これらを改善し、経営を正常化するにはどんな打ち手があるか教えてください。") output_text = gr.Textbox(label="生成されたThought", info="gemini thinkで生成されたthoghtが表示されます。") summary_text = gr.Textbox(label="結果", info="gemini thinkで生成された結果が表示されます。") with gr.Row(): generate_button = gr.Button("生成") # ボタン動作 generate_button.click(generate_content, inputs=prompt_input, outputs=[output_text,summary_text]) gemini.launch(favicon_path="favicon.ico")