0

0

99行代码!教会你用Doris+DeepSeek实现AI舆情分析

絕刀狂花

絕刀狂花

发布时间:2025-04-23 18:38:26

|

1053人浏览过

|

来源于php中文网

原创

❝你是否曾经历过这样的场景:公司号突然被喷,评论区一片狼藉,客服电话被打爆,老板紧急召集会议,大家手忙脚乱却不知从何入手? 舆情危机好比一场没有预警的暴风雨,瞬间就能让企业陷入困境。对处在风口浪尖的企业来说,拥有一套高效的舆情分析系统简直就是救命稻草。 正巧,一位doris小伙伴:"wx!!! 急需ai舆情分析。" "好滴,安排"

99行代码!教会你用Doris+DeepSeek实现AI舆情分析
舆情分析中的痛点

小华是某政务中心的舆情分析师,每天需要处理上千条网络评论。

传统的舆情分析流程繁琐又耗时:手动筛选关键信息,分析情绪趋势,生成报告,往往一天下来只能处理几百条数据。

"如果系统能自动识别高风险言论就好了,我也不用天天熬夜加班。"小华经常这样感叹。

99行代码!教会你用Doris+DeepSeek实现AI舆情分析

张总是一家快消品企业的公关部负责人,公司刚上市新产品就遭遇了全网吐槽。面对铺天盖地的负面评论,张总的团队只能疲于奔命地一条条回复。

"我们需要知道舆情的源头在哪里,是质量问题还是营销策略出了错。可现在的分析速度远跟不上网络传播速度。"

......

Doris+DeepSeek:舆情分析的黄金组合

Apache Doris是一款基于 MPP 架构的高性能、实时分析型数据库,能够处理海量数据并提供毫秒级查询性能。

DeepSeek则是一款强大的大语言模型,拥有出色的语义理解和情感分析能力。

两者结合,好比给数据分析插上了AI的翅膀。

Doris负责数据存储和快速检索,DeepSeek负责深度解读文本背后的情感和意图。

这套组合的工作流程:

99行代码!教会你用Doris+DeepSeek实现AI舆情分析

1️⃣ 数据采集:通过爬虫收集平台的评论和帖子等内容

2️⃣ 数据入库:将收集到的数据实时写入Doris

3️⃣ 大模型分析:DeepSeek对文本进行多维度分析

4️⃣ 可视化展示:将分析结果以直观的方式呈现

确认好组合思路,接下来就开始撕代码 ⬇️

99行代码速通AI舆情分析环境准备

本文demo环境相对简易,参考DorisAi前文环境即可:

3步!教会你用Doris+DeepSeek搭建ChatBI系统(保姆级教程)

代码实现

经过一臻和老崔七七四十九秒的编写调试,完整的99行示例代码如下:

代码语言:javascript代码运行次数:0运行复制
import pymysqlfrom dbutils.pooled_db import PooledDBimport requestsfrom langchain.agents import initialize_agent, Toolfrom langchain_openai import ChatOpenAI"""AI舆情分析|自动投诉处理系统 v1.0Description: 基于LangChain Agent的智能流程自动化系统,替代硬编码方式处理投诉数据"""# 定义Apache Doris数据库查询的Agent Tooldef dorisTool(query):    POOL_DORIS_OFF = PooledDB(        user='{user}',password='{password}',host='{host}',port={port},database='{database}',        charset='utf8',creator=pymysql,blocking=True,maxusage=None,setsession=[],maxconnections=30,mincached=10,ping=0,    )    cursor = POOL_DORIS_OFF.connection().cursor()    cursor.execute(query)    columns = [col[0] for col in cursor.description]    rs = [dict(zip(columns, row)) for row in cursor.fetchall()]    return rs# 定义发送钉钉消息的Agent Tooldef dingdingTool(msg):    markdown_message = f"""           {msg}           """    webhook_url = (        "{webhook_url}")    headers = {'Content-Type': 'application/json'}    payload = {        "msgtype": "markdown",        "markdown": {            "title": "投诉数据明细",            "text": markdown_message        }    }    try:        response = requests.post(webhook_url, headers=headers, json=payload)        response.raise_for_status()        print("钉钉消息推送成功")    except requests.exceptions.RequestException as e:        print(f"钉钉消息推送失败: {e}")# 定义LangChain Agent工具列表tools = [    Tool(        name="执行sql查询doris数据",        func=dorisTool,        description="根据传入的doris sql直接执行,返回结果集,返回格式为list"    ),    Tool(        name="推送钉钉消息",        func=dingdingTool,        description="根据传入的msg通过钉钉机器人的形式推送msg到钉钉群"    )]# 初始化LLMllm = ChatOpenAI(base_url='https://ark.cn-beijing.volces.com/api/v3',                 api_key="{api_key}",                 model='{model}')# 初始化LangChain Agentagent = initialize_agent(    tools,    llm,    agent="zero-shot-react-description",    verbose=True,    handle_parsing_errors=True)# 提示模板,指导AI代理如何处理查询question = "请问近30天有关于一臻数据的投诉信息吗"promptTemplate = """你是“一臻数据”平台的投诉识别以及处理员,需完成以下任务:1. 根据用户的问题,生成一个 SQL 查询,具体查询时间范围以用用户实际问题为准。2. 从查询结果中筛选出与“一臻数据”相关的投诉信息。3. 将筛选结果汇总为易读的格式,并给出处理建议以及将命中的投诉信息根据你的建议排出一个紧急程度来,尽可能多的挖掘一些信息返回给客户,做专家指导,如“舆情分类”、“定义分类”、“紧急程度”等。4. 如果存在与“一臻数据”相关的投诉,将汇总信息和你的处理建议通过钉钉机器人推送到指定群组。5. 在推送内容中添加表情符号,增强可读性。注意:-如需调用工具,根据工具的作用在该任务里调用合适的工具,并根据工具的要求传入需要的参数,要求参数传入格式准确-只能从获得的doris库中的数据中做分析,不允许自己fake数据。数据库信息:- 表名:yz_complaint_detail- 字段:complaint_time(投诉时间), detail(具体投诉内容)- SQL 查询示例:SELECT detail FROM yz_complaint_detail WHERE complaint_time >= NOW() - INTERVAL 60 DAY;"""prompt = f"{question}\n{promptTemplate}"# 运行Agenttry:    result = agent.run(prompt)    print("Final Result:")    print(result)except Exception as e:    print(f"代理执行出错: {e}")
代码解析

