乐于分享
好东西不私藏

AI调用及场景应用 第二章:文本生成应用——让AI成为你的写作

AI调用及场景应用 第二章:文本生成应用——让AI成为你的写作

AI调用及场景应用 第二章:文本生成应用

“写作不再是孤独的旅程。有了AI这位’超级助手’,你可以更快、更好地表达自己的想法!”

上一章我们学会了如何调用AI API。这一章,我们将把这项技术应用到文本生成领域,打造各种实用的写作工具:文章生成器、翻译助手、摘要工具、润色神器……让AI真正成为你的写作伙伴。


一、AI文本生成的能力边界

✍️ AI能做什么?

能力
说明
示例
创意写作
根据主题生成文章
“写一篇关于环保的议论文”
文本润色
改进语言表达
让文章更流畅、更有文采
多语言翻译
中英文互译
准确传达原意
内容摘要
提取关键信息
将长文浓缩成要点
扩写/缩写
调整文章长度
丰富细节或精简内容
风格转换
改变文风
正式↔轻松、古文↔白话
格式转换
改变呈现形式
Markdown、JSON、表格等

⚠️ AI不能做什么?

  • ❌ 替代人类的创造力和独特观点
  • ❌ 保证100%的事实准确性(需要人工核实)
  • ❌ 理解复杂的上下文和隐含意义
  • ❌ 拥有真实的情感和经历

最佳实践:AI是助手,你是决策者。用AI提高效率,但保持自己的思考。


二、智能写作助手

📝 基础文章生成器

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatform# 初始化AI客户端(使用DeepSeek,性价比高)ai = UnifiedAIClient(AIPlatform.DEEPSEEK)defgenerate_article(topic, style, word_count, audience):"""生成文章"""    prompt = f"""请写一篇关于"{topic}"的文章。要求:- 文体:{style}- 字数:约{word_count}- 目标读者:{audience}- 语言:中文请确保内容充实、结构清晰、语言流畅。"""try:        article = ai.chat(prompt)return articleexcept Exception as e:returnf"生成失败:{str(e)}"# 创建界面demo = gr.Interface(    fn=generate_article,    inputs=[        gr.Textbox(label="文章主题", placeholder="例如:我的梦想"),        gr.Dropdown(            ["记叙文""议论文""说明文""散文""故事"],            label="文体",            value="记叙文"        ),        gr.Slider(2001000, value=500, step=50, label="字数"),        gr.Dropdown(            ["小学生""初中生""高中生""普通读者"],            label="目标读者",            value="小学生"        )    ],    outputs=gr.Textbox(label="生成的文章", lines=15),    title="✍️ AI文章生成器",    description="输入主题,AI帮你写文章",    examples=[        ["我的家乡""记叙文"400"小学生"],        ["科技改变生活""议论文"600"初中生"]    ])demo.launch()

