当前位置: 首页 > news >正文

【NLP 65、实践 ⑯ 基于Agent优化文章】

羁绊由我而起,痛苦也由我承担           

                                        —— 25.4.18

一、⭐【核心函数】定义大模型调用函数 call_large_model

prompt:用户传入的提示词(如 “请分析这篇作文的主题”),指导模型执行任务

client:ZhipuAI客户端实例,用于发起 API 请求,api_key需从智谱 AI 官网申请

model:指定使用智谱 AI 的glm-3-turbo模型(支持对话式交互)。

messages:输入格式为列表,每个元素是包含role(角色,此处为user)和content(内容,即prompt)的字典,符合智谱 AI 对话模型的输入规范。

response:模型返回的原始响应。

response_text:提取第一个生成结果的文本内容。

ZhipuAI():初始化智谱 AI(ZhipuAI)的客户端实例,用于与智谱 AI 的大模型服务进行交互,支持调用模型 API 发送请求并获取响应。

参数名类型是否必填默认值描述
api_key字符串智谱 AI 的 API 密钥,用于身份验证(需从智谱 AI 官网申请,示例中为占位符)

chat.completions.create():调用智谱 AI 的大模型(如glm-3-turbo)生成响应,支持对话式交互,传入对话历史和提示词,获取模型的文本生成结果。

