Skip to content

jwangkun/mp_title_optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

微信公众号标题优化专家系统

基于多专家协作和大语言模型的智能标题优化工具,现已集成 OxyGent 多智能体框架,帮助提升微信公众号文章的点击率和传播效果。

✨ 功能特性

🤖 AI 驱动优化

  • OxyGent 多智能体系统 - 最新的多智能体协作框架
  • ModelScope GLM-4.5 - 支持最新的大语言模型
  • OpenAI 兼容接口 - 标准化 API 调用
  • 多专家协作 - 8位 AI 专家从不同角度分析优化

🚀 多智能体协作

  • 智能体团队 - 专业分工,协同工作
  • 任务自动分解 - 复杂任务智能拆分
  • 实时协作 - 智能体间实时通信
  • 结果整合 - 自动汇总分析结果

📊 专业分析

  • 用户心理分析 - 情感触发和心理需求识别
  • 数据驱动洞察 - 点击率预测和趋势分析
  • 营销价值评估 - 商业转化和受众匹配
  • 语言文字优化 - 表达力和可读性提升

🛠 多种使用方式

  • 命令行工具 - 快速批量处理
  • 交互式模式 - 实时对话优化
  • Web 界面 - 可视化操作体验
  • API 接口 - 集成到现有系统

🚀 快速开始

方式一:OxyGent 多智能体系统(推荐)

1. 设置 Python 环境

# 推荐使用 Python 3.10+
conda create -n oxy_env python==3.10
conda activate oxy_env

2. 安装 OxyGent

pip install oxygent

3. 自动化设置

git clone <repository-url>
cd wechat-title-optimizer
python setup_oxygent.py  # 自动安装依赖和配置环境

4. 配置环境变量

编辑 .env 文件:

DEFAULT_LLM_API_KEY="your_api_key"
DEFAULT_LLM_BASE_URL="https://api-inference.modelscope.cn/v1"
DEFAULT_LLM_MODEL_NAME="ZhipuAI/GLM-4.5"

5. 运行多智能体演示

# 5分钟快速开始
python quick_start.py

# 多智能体标题优化
python oxygent_agent_demo.py

# Web 服务模式
python quick_start.py web

方式二:传统模式

安装依赖

git clone <repository-url>
cd wechat-title-optimizer
pip install -r requirements.txt

配置 API Key

编辑 config.py 文件,设置你的 ModelScope API Key:

MODELSCOPE_CONFIG = {
    "base_url": "https://api-inference.modelscope.cn/v1",
    "model": "ZhipuAI/GLM-4.5",
    "api_key": "your-api-key-here",  # 替换为实际的 API Key
    "temperature": 0.7,
    "max_tokens": 2000,
    "timeout": 30
}

运行演示

# 主菜单模式
python demo.py

# AI 演示模式
python demo.py ai

# 交互式 AI 模式
python demo.py ai-interactive

# 测试连接
python demo.py test

📖 使用示例

OxyGent 多智能体用法

import asyncio
from oxygent_agent_demo import OxyGentTitleOptimizer

async def main():
    optimizer = OxyGentTitleOptimizer()
    
    result = await optimizer.optimize_title_with_agents(
        title="如何提高工作效率",
        content_summary="介绍10个提升工作效率的实用方法"
    )
    
    if result["success"]:
        print("✅ 多智能体分析完成!")
        print(f"📁 详细结果已保存到文件")
    else:
        print(f"❌ 分析失败: {result['error']}")

asyncio.run(main())

传统模式用法

import asyncio
from wechat_title_optimizer import optimize_title_quick

async def main():
    result = await optimize_title_quick(
        title="如何提高工作效率",
        content_summary="介绍10个提升工作效率的实用方法",
        provider="modelscope"
    )
    
    # 获取最佳推荐
    best_title = result['final_recommendations'][0]
    print(f"最佳标题: {best_title['title']}")
    print(f"评分: {best_title['score']}/10")
    print(f"理由: {best_title['reasoning']}")

asyncio.run(main())

官方文档示例

按照 OxyGent 官方文档的基础示例:

import os
from oxygent import MAS, Config, oxy, preset_tools

Config.set_agent_llm_model("default_llm")

oxy_space = [
    oxy.HttpLLM(
        name="default_llm",
        api_key=os.getenv("DEFAULT_LLM_API_KEY"),
        base_url=os.getenv("DEFAULT_LLM_BASE_URL"),
        model_name=os.getenv("DEFAULT_LLM_MODEL_NAME"),
    ),
    preset_tools.time_tools,
    oxy.ReActAgent(
        name="time_agent",
        desc="A tool that can query the time",
        tools=["time_tools"],
    ),
    preset_tools.file_tools,
    oxy.ReActAgent(
        name="file_agent",
        desc="A tool that can operate the file system",
        tools=["file_tools"],
    ),
    preset_tools.math_tools,
    oxy.ReActAgent(
        name="math_agent",
        desc="A tool that can perform mathematical calculations.",
        tools=["math_tools"],
    ),
    oxy.ReActAgent(
        is_master=True,
        name="master_agent",
        sub_agents=["time_agent", "file_agent", "math_agent"],
    ),
]