🎨 进阶版:带大纲的文章生成器

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defgenerate_outline(topic, style, sections):"""生成文章大纲"""    prompt = f"""请为"{topic}"这篇{style}生成详细大纲。要求:- 包含{sections}个主要部分- 每个部分有明确的小标题- 简要说明每部分要写什么内容请以Markdown格式输出。"""return ai.chat(prompt)defgenerate_article_with_outline(topic, style, word_count, outline):"""根据大纲生成完整文章"""    prompt = f"""请根据以下大纲,写一篇关于"{topic}"的{style}大纲:{outline}要求:- 总字数约{word_count}- 严格按照大纲结构写作- 段落之间要有自然过渡- 开头吸引人,结尾有升华请直接输出文章内容。"""return ai.chat(prompt)with gr.Blocks(title="📋 大纲式文章生成"as demo:    gr.Markdown("# 📋 大纲式文章生成器")    gr.Markdown("先生成大纲,再生成文章,质量更高!")with gr.Row():with gr.Column():            topic_input = gr.Textbox(label="文章主题")            style_input = gr.Dropdown(                ["记叙文""议论文""说明文""散文"],                label="文体",                value="记叙文"            )            sections_input = gr.Slider(38, value=5, step=1, label="段落数")            word_count_input = gr.Slider(3001500, value=600, step=100, label="字数")            gen_outline_btn = gr.Button("生成大纲", variant="primary")with gr.Column():            outline_output = gr.Textbox(label="文章大纲", lines=10)            gen_article_btn = gr.Button("生成完整文章", variant="primary")            article_output = gr.Textbox(label="生成的文章", lines=15)    gen_outline_btn.click(        generate_outline,        inputs=[topic_input, style_input, sections_input],        outputs=outline_output    )    gen_article_btn.click(        generate_article_with_outline,        inputs=[topic_input, style_input, word_count_input, outline_output],        outputs=article_output    )demo.launch()

三、智能翻译助手

🌐 多语言翻译器

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)deftranslate_text(text, source_lang, target_lang, style="标准"):"""智能翻译"""    style_prompt = {"标准""进行标准翻译","文学""进行文学性翻译,保留原文的美感和意境","商务""进行商务专业翻译,使用正式的商业用语","口语""进行口语化翻译,让表达更自然通俗"    }    prompt = f"""请将以下{text}{source_lang}翻译成{target_lang}{style_prompt.get(style, style_prompt["标准"])}原文:{text}要求:1. 准确传达原文意思2. 符合{target_lang}的表达习惯3. 保持原文的语气和风格4. 对于难词或文化特定词汇,可以在括号中加注解释请只输出译文,不要输出其他内容。"""return ai.chat(prompt)with gr.Blocks(title="🌐 AI翻译助手"as demo:    gr.Markdown("# 🌐 AI智能翻译")with gr.Row():with gr.Column():            source_text = gr.Textbox(label="原文", lines=6)            source_lang = gr.Dropdown(                ["中文""英文""日文""韩文""法文""德文""西班牙文"],                label="源语言",                value="中文"            )with gr.Column():            translated_text = gr.Textbox(label="译文", lines=6)            target_lang = gr.Dropdown(                ["中文""英文""日文""韩文""法文""德文""西班牙文"],                label="目标语言",                value="英文"            )    style = gr.Radio(        ["标准""文学""商务""口语"],        label="翻译风格",        value="标准"    )    translate_btn = gr.Button("🔄 翻译", variant="primary")# 快捷交换按钮    swap_btn = gr.Button("⇄ 交换语言")defswap_languages(src_lang, tgt_lang, src_text):return tgt_lang, src_lang, src_text    translate_btn.click(        translate_text,        inputs=[source_text, source_lang, target_lang, style],        outputs=translated_text    )    swap_btn.click(        swap_languages,        inputs=[source_lang, target_lang, translated_text],        outputs=[source_lang, target_lang, source_text]    )demo.launch()

📚 专业术语翻译词典

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defcreate_term_dictionary(field, terms):"""创建专业术语词典"""    term_list = [t.strip() for t in terms.split('\n'if t.strip()]    prompt = f"""请为以下{field}领域的专业术语创建中英对照表。术语列表:{chr(10).join(term_list)}请按以下格式输出:| 中文 | 英文 | 简要解释 ||---|---|---|| ... | ... | ... |要求:1. 提供准确的英文翻译2. 给出简洁的中文解释(20字以内)3. 如果术语有多种译法,列出最常用的"""return ai.chat(prompt)with gr.Blocks(title="📚 术语词典生成"as demo:    gr.Markdown("# 📚 专业术语词典生成器")    field_input = gr.Dropdown(        ["计算机""医学""法律""金融""工程""教育"],        label="专业领域"    )    terms_input = gr.Textbox(        label="术语列表(每行一个)",        lines=8,        placeholder="例如:\n人工智能\n机器学习\n深度学习"    )    generate_btn = gr.Button("📖 生成词典", variant="primary")    dictionary_output = gr.Markdown(label="术语词典")    generate_btn.click(        create_term_dictionary,        inputs=[field_input, terms_input],        outputs=dictionary_output    )demo.launch()

四、文本摘要与扩写

📰 文章摘要生成器

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defsummarize_text(text, summary_type, length):"""生成摘要"""    type_prompt = {"概括型""提取文章的核心观点和主要内容","要点型""列出文章的3-5个关键要点","简洁型""用一句话概括文章主旨","详细型""保留重要细节的全面总结"    }    length_words = {"短""50-100字","中""100-200字","长""200-300字"    }    prompt = f"""请对以下文章进行摘要。{type_prompt.get(summary_type, type_prompt["概括型"])}摘要长度:{length_words.get(length, "100-200字")}原文:{text}请直接输出摘要内容。"""return ai.chat(prompt)with gr.Blocks(title="📰 文章摘要"as demo:    gr.Markdown("# 📰 智能文章摘要")    text_input = gr.Textbox(label="原文", lines=10)with gr.Row():        summary_type = gr.Dropdown(            ["概括型""要点型""简洁型""详细型"],            label="摘要类型",            value="概括型"        )        length = gr.Dropdown(            ["短""中""长"],            label="摘要长度",            value="中"        )    summarize_btn = gr.Button("✂️ 生成摘要", variant="primary")    summary_output = gr.Textbox(label="摘要", lines=6)    summarize_btn.click(        summarize_text,        inputs=[text_input, summary_type, length],        outputs=summary_output    )demo.launch()

📝 文章扩写器

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defexpand_text(text, expansion_type, target_length):"""扩写文章"""    type_prompt = {"细节丰富""增加具体的细节描写,让内容更生动形象","论据补充""添加更多论据、例子和数据支持","背景扩展""补充相关背景知识和历史信息","多角度""从不同角度分析问题,增加深度"    }    prompt = f"""请对以下文章进行扩写。{type_prompt.get(expansion_type, type_prompt["细节丰富"])}目标字数:约{target_length}字(当前约{len(text)}字)原文:{text}要求:1. 保持原文的核心意思不变2. 新增内容与原文风格一致3. 段落之间过渡自然4. 不要重复原文已有的内容请输出扩写后的完整文章。"""return ai.chat(prompt)with gr.Blocks(title="📝 文章扩写"as demo:    gr.Markdown("# 📝 智能文章扩写")    original_text = gr.Textbox(label="原文", lines=6)with gr.Row():        expansion_type = gr.Dropdown(            ["细节丰富""论据补充""背景扩展""多角度"],            label="扩写方式",            value="细节丰富"        )        target_length = gr.Slider(3002000, value=800, step=100, label="目标字数")    expand_btn = gr.Button("➕ 开始扩写", variant="primary")    expanded_text = gr.Textbox(label="扩写后的文章", lines=12)    expand_btn.click(        expand_text,        inputs=[original_text, expansion_type, target_length],        outputs=expanded_text    )demo.launch()

五、文本润色与改写

✨ 智能润色工具

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defpolish_text(text, polish_type, tone):"""润色文本"""    type_prompt = {"语法修正""修正语法错误、错别字和标点问题","流畅优化""优化句子结构,让表达更流畅自然","文采提升""增加修辞手法,提升文学性和表现力","逻辑梳理""调整段落顺序,优化论证逻辑","全面润色""综合以上所有方面进行全面改进"    }    tone_prompt = {"正式""使用正式的书面语,适合学术和商务场合","轻松""使用轻松活泼的语言,适合日常交流","文艺""使用优美抒情的语言,富有感染力","简洁""使用简洁明了的语言,去除冗余"    }    prompt = f"""请对以下文本进行润色。润色重点:{type_prompt.get(polish_type, type_prompt["全面润色"])}语气风格:{tone_prompt.get(tone, tone_prompt["正式"])}原文:{text}要求:1. 保持原文的核心意思不变2. 标注出主要的修改之处(用【】标出)3. 最后简要说明修改理由请输出润色后的文本。"""return ai.chat(prompt)with gr.Blocks(title="✨ 文本润色"as demo:    gr.Markdown("# ✨ 智能文本润色")    original = gr.Textbox(label="原文", lines=8)with gr.Row():        polish_type = gr.Dropdown(            ["语法修正""流畅优化""文采提升""逻辑梳理""全面润色"],            label="润色类型",            value="全面润色"        )        tone = gr.Dropdown(            ["正式""轻松""文艺""简洁"],            label="语气风格",            value="正式"        )    polish_btn = gr.Button("✨ 开始润色", variant="primary")    polished = gr.Textbox(label="润色结果", lines=10)    polish_btn.click(        polish_text,        inputs=[original, polish_type, tone],        outputs=polished    )demo.launch()

🔄 风格转换器

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defconvert_style(text, target_style):"""转换文本风格"""    style_descriptions = {"古文风""转换成文言文风格,用词典雅,句式工整","现代白话""转换成现代口语化表达,通俗易懂","商务正式""转换成商务正式风格,用词精准规范","网络流行""转换成网络流行语风格,活泼有趣","诗歌体""转换成诗歌形式,押韵有节奏感","儿童向""转换成适合儿童阅读的语言,简单生动"    }    prompt = f"""请将以下文本转换为{target_style}风格。{style_descriptions.get(target_style, "保持原意,调整表达方式")}原文:{text}请直接输出转换后的文本。"""return ai.chat(prompt)with gr.Blocks(title="🔄 风格转换"as demo:    gr.Markdown("# 🔄 文本风格转换器")    input_text = gr.Textbox(label="原文", lines=6)    target_style = gr.Dropdown(        ["古文风""现代白话""商务正式""网络流行""诗歌体""儿童向"],        label="目标风格",        value="古文风"    )    convert_btn = gr.Button("🔄 转换风格", variant="primary")    output_text = gr.Textbox(label="转换结果", lines=8)    convert_btn.click(        convert_style,        inputs=[input_text, target_style],        outputs=output_text    )demo.launch()

六、综合项目:全能写作工作台

import gradio as grfrom unified_ai_client import UnifiedAIClient, AIPlatformai = UnifiedAIClient(AIPlatform.DEEPSEEK)defwriting_workshop(action, content, params):"""全能写作工作台"""if action == "生成文章":        prompt = f"""请写一篇关于"{content}"的{params['style']}要求:约{params['length']}字,适合{params['audience']}阅读。"""elif action == "翻译":        prompt = f"""请将以下内容从{params['source_lang']}翻译成{params['target_lang']}{content}"""elif action == "摘要":        prompt = f"""请对以下文章进行{params['summary_type']}摘要,约{params['summary_length']}字:{content}"""elif action == "润色":        prompt = f"""请对以下文本进行{params['polish_type']}润色,调整为{params['tone']}风格:{content}"""elif action == "扩写":        prompt = f"""请将以下文章扩写到约{params['target_length']}字,重点{params['expansion_focus']}{content}"""else:return"未知操作"return ai.chat(prompt)with gr.Blocks(title="🎯 全能写作工作台"as demo:    gr.Markdown("# 🎯 全能写作工作台")    gr.Markdown("集成生成、翻译、摘要、润色、扩写于一体的AI写作工具")# 共享的输入区域    content_input = gr.Textbox(label="输入内容", lines=6)with gr.Tab("✍️ 生成文章"):with gr.Row():            topic = gr.Textbox(label="文章主题")            style = gr.Dropdown(["记叙文""议论文""说明文""散文"], label="文体")            length = gr.Slider(2001000, value=500, label="字数")            audience = gr.Dropdown(["小学生""初中生""高中生""成人"], label="读者")        gen_btn = gr.Button("生成", variant="primary")        gen_output = gr.Textbox(label="生成的文章", lines=10)        gen_btn.click(lambda c, s, l, a: writing_workshop("生成文章", c, {"style": s, "length": l, "audience": a}),            inputs=[topic, style, length, audience],            outputs=gen_output        )with gr.Tab("🌐 翻译"):with gr.Row():            src_lang = gr.Dropdown(["中文""英文""日文"], label="源语言")            tgt_lang = gr.Dropdown(["英文""中文""日文"], label="目标语言")        trans_btn = gr.Button("翻译", variant="primary")        trans_output = gr.Textbox(label="译文", lines=6)        trans_btn.click(lambda c, s, t: writing_workshop("翻译", c, {"source_lang": s, "target_lang": t}),            inputs=[content_input, src_lang, tgt_lang],            outputs=trans_output        )with gr.Tab("✂️ 摘要"):with gr.Row():            sum_type = gr.Dropdown(["概括型""要点型""简洁型"], label="摘要类型")            sum_len = gr.Dropdown(["短(50字)""中(150字)""长(300字)"], label="长度")        sum_btn = gr.Button("生成摘要", variant="primary")        sum_output = gr.Textbox(label="摘要", lines=4)        sum_btn.click(lambda c, t, l: writing_workshop("摘要", c, {"summary_type": t, "summary_length": l}),            inputs=[content_input, sum_type, sum_len],            outputs=sum_output        )with gr.Tab("✨ 润色"):with gr.Row():            polish_type = gr.Dropdown(["语法修正""流畅优化""文采提升""全面润色"], label="润色类型")            tone = gr.Dropdown(["正式""轻松""文艺""简洁"], label="语气")        polish_btn = gr.Button("润色", variant="primary")        polish_output = gr.Textbox(label="润色结果", lines=8)        polish_btn.click(lambda c, p, t: writing_workshop("润色", c, {"polish_type": p, "tone": t}),            inputs=[content_input, polish_type, tone],            outputs=polish_output        )with gr.Tab("➕ 扩写"):with gr.Row():            exp_focus = gr.Dropdown(["增加细节""补充论据""扩展背景"], label="扩写重点")            target_len = gr.Slider(5002000, value=800, label="目标字数")        exp_btn = gr.Button("扩写", variant="primary")        exp_output = gr.Textbox(label="扩写结果", lines=10)        exp_btn.click(lambda c, f, l: writing_workshop("扩写", c, {"expansion_focus": f, "target_length": l}),            inputs=[content_input, exp_focus, target_len],            outputs=exp_output        )demo.launch()

七、本章知识点总结

知识点
应用
文章生成
主题→大纲→完整文章
智能翻译
多语言互译、术语词典
文本摘要
提取要点、不同长度
文章扩写
丰富细节、补充论据
文本润色
语法修正、风格优化
风格转换
古文↔白话、正式↔轻松
综合应用
多功能写作工作台

📝 课后作业

必做题

  1. 运行所有示例代码,体验不同的文本生成功能
  2. 修改文章生成器,添加”保存到文件”功能
  3. 实现一个”对比模式”:同时显示原文和润色后的文本

选做题

  1. 添加更多的翻译语言选项(如法语、德语、西班牙语)
  2. 实现批量处理功能(一次处理多篇文章)
  3. 添加导出功能(支持导出为Word、PDF格式)

思考题

  1. AI生成的文章有哪些局限性?如何弥补?
  2. 在使用AI辅助写作时,如何保持自己的原创性?
  3. 设计一个更好的提示词(prompt)有哪些技巧?

🚀 预告下一章

第三章我们将学习 《对话机器人开发——打造你的AI聊天伙伴》,你将学会:

  • 多轮对话的实现
  • 上下文管理
  • 角色扮演
  • 记忆功能
  • 制作个性化聊天机器人

准备好创造你自己的AI伙伴了吗?我们下节课见!


记住:最好的写作是人机协作——AI负责效率,你负责灵魂。让AI成为笔,你来做执笔的人!✍️✨

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » AI调用及场景应用 第二章:文本生成应用——让AI成为你的写作

猜你喜欢

  • 暂无文章