参数名类型是否必填默认值描述
model字符串指定使用的模型名称(如glm-3-turbo
messages列表 [字典]对话历史列表,每个元素包含role(角色)和content(内容)
temperature浮点型0.7控制生成文本的随机性(值越高越随机,范围:0-1)
max_tokens整数1000生成文本的最大 tokens 数(控制输出长度)
top_p浮点型1.0核采样参数,与temperature共同控制随机性
def call_large_model(prompt):client = ZhipuAI(api_key="填写你自己的智谱API")response = client.chat.completions.create(model="glm-3-turbo",messages=[{"role": "user", "content": prompt}])response_text = response.choices[0].message.contentreturn response_text

二、主题分析Agent theme_analysis_agent

article_text:待分析的文章原文

prompt_analysis:构造的提示词模板,包含:

  • 指令:"请分析并输出以下文章的主题"
  • 输入内容:article_text

theme_analysis_result:主题分析结果的字符串

call_large_model(): 通用AI调用接口函数

def theme_analysis_agent(article_text):# 向大模型提问进行文章分析prompt_analysis = f"请分析并输出以下文章的主题:{article_text}"# 调用大模型接口,假设返回的结果是一个字典,包含结构和主题信息theme_analysis_result = call_large_model(prompt_analysis)return theme_analysis_result

三、语言优化Agent language_optimization_agent

article_text:待优化的文章原文

theme_analysis_result:主题分析结果的字符串

prompt_language:构造的提示词模板,包含:

  • 指令:语法检查和优化建议
  • 主题信息:theme_analysis_result
  • 输入内容:article_text

language_optimization_suggestions:语言优化建议的字符串

call_large_model(): 通用AI调用接口函数

def language_optimization_agent(article_text, theme_analysis_result):# 根据文章分析结果构建提示词prompt_language = f"请检查下面这篇文章中的语法错误和用词不当之处,并提出优化建议。建议要尽量简练,不超过100字。\n\n文章主题:{theme_analysis_result}\n\n文章内容:{article_text}"language_optimization_suggestions = call_large_model(prompt_language)return language_optimization_suggestions

四、内容丰富Agent content_enrichment_agent 

article_text:待丰富的文章原文

theme_analysis_result:主题分析结果的字符串

prompt_content:构造的提示词模板,包含:

  • 指令:扩展内容和改进建议
  • 扩展方向示例:案例、数据等
  • 输入内容:article_text + theme_analysis_result

content_enrichment_suggestions:内容增强建议的字符串

call_large_model(): 通用AI调用接口函数

def content_enrichment_agent(article_text, theme_analysis_result):# 根据文章分析结果构建提示词prompt_content = f"请阅读下面这篇文章,根据主题为该文章提出可以进一步扩展和丰富的内容点或改进建议,比如添加案例、引用数据等。建议要尽量简练,不超过100字。\n\n文章主题:{theme_analysis_result}\n\n文章内容:{article_text}"content_enrichment_suggestions = call_large_model(prompt_content)return content_enrichment_suggestions

五、可读性评估 Agent readability_evaluation_agent

article_text:待优化的文章原文

theme_analysis_result:主题分析结果的字符串

prompt_readablility:构造的提示词模板,包含:

  • 指令:评估段落/句子复杂度
  • 优化方向:传播性建议
  • 输入内容:article_text + theme_analysis_result

readability_evaluation_result: 可读性改进建议的字符串

call_large_model(): 通用AI调用接口函数

def readability_evaluation_agent(article_text, theme_analysis_result):# 根据文章分析结果构建提示词prompt_readability = f"请阅读下面这篇文章,根据主题评估该文章的可读性,包括段落长度、句子复杂度等,提出一些有助于文章传播的改进建议。建议要尽量简练,不超过100字。\n\n文章主题:{theme_analysis_result}\n\n文章内容:{article_text}"readability_evaluation_result = call_large_model(prompt_readability)return readability_evaluation_result

六、综合优化Agent comprehensive_optimization_agent

article_text:文章原文

theme_analysis_result:主题分析结果

language_optimization_suggestions:语言优化建议

content_enrichment_suggestions:内容增强建议

readability_evaluation_result: 可读性改进建议

final_optimization_plan:构造的最终提示词模板,包含:

  • 指令:整合所有建议重写文章
  • 输入内容:原始文章 + 所有分析结果

final_optimization_result:最终优化后的完整文章

call_large_model(): 通用AI调用接口函数

def comprehensive_optimization_agent(article, theme_analysis_result, language_optimization_suggestions, content_enrichment_suggestions, readability_evaluation_result):# 合并结果的逻辑可以是将各个部分的建议整理成一个结构化的文档final_optimization_plan = f"请阅读下面这篇文章,以及若干个负责专项优化的agent给出的改进建议,重写这篇文章,提升文章的整体质量。\n\n文章原文:{article}\n\n文章主题分析:{theme_analysis_result}\n\n语言优化建议:{language_optimization_suggestions}\n\n内容丰富建议:{content_enrichment_suggestions}\n\n可读改进建议:{readability_evaluation_result}。\n\n优化后文章:"final_optimization_result = call_large_model(final_optimization_plan)return final_optimization_result

七、完整代码

代码运行流程

┌─────────────────────────────┐
│         主程序启动           │
└──────────┬──────────────────┘│├─1. 加载文章数据│├─2. 初始化配置│└─3. 并行执行四大分析模块├─主题分析 Agent│    ├─构造Prompt│    ├─调用大模型│    └─输出主题分析结果│├─语言优化 Agent│    ├─构造Prompt│    ├─调用大模型│    └─输出优化建议│├─内容扩展 Agent│    ├─构造Prompt│    ├─调用大模型│    └─输出增强建议│└─可读性评估 Agent├─构造Prompt├─调用大模型└─输出可读性建议│└─4. 综合优化 Agent├─整合所有分析结果├─构造最终Prompt├─调用大模型重写└─生成最终优化方案│├─5. 存储JSON文件│└─6. 控制台输出
#coding:utf-8import os
import json
from zhipuai import ZhipuAI'''
利用agent思想优化文章
'''#pip install zhipuai
#https://open.bigmodel.cn/ 注册获取APIKey
def call_large_model(prompt):client = ZhipuAI(api_key="API Key") # 填写您自己的APIKeyresponse = client.chat.completions.create(model="glm-3-turbo",  # 填写需要调用的模型名称messages=[{"role": "user", "content": prompt},],)response_text = response.choices[0].message.contentreturn response_textdef theme_analysis_agent(article_text):# 向大模型提问进行文章分析prompt_analysis = f"请分析并输出以下文章的主题:{article_text}"# 调用大模型接口,假设返回的结果是一个字典,包含结构和主题信息theme_analysis_result = call_large_model(prompt_analysis)return theme_analysis_resultdef language_optimization_agent(article_text, theme_analysis_result):# 根据文章分析结果构建提示词prompt_language = f"请检查下面这篇文章中的语法错误和用词不当之处,并提出优化建议。建议要尽量简练,不超过100字。\n\n文章主题:{theme_analysis_result}\n\n文章内容:{article_text}"language_optimization_suggestions = call_large_model(prompt_language)return language_optimization_suggestionsdef content_enrichment_agent(article_text, theme_analysis_result):# 根据文章分析结果构建提示词prompt_content = f"请阅读下面这篇文章,根据主题为该文章提出可以进一步扩展和丰富的内容点或改进建议,比如添加案例、引用数据等。建议要尽量简练,不超过100字。\n\n文章主题:{theme_analysis_result}\n\n文章内容:{article_text}"content_enrichment_suggestions = call_large_model(prompt_content)return content_enrichment_suggestionsdef readability_evaluation_agent(article_text, theme_analysis_result):# 根据文章分析结果构建提示词prompt_readability = f"请阅读下面这篇文章,根据主题评估该文章的可读性,包括段落长度、句子复杂度等,提出一些有助于文章传播的改进建议。建议要尽量简练,不超过100字。\n\n文章主题:{theme_analysis_result}\n\n文章内容:{article_text}"readability_evaluation_result = call_large_model(prompt_readability)return readability_evaluation_resultdef comprehensive_optimization_agent(article, theme_analysis_result, language_optimization_suggestions, content_enrichment_suggestions, readability_evaluation_result):# 合并结果的逻辑可以是将各个部分的建议整理成一个结构化的文档final_optimization_plan = f"请阅读下面这篇文章,以及若干个负责专项优化的agent给出的改进建议,重写这篇文章,提升文章的整体质量。\n\n文章原文:{article}\n\n文章主题分析:{theme_analysis_result}\n\n语言优化建议:{language_optimization_suggestions}\n\n内容丰富建议:{content_enrichment_suggestions}\n\n可读改进建议:{readability_evaluation_result}。\n\n优化后文章:"final_optimization_result = call_large_model(final_optimization_plan)return final_optimization_resultarticle = """
2024年8月20日,国产游戏《黑神话:悟空》正式上线,迅速引发了全网的热议与追捧,其火爆程度令人惊叹。黑悟空之所以能如此之火,原因是多方面的。
从文化内涵来看,《黑神话:悟空》深深扎根于中国传统文化。《西游记》作为中国文学的经典之作,孙悟空更是家喻户晓的英雄形象,承载着无数国人的童年回忆和文化情感。该游戏以孙悟空为主角,让玩家能够在游戏中亲身扮演齐天大圣,体验其神通广大与英勇无畏,这种文化认同感和情感共鸣是黑悟空火爆的重要基础。它不仅仅是一款游戏,更像是一场文化的回归与盛宴,让玩家在游戏的世界里重新领略中国神话的魅力,使得传统文化以一种全新的、生动的方式呈现在大众面前。
在视觉呈现方面,黑悟空堪称一场视觉盛宴。制作团队不惜投入大量的时间和精力,运用先进的游戏制作技术,精心打造了美轮美奂的游戏画面。从细腻逼真的环境场景,到栩栩如生的角色形象,再到炫酷华丽的技能特效,每一个细节都展现出了极高的制作水准。无论是神秘奇幻的山林洞穴,还是气势恢宏的天庭宫殿,都仿佛让玩家身临其境,沉浸在一个充满想象力的神话世界之中。这种极致的视觉体验,极大地满足了玩家对于游戏画面品质的追求,也是吸引众多玩家的关键因素之一。
游戏品质上,黑悟空也达到了相当高的水平。它拥有丰富多样且极具挑战性的关卡设计,玩家需要运用智慧和技巧,不断探索、战斗,才能逐步推进游戏进程。角色的技能系统丰富且独特,玩家可以通过不同的技能组合,发挥出孙悟空的各种强大能力,增加了游戏的可玩性和策略性。同时,游戏的剧情紧凑且富有深度,在遵循原著故事框架的基础上,进行了大胆的创新和拓展,为玩家呈现了一个既熟悉又充满新鲜感的西游世界,让玩家在享受游戏乐趣的同时,也能感受到一个精彩绝伦的故事。
再者,宣传推广策略也为黑悟空的火爆添了一把柴。从 2020 年开始,制作方每年 8 月 20 日都会公开最新的实机视频,这些视频在网络上广泛传播,引发了大量关注和讨论,成功地为游戏上线预热造势。在社交媒体上,关于黑悟空的话题热度持续攀升,玩家们纷纷自发地宣传分享,形成了强大的传播效应。此外,针对海外市场,黑悟空也积极开展宣传活动,通过号召海外网友参与视频投稿、与博主合作推广等方式,有效地扩大了游戏在国际上的影响力。
《黑神话:悟空》的火爆并非偶然,而是其在文化内涵、视觉呈现、游戏品质以及宣传推广等多个方面共同发力的结果。它的成功,不仅为国产游戏树立了新的标杆,也证明了中国游戏产业在技术和创意上的巨大潜力。相信在黑悟空的带动下,未来会有更多优秀的国产游戏涌现,推动中国游戏产业不断向前发展,让中国的游戏文化在全球舞台上绽放更加耀眼的光芒。同时,黑悟空也为传统文化的传承与创新提供了新的思路和途径,让传统文化在现代社会中焕发出新的活力与生机。它不仅仅是一款游戏的成功,更是中国文化与现代科技融合发展的一个精彩范例,其影响力必将深远而持久。
"""theme_analysis_result = theme_analysis_agent(article)
language_optimization_suggestions = language_optimization_agent(article, theme_analysis_result)
content_enrichment_suggestions = content_enrichment_agent(article, theme_analysis_result)
readability_evaluation_result = readability_evaluation_agent(article, theme_analysis_result)
final_optimization_plan = comprehensive_optimization_agent(article, theme_analysis_result, language_optimization_suggestions, content_enrichment_suggestions, readability_evaluation_result)
results = {"主题分析结果": theme_analysis_result, "语言优化建议": language_optimization_suggestions, "内容丰富建议": content_enrichment_suggestions, "可读性评价结果": readability_evaluation_result, "最终优化方案": final_optimization_plan}
#存储json文件
with open('results.json', 'w', encoding='utf-8') as f:json.dump(results, f, ensure_ascii=False, indent=4)print(f"最终优化方案:{final_optimization_plan}")

相关文章:

  • 【AI论文】ColorBench:视觉语言模型能否看到并理解多彩的世界?一个全面的色彩感知、推理和鲁棒性基准测试
  • 基于medusa范式的大模型并行解码推理加速初探
  • 程序性能(1)嵌入式基准测试工具
  • PointCore——利用局部全局特征的高效无监督点云异常检测器论文与算法解读
  • Redis增删改查
  • 意志力的源头——AMCC(前部中扣带皮层)
  • 3D打印加速产品试制
  • 进程程序替换
  • 【unity游戏开发入门到精通——UGUI】RectTransform矩形变换组件
  • xilinx fpga中pll与mmcm的区别
  • Transformer(李宏毅)
  • 软件测试的页面交互标准:怎样有效提高易用性
  • Docker环境下自动续签Let’s Encrypt SSL证书
  • Alan AI - 面向Web的生成式AI SDK
  • [Windows] Wireshark 网络抓包工具 v4.4.6
  • React 第三十三节 ReactRouter 中 useSearchParams 使用详解及注意事项
  • Multi-Query Attention (MQA) PyTorch 实现
  • 2. ubuntu20.04 和VS Code实现 ros的输出 (C++,Python)
  • JAVA设计模式——(1)适配器模式
  • .gitignore 可能失效的原因
  • 伊朗外长: 下一轮伊美核问题谈判将于26日举行
  • 文理医工“四轮驱动”,复旦六大新工科创新学院核心团队均亮相
  • 凭春晚分会场爆火的无锡,为何请来了上海主流媒体和网络大V
  • 一季度工业对宏观经济增长的贡献率达36.3%
  • 建投读书会·东西汇流|上海城市体育休闲中的东西方元素
  • 金价“又双叒”创新高,国内金饰迈入千元时代,还能上车吗?