代码经过精简,很多block没有进行过多地细化深入。主要是为了让大家能够快速熟悉Doris+DeepSeek V3体验AI舆情分析的完整流程,后续可以结合自己需求,按模块进行调整应用。

代码主流程如下:

99行代码!教会你用Doris+DeepSeek实现AI舆情分析

1️⃣ 用户查询:用户向系统提问,例如请问近30天有关于一臻数据的投诉信息吗

2️⃣ 任务分析:LangChain Agent接收问题和提示模板prompt,将其发送给大语言模型(DeepSeek V3)分析。语言模型理解问题意图,确定需要查询近30天的投诉数据

3️⃣ Doris数据库查询:Agent决定需要查询数据库,调用dorisTool函数,生成对应SQL进行查询并返回查询结果

4️⃣ 投诉分析:Agent将Doris查询结果发送给DeepSeek进行分析,DeepSeek筛选出与"一臻数据"相关的投诉,生成分析报告,包括舆情分类、紧急程度等信息

Quillbot
Quillbot

一款AI写作润色工具,QuillBot的人工智能改写工具将提高你的写作能力。

下载

5️⃣ 结果处理:系统根据分析结果分两种情况处理:

无投诉:DeepSeek生成一个表明没有发现相关投诉的回复

有投诉:Agent调用dingdingTool函数,函数将分析报告格式化为Markdown,通过钉钉webhook发送到指定群组,返回发送状态给Agent

其它说明

1. 钉钉告警配置

? 钉钉自定义机器人安全设置:https://open.dingtalk.com/document/robots/customize-robot-security-settings#title-7fs-kgs-36x

99行代码!教会你用Doris+DeepSeek实现AI舆情分析

1️⃣ 创建一个至少3人行的钉钉群组

2️⃣ 创建一个机器人

3️⃣ 初始化机器人信息,并获取Webhook

2. 缺省参数补齐

1️⃣ 补齐dorisTool的连接信息

2️⃣ 补齐dingdingToolWebhook

3️⃣ 补齐LLM的api_keymodel,可以参考DorisAi前文获取

3. 测试表和数据

代码所使用的Doris表和测试数据如下:

代码语言:javascript代码运行次数:0运行复制
-- 测试表CREATETABLE`yz_complaint_detail` ( `complaint_time` datetime NULLCOMMENT'投诉时间',`detail`textNULLCOMMENT'具体投诉内容',INDEX index_complaint_time (`complaint_time`) USING INVERTED ) ENGINE = OLAP DUPLICATEKEY(`complaint_time`) COMMENT'一臻数据投诉信息表'DISTRIBUTEDBYHASH(`complaint_time`) BUCKETS 30PROPERTIES ( "replication_allocation" = "tag.location.default: 1");-- 测试数据insertinto yz_complaint_detail values('2025-03-11 15:30:30','一臻数据真垃圾,总是拖稿'),('2025-03-10 13:30:30','一臻数据真不错'),('2025-03-09 15:30:30','一臻数据真垃圾,严重拖稿'),('2025-02-08 15:30:30','一臻数据服务很好'),('2025-02-07 15:30:30','一臻数据不处理问题,客服被投诉!'),('2025-02-06 15:30:30','一臻数据断更被暴利催更'),('2025-02-05 15:30:30','投诉一臻数据,严重拖稿'),('2025-03-00 18:30:30','一臻数据真好')
结果验证

配置好钉钉告警->补齐缺省参数->初始化完Doris相关表和测试数据后,直接Run,就会在钉钉收到对应的AI舆情分析通知:

99行代码!教会你用Doris+DeepSeek实现AI舆情分析
结语
99行代码!教会你用Doris+DeepSeek实现AI舆情分析

随着Doris和大模型技术的进步,未来的舆情分析系统将更加智能化。

我们可以期待这些趋势:

1️⃣ 多模态分析:不仅分析文字,还能识别图片、视频中的情绪和内容

2️⃣ 预测性分析:不只是被动应对,而是预测可能出现的舆情风险

3️⃣ 个性化回应:根据不同用户的特点,生成个性化的回应策略

舆情分析不再是简单的数据统计,而是企业和组织必备的社会雷达。Doris+DeepSeek的组合将成为这个领域的有力工具

AI赋能舆情分析,让危机变成机遇。你的99行代码,可能就是阻挡舆情风暴的最后一道防线。

感兴趣的话,下期我们将深入探讨如何使用Doris+AI处理更复杂的多维数据分析场景,敬请期待!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

728

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

328

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

350

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1263

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

360

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

841

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

581

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

423

2024.04.29

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
R 教程
R 教程

共45课时 | 5.8万人学习

Pandas 教程
Pandas 教程

共15课时 | 1.0万人学习

php-src源码分析探索
php-src源码分析探索

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号