async def main():
    async with MAS(oxy_space=oxy_space) as mas:
        await mas.start_web_service(first_query="What time is it now? Please save it into time.txt.")

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

批量优化

import asyncio
from openai_client import llm_client

async def batch_optimize():
    titles = [
        "Python编程入门",
        "投资理财指南", 
        "健康生活方式"
    ]
    
    prompts = [f"请优化这个微信公众号标题:{title}" for title in titles]
    
    results = await llm_client.batch_completion(
        prompts, 
        provider="modelscope"
    )
    
    for i, result in enumerate(results):
        if result["success"]:
            print(f"原标题: {titles[i]}")
            print(f"优化建议: {result['content'][:100]}...")
            print("-" * 40)

asyncio.run(batch_optimize())

🏗 系统架构

专家系统

专家类型 分析重点 优化方向
用户心理专家 情感触发、心理需求 好奇心、恐惧感、成就感
数据分析专家 点击率、搜索热度 关键词优化、数据驱动
内容营销专家 目标受众、价值主张 转化率、商业价值
语言文字专家 表达力、可读性 语言技巧、修辞手法
社交媒体专家 传播性、话题性 分享动机、病毒传播
行业趋势专家 热点结合、时效性 趋势把握、前瞻性
用户体验专家 认知负荷、理解度 易读性、用户友好
创意策略专家 独特性、记忆点 差异化、创新表达

技术栈

  • 后端: Python 3.8+
  • AI 模型: ModelScope GLM-4.5
  • 异步处理: asyncio
  • Web 框架: Flask (可选)
  • 文本分析: jieba 分词
  • API 客户端: OpenAI 兼容接口

📊 优化效果

评分维度

  • 吸引力 (25%) - 标题的视觉和心理吸引力
  • 准确性 (20%) - 与内容的匹配度
  • 传播性 (20%) - 社交媒体传播潜力
  • 实用性 (15%) - 对用户的实际价值
  • 创新性 (10%) - 表达方式的独特性
  • 合规性 (10%) - 平台规则符合度

优化策略

  1. 心理触发 - 利用好奇心、恐惧、成就感等心理机制
  2. 数字化表达 - 使用具体数字增强可信度
  3. 价值明确 - 清晰表达用户能获得的价值
  4. 情感共鸣 - 与目标受众产生情感连接
  5. 视觉优化 - 合理使用 emoji 和标点符号
  6. 长度控制 - 保持在最佳长度范围内

🔧 配置选项

模型配置

# ModelScope 配置
MODELSCOPE_CONFIG = {
    "base_url": "https://api-inference.modelscope.cn/v1",
    "model": "ZhipuAI/GLM-4.5",
    "api_key": "your-api-key",
    "temperature": 0.7,      # 创意度 (0-1)
    "max_tokens": 2000,      # 最大输出长度
    "timeout": 30            # 请求超时时间
}

# 默认提供商
DEFAULT_PROVIDER = "modelscope"  # 可选: "oxygent" 或 "modelscope"

标题规则

TITLE_RULES = {
    "max_length": 30,        # 最大长度
    "min_length": 8,         # 最小长度
    "forbidden_words": [     # 禁用词汇
        "点击", "震惊", "不看后悔"
    ],
    "recommended_patterns": [ # 推荐模式
        "如何...", "为什么...", "...的N个方法"
    ]
}

📱 Web 界面

启动 Web 服务:

python web_interface.py

访问 http://localhost:5000 使用可视化界面。

功能包括:

  • 实时标题优化
  • 专家分析展示
  • 历史记录管理
  • 批量处理工具

🧪 测试

运行测试

# 测试 ModelScope 连接
python test_modelscope.py

# 测试基础功能
python -m pytest tests/

# 性能测试
python benchmark.py

测试用例

项目包含多个测试用例:

  • 连接测试
  • 功能测试
  • 性能测试
  • 错误处理测试

📈 性能优化

并发处理

  • 异步 API 调用
  • 批量请求支持
  • 连接池管理

缓存机制

  • 结果缓存
  • 模型响应缓存
  • 智能缓存失效

错误处理

  • 自动重试机制
  • 降级策略
  • 详细错误日志

🤝 贡献指南

欢迎贡献代码!请遵循以下步骤:

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

开发规范

  • 遵循 PEP 8 代码风格
  • 添加适当的注释和文档
  • 编写单元测试
  • 更新相关文档

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🆘 支持

常见问题

Q: 如何获取 ModelScope API Key? A: 访问 ModelScope 官网,注册账户后在 API 管理页面创建。

Q: 支持其他语言模型吗? A: 目前支持 ModelScope GLM-4.5,未来会添加更多模型支持。

Q: 可以本地部署吗? A: 是的,项目支持完全本地部署,无需外部依赖。

获取帮助

🎯 路线图

近期计划

  • 支持更多 AI 模型
  • 增加批量导入功能
  • 优化 Web 界面
  • 添加 API 文档

长期规划

  • 移动端应用
  • 插件系统
  • 多语言支持
  • 企业版功能

⭐ 如果这个项目对你有帮助,请给个 Star!

🚀 让我们一起打造更好的内容标题!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors