《DeepSeek原生应用与智能体开发实践》——DeepSeek驱动的即时金融信息采集与分析平台
本文将详细介绍如何利用DeepSeek大模型构建一个完整的金融信息智能分析系统,实现从信息采集到智能分析的全流程自动化。
《DeepSeek原生应用与智能体开发实践》——DeepSeek驱动的即时金融信息采集与分析平台
🌺The Begin🌺点点关注,收藏不迷路🌺
|
一、图书简介
JD:https://item.jd.com/10162997643656.html。
"《DeepSeek原生应用与智能体开发实践》围绕DeepSeek大模型应用开发展开,深度融合技术创新与工程实践,内容覆盖大模型应用开发(在线调用、提示词、推理、Agent、工具调用、MCP、微调、蒸馏、后训练、RAG)技术栈及其案例。书中原理与案例相融合,注重培养读者的大模型原生应用与智能体开发能力,并构建从理论到落地的完整知识体系。《DeepSeek原生应用与智能体开发实践》配套示例源码、PPT课件、配图PDF文件、读者微信交流群。
《DeepSeek原生应用与智能体开发实践》共分16章,内容包括大模型时代、DeepSeek开发环境配置与开放API使用、提示工程与DeepSeek提示库、思维链与DeepSeek推理模型、基于DeepSeek的Agent开发详解、DeepSeek的Function Calling与MCP应用实战、大模型驱动的即时金融信息采集与分析平台、KV Cache加持的推理加速、MLA注意力机制、MoE专家模型、MTP与多组件优化、大模型微调技术与应用、大模型蒸馏技术与应用、后训练算法GRPO详解与实战、基于后训练的智能医疗问诊实战,以及基于A2A、MCP与RAG的多Agent跨境电商智能客服实战。
《DeepSeek原生应用与智能体开发实践》既适合DeepSeek开发初学者、大模型原生应用与智能体开发人员、模型优化与工程化工程师、大模型研究人员、行业AI解决方案提供商,也适合高等院校及高职高专院校学习人工智能大模型的学生。"
二、编辑推荐
(1)《DeepSeek原生应用与智能体开发实践》包括18个应用案例,非常借鉴价值,其中重点案例包括美妆GUI Agent、体重管理API Agent、即时金融信息采集与分析平台、智能医疗问诊系统、多Agent跨境电商智能客服系统,读者根据自己的需求稍微修改一下即可应用于生产实践。
(2)即时金融信息采集与分析平台、智能医疗问诊系统、多Agent跨境电商智能客服系统分别代表金融、医疗、电商行业的应用解决方案。特别是多Agent跨境电商智能客服系统,融合了A2A、MCP、RAG技术,其系统分析与代码实现过程的讲解就值书价了,有需要借鉴此案例的读者可以大胆购买。
(3)《DeepSeek原生应用与智能体开发实践》还可以结合《DeepSeek大模型高性能核心技术与多模态融合开发》一书中的案例,对DeepSeek原理与应用开发进行深入研究。
(4)《DeepSeek原生应用与智能体开发实践》围绕DeepSeek大模型应用开发展开,深度融合技术创新与工程实践,内容覆盖大模型应用开发(在线调用、提示词、推理、Agent、工具调用、MCP、微调、蒸馏、后训练、RAG)常用技术栈。
(5)《DeepSeek原生应用与智能体开发实践》原理与实战案例相融合,注重培养读者的大模型原生应用与AI Agent智能体开发能力,并构建从理论到落地的完整知识体系。
(6)《DeepSeek原生应用与智能体开发实践》通过代码级详解与量化实验对比,将KV Cache、MLA注意力、MoE专家模型、MTP输出等前沿技术转化为可复现的工程能力,帮助读者深入理解大模型的技术逻辑。
(7)配套示例源码、数据文件、PPT课件、配图PDF文件、读者微信交流群。"
三、案例实战:DeepSeek驱动的即时金融信息采集与分析平台
3.1 引言
在金融行业,信息获取与分析的速度和质量直接关系到投资决策的成败。传统的信息处理方式往往需要金融从业者花费大量时间阅读、筛选和分析海量信息。随着人工智能技术的发展,特别是大语言模型(LLM)的突破,我们能够构建更加智能高效的金融信息处理系统。本文将详细介绍如何利用DeepSeek大模型构建一个完整的金融信息智能分析系统,实现从信息采集到智能分析的全流程自动化。
3.2 系统架构设计
整个系统采用模块化设计,主要包含以下几个核心模块:
信息采集模块:负责从新浪财经等金融网站获取原始数据
内容解析模块:对网页内容进行结构化提取
智能分析模块:利用DeepSeek大模型进行深度分析
交互展示模块:通过Gradio构建用户友好界面
系统采用模块化设计,主要包含四大核心模块:
┌────────────────┐ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ │ │ │ │ │ │ │
│ 信息采集模块 │───▶│ 内容解析模块 │───▶│ 智能分析模块 │───▶│ 交互展示模块 │
│ │ │ │ │ │ │ │
└────────────────┘ └────────────────┘ └────────────────┘ └────────────────┘
3.3 技术选型
- 网页采集:Requests库
- HTML解析:BeautifulSoup
- 大模型API:DeepSeek Chat
- 交互界面:Gradio
- 数据格式:JSON
四、核心实现流程
4.1 实现流程图
4.2 关键代码实现
(1) 网页内容解析
def parse_sina_finance(url):
try:
response = requests.get(url, headers=headers, timeout=10)
soup = BeautifulSoup(response.text, 'lxml')
# 多策略标题提取
title_elements = [
soup.select_one('h1.main-title'),
soup.select_one('div.article-header h1'),
soup.find('meta', property='og:title'),
soup.find('title')
]
# 正文内容提取
content_div = (
soup.select_one('#artibody') or
soup.select_one('.article-content') or
soup.select_one('.content') or
soup.find('div', itemprop='articleBody')
)
return {
'title': title_text,
'content': text_content.strip(),
'url': url,
'error': False
}
技术亮点:
- 多策略兼容不同网页结构
- 灵活的正文定位方式
- 完善的异常处理机制
(2) 智能分析Prompt设计
prompt = f"""
作为资深财经分析师,请对以下新闻进行专业分析:
{news_content}
要求输出完整JSON格式,包含以下字段:
1. 新闻标题
2. 行业分析(必须包含以下子项):
- 债券市场影响
- 金融机构影响
- 地方政府融资平台影响
3. 相关上市公司(公司+代码+影响分析)
4. 相关概念板块(板块名称+影响分析)
5. 综合分析(必须包含以下内容):
- 政策影响层面
- 市场反应层面
- 投资机会层面
- 风险提示
- 长期趋势
"""
Prompt设计要点:
- 明确定义分析角色
- 结构化输出要求
- 多维度分析框架
- 标准化JSON格式
(3) 结果处理与展示
# 格式化输出
formatted_output = f"📌 新闻标题: {data.get('新闻标题', '无')}\n\n"
# 行业分析部分
formatted_output += "🏭 行业分析:\n"
for industry, analysis in data.get('行业分析', {}).items():
formatted_output += f" - {industry}: {analysis}\n"
# 综合分析部分
formatted_output += "🔍 综合分析:\n"
for aspect, analysis in data.get('综合分析', {}).items():
formatted_output += f" • {aspect}: {analysis}\n"
五、系统界面展示
使用Gradio构建的用户界面简洁直观:
def create_gradio_interface():
with gr.Blocks(title="金融信息采集与分析平台") as demo:
gr.Markdown("# 🏦 金融信息采集与分析平台")
with gr.Row():
with gr.Column(scale=2):
url_input = gr.Textbox(label="输入新浪财经文章URL")
submit_btn = gr.Button("开始分析", variant="primary")
gr.Markdown("### 解析结果")
title_output = gr.Textbox(label="文章标题")
content_output = gr.Textbox(label="文章内容", lines=10)
with gr.Column(scale=3):
gr.Markdown("### AI分析结果")
ai_output = gr.Textbox(label="市场影响分析", lines=15)
with gr.Accordion("原始JSON数据", open=False):
raw_json_output = gr.JSON(label="原始分析数据")
submit_btn.click(fn=full_analysis_workflow, inputs=url_input,
outputs=[title_output, content_output, ai_output, raw_json_output])
return demo
界面特点:
- 响应式布局
- 清晰的信息分区
- 原始数据可查看
- 简洁操作流程
六、应用效果示例
系统对城投债新闻的分析示例输出:
📌 新闻标题: “3号指引”强化城投债发行审核管理 保险、理财子、银行自营资金快速入场加仓“看好”信用利差收窄回报
🏭 行业分析:
- 债券市场影响: “3号指引”对城投债发行审核门槛进行调整,导致城投债供给放量难度加大,优质城投债争夺激烈。信用利差预计收窄,债券收益率上行吸引资金入场。
- 金融机构影响: 保险、理财子、银行自营资金等配置型资金积极增持优质城投债,以锁定高收益。私募基金等交易型资金加仓低评级高收益城投债,押注信用利差收窄。
- 地方政府融资平台影响: 资质良好的城市建设企业发债渠道畅通,但资产质量较低、依赖政府补贴、负债率较高的城投公司发债审核趋严,弱平台加速出清。
📈 相关上市公司:
- 中金公司(601995): 利好,作为固收研究团队,其分析能力将受到市场关注。
- 华西证券(002926): 利好,其宏观固收团队的建议可能吸引投资者关注。
- 华安证券(600909): 中性,其固收分析师的观点对市场影响有限。
📊 相关概念板块:
- 城投债: 利好,优质城投债需求增加,信用利差收窄预期提升。
- 债券市场: 中性,整体债券收益率上行,但城投债供需关系变化可能带来结构性机会。
- 金融机构: 利好,保险、理财子、银行自营资金等配置需求增加。
🔍 综合分析:
• 政策影响: “3号指引”通过收紧低资质城投公司发债审核,推动城投公司市场化转型,加速弱平台出清。
• 市场反应: 资金快速入场加仓优质城投债,信用利差收窄预期增强,市场对高评级城投债需求上升。
• 投资机会: 关注高评级城投债的配置机会,以及3至5年期城投债的骑乘收益。
• 风险提示: 低等级城投债发债难度加大,可能导致部分城投公司偿债压力上升,需警惕信用风险。
• 长期趋势: 城投债市场分化加剧,优质城投债将更受资金青睐,弱平台逐步退出市场,市场化转型成为主流。
七、技术难点与解决方案
-
网页解析稳定性:
- 难点:不同页面结构差异大
- 方案:多策略组合式解析+异常处理
-
分析结果一致性:
- 难点:大模型输出格式不稳定
- 方案:严格Prompt约束+JSON格式校验
-
系统响应速度:
- 难点:大模型API调用延迟
- 方案:异步处理+超时机制
八、总结与展望
本系统通过结合网络爬虫、大模型分析和交互式界面,实现了金融信息的智能采集与分析。未来可扩展方向包括:
- 增加多数据源支持(东方财富、雪球等)
- 实现定时自动监测与分析
- 加入历史数据对比分析功能
- 开发移动端适配版本
注:实际开发中请注意遵守各网站的爬虫政策,合理控制请求频率,避免给目标服务器造成过大压力。
九、附:完整代码与系统运行效果
import requests
from bs4 import BeautifulSoup
from openai import OpenAI
import gradio as gr
import json
# 初始化DeepSeek客户端
client = OpenAI(api_key="替换为你自己的api—key", base_url="https://api.deepseek.com")
def parse_sina_finance(url):
"""解析新浪财经网页内容"""
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
try:
response = requests.get(url, headers=headers, timeout=10)
response.raise_for_status()
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'lxml')
# 优化标题提取逻辑
title_elements = [
soup.select_one('h1.main-title'),
soup.select_one('div.article-header h1'),
soup.find('meta', property='og:title'),
soup.find('title')
]
title_text = "标题未找到"
for elem in title_elements:
if elem:
if hasattr(elem, 'get') and 'content' in elem.attrs:
title_text = elem.get('content', '')
elif hasattr(elem, 'text'):
title_text = elem.get_text(strip=True)
if title_text:
break
# 提取正文
content_div = (
soup.select_one('#artibody') or
soup.select_one('.article-content') or
soup.select_one('.content') or
soup.find('div', itemprop='articleBody')
)
text_content = '\n'.join([
p.get_text(strip=True)
for p in content_div.find_all('p', recursive=False)
if p.get_text(strip=True)
]) if content_div else '正文内容未找到'
return {
'title': title_text,
'content': text_content.strip(),
'url': url,
'error': False
}
except requests.exceptions.RequestException as e:
return {
'title': '请求失败',
'content': f'网络请求错误: {str(e)}',
'url': url,
'error': True
}
except Exception as e:
return {
'title': '解析失败',
'content': f'解析异常: {str(e)}',
'url': url,
'error': True
}
def analysis_news(news_content):
"""使用DeepSeek分析新闻内容"""
try:
# 构造 Deepseek 提示词
prompt = f"""
你是一个经验丰富的财经专家,专注于全球市场和经济动态。以下是过去3小时内的财经新闻,请你根据新闻内容自动识别新闻涉及的行业,并分析其对A股上市公司和概念板块的影响。
## Profile
- language: 中文
- description: 专注于全球市场和经济动态的财经专家,擅长分析财经新闻对A股上市公司和概念板块的影响。
- background: 拥有多年财经分析经验,熟悉全球市场动态和A股市场。
- personality: 严谨、细致、逻辑性强。
- expertise: 财经新闻分析、行业影响评估、A股市场研究。
- target_audience: 投资者、财经分析师、A股市场参与者。
## Skills
1. **核心技能类别**
- **行业识别**: 根据新闻内容快速识别涉及的行业。
- **行业分析**: 使用特定行业的分析框架进行深入分析。
- **影响评估**: 评估新闻对A股上市公司和概念板块的影响。
- **报告撰写**: 撰写详细的分析报告,包括受影响的公司和板块。
2. **辅助技能类别**
- **数据收集**: 收集和整理相关财经新闻和数据。
- **市场研究**: 研究A股市场的动态和趋势。
- **政策解读**: 解读相关政策对行业的影响。
- **沟通能力**: 与投资者和分析师进行有效沟通。
## Rules
1. **基本原则**
- **准确性**: 确保分析的准确性和可靠性。
- **及时性**: 在新闻发布后尽快进行分析。
- **客观性**: 保持客观,不带有个人偏见。
- **全面性**: 全面考虑新闻对行业和市场的多方面影响。
2. **行为准则**
- **保密性**: 保护客户和公司的机密信息。
- **专业性**: 保持专业态度,遵守职业道德。
- **透明度**: 在分析报告中明确说明分析方法和依据。
- **责任感**: 对分析结果负责,及时更新和修正。
3. **限制条件**
- **信息来源**: 仅使用可靠和权威的财经新闻来源。
- **时间限制**: 在新闻发布后3小时内完成分析。
- **范围限制**: 仅分析对A股上市公司和概念板块的影响。
- **法律合规**: 遵守相关法律法规,不进行非法操作。
## Workflows
- 目标: 分析过去3小时内的财经新闻对A股上市公司和概念板块的影响。
- 步骤 1: 自动选择行业,根据新闻内容判断涉及的主要行业。
- 步骤 2: 使用相应的行业分析框架进行深入分析。
- 步骤 3: 列出受影响的公司和板块,分析是利好还是利空,并简要解释原因。
- 预期结果: 提供详细的分析报告,帮助投资者和市场参与者做出决策。
3. **新闻内容**:
- 以下是新闻内容,请分析并提炼出对A股相关公司和板块的影响。
{news_content}
4. **输出符合以下结构的纯json格式的结果,方便程序直接存入数据库**
要求输出完整JSON格式,包含以下字段:
1. 新闻标题
2. 行业分析(必须包含以下子项):
- 债券市场影响
- 金融机构影响
- 地方政府融资平台影响
3. 相关上市公司(公司+代码+影响分析)
4. 相关概念板块(板块名称+影响分析)
5. 综合分析(必须包含以下内容):
- 政策影响层面
- 市场反应层面
- 投资机会层面
- 风险提示
- 长期趋势
示例格式:
{{
"新闻标题": "...",
"行业分析": {{
"债券市场": "...",
"金融机构": "...",
"地方政府融资平台": "..."
}},
"相关上市公司": {{
"公司A(代码)": "利好/利空,原因...",
"公司B(代码)": "利好/利空,原因..."
}},
"相关概念板块": {{
"板块A": "利好/利空,原因...",
"板块B": "利好/利空,原因..."
}},
"综合分析": {{
"政策影响": "...",
"市场反应": "...",
"投资机会": "...",
"风险提示": "...",
"长期趋势": "..."
}}
}}
"""
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": prompt}],
temperature=0.3
)
response_content = response.choices[0].message.content.strip()
response_content = response_content.replace("```json", "").replace("```", "").strip()
try:
data = json.loads(response_content)
# 更完善的格式化输出
formatted_output = f"📌 新闻标题: {data.get('新闻标题', '无')}\n\n"
# 行业分析部分
formatted_output += "🏭 行业分析:\n"
industry_analysis = data.get('行业分析', {})
for industry, analysis in industry_analysis.items():
formatted_output += f" - {industry}: {analysis}\n"
formatted_output += "\n"
# 上市公司部分
formatted_output += "📈 相关上市公司:\n"
for company, analysis in data.get('相关上市公司', {}).items():
formatted_output += f" - {company}: {analysis}\n"
formatted_output += "\n"
# 概念板块部分
formatted_output += "📊 相关概念板块:\n"
for concept, analysis in data.get('相关概念板块', {}).items():
formatted_output += f" - {concept}: {analysis}\n"
formatted_output += "\n"
# 综合分析部分
formatted_output += "🔍 综合分析:\n"
comprehensive = data.get('综合分析', {})
for aspect, analysis in comprehensive.items():
formatted_output += f" • {aspect}: {analysis}\n"
return formatted_output, data
except json.JSONDecodeError:
return f"AI分析结果解析失败:\n原始响应:\n{response_content}", None
except Exception as e:
return f"结果处理异常: {str(e)}\n原始响应:\n{response_content}", None
except Exception as e:
return f"AI分析请求失败: {str(e)}", None
def full_analysis_workflow(url):
"""完整的分析工作流"""
# 第一步:解析网页
parsed_content = parse_sina_finance(url)
# 如果解析失败,直接返回错误信息
if parsed_content['error']:
return (
parsed_content['title'],
parsed_content['content'],
parsed_content['url'],
f"无法进行AI分析: {parsed_content['content']}",
None
)
# 第二步:AI分析
analysis_result, raw_data = analysis_news(parsed_content)
return (
parsed_content['title'],
parsed_content['content'],
parsed_content['url'],
analysis_result,
raw_data
)
def create_gradio_interface():
with gr.Blocks(title="金融信息采集与分析平台", theme=gr.themes.Soft()) as demo:
gr.Markdown("""
# 🏦 金融信息采集与分析平台
*输入新浪财经文章URL,自动解析内容并进行AI分析*
""")
with gr.Row():
with gr.Column(scale=2):
url_input = gr.Textbox(
label="输入新浪财经文章URL",
placeholder="https://finance.sina.com.cn/...",
lines=1
)
submit_btn = gr.Button("开始分析", variant="primary")
with gr.Group():
gr.Markdown("### 解析结果")
title_output = gr.Textbox(label="文章标题", interactive=False)
content_output = gr.Textbox(
label="文章内容",
lines=10,
interactive=False
)
url_output = gr.Textbox(label="文章URL", interactive=False)
with gr.Column(scale=3):
gr.Markdown("### AI分析结果")
ai_output = gr.Textbox(
label="市场影响分析",
lines=15,
interactive=False
)
with gr.Accordion("原始JSON数据", open=False):
raw_json_output = gr.JSON(label="原始分析数据")
# 完整工作流处理
submit_btn.click(
fn=full_analysis_workflow,
inputs=url_input,
outputs=[title_output, content_output, url_output, ai_output, raw_json_output]
)
return demo
if __name__ == '__main__':
# 创建Gradio界面
app = create_gradio_interface()
# 启动应用
app.launch(
server_name="127.0.0.1",
server_port=7860,
share=False
)
🌺The End🌺点点关注,收藏不迷路🌺
|
更多推荐
所有评论(0)