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