import os import gradio as gr from openai import OpenAI # 从环境变量加载API密钥 client = OpenAI( api_key=os.getenv("DEEPSEEK_API_KEY"), base_url="https://api.deepseek.com" ) def generate_scenery(lyrics): """将中文歌词转换为纯自然风景描写的英文文本""" response = client.chat.completions.create( model="deepseek-chat", messages=[ {"role": "system", "content": "你是一位自然诗人,请将中文歌词转化为英文的纯风景描写,严格避免任何人称代词或人物动作。只描述自然现象如风、光、水、植物等。"}, {"role": "user", "content": f"转换以下歌词(仅输出英文描写):\n{lyrics}"} ], temperature=0.7, max_tokens=300 ) return response.choices[0].message.content # Gradio界面 with gr.Blocks(title="歌词转风景描写", theme=gr.themes.Soft()) as app: gr.Markdown("## 🌿 中文歌词转英文风景描写") with gr.Row(): with gr.Column(): input_text = gr.Textbox( label="输入中文歌词", placeholder="例:晚风吹来多么清凉...", lines=5 ) btn = gr.Button("生成", variant="primary") with gr.Column(): output_text = gr.Textbox( label="英文风景描写", lines=8, interactive=False ) # 示例数据 examples = gr.Examples( examples=[ ["对空气不停念你的名字"], ["会不会让你我重来一次"] ], inputs=[input_text], label="点击试试示例歌词" ) btn.click( fn=generate_scenery, inputs=input_text, outputs=output_text ) app.launch(share = True)