羈絆由我而起,痛苦也由我承擔? ? ? ? ? ?
????????????????????????????????????????—— 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}")