DeepSeek 应用开发实战
云阳
某大厂 AI 与容器技术专家
7145 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 35 讲/共 39 讲
第五章 致敬幻方量化:AI金融项目探索 (2讲)
DeepSeek 应用开发实战
15
15
1.0x
00:00/00:00
登录|注册

30|如何用自然语言查询股票名称与代码?

你好,我是邢云阳。
沿着上节课的学习,今天我们来做一个小小的实战。实战内容呢,就是我之前介绍清竞的金融大模型大赛时,提到的初级问题——股票信息的查询操作,比如股票代码等等。
接下来,我们就结合 LangGraph Agent 进行实现。

股票信息查询工具

由于今天的需求是查询股票代码,上节课讲的历史行情接口就不适合了,那个接口一次只能抓取一只股票的某段时间的数据,和我们的需求不符。所以我们要使用的是实时行情抓取接口,文档链接在这:AKShare 股票数据 — AKShare 1.16.79 文档
该接口是在东方财富网上抓取各个市场的所有股票的实时数据。比如沪 A、深 A、创业板等等。我们就以创业板的数据为例进行演示。
从文档中,可以看到抓取创业板实时数据的接口为 stock_cy_a_spot_em,输出参数和示例如下。
所以,我们在代码中直接调用该接口,就可以得到一个包含了上述信息的 dataframe。
那有了这些数据后,工具如何设计呢?其实非常简单,只需要传入股票代码或者股票名称,然后从 dataframe 中筛选相应的股票的信息就可以了。代码如下:
from langchain_core.tools import tool
from llm import DeepSeek
import akshare as ak
@tool
def get_stock_info(code: str, name: str) -> str:
"""可以根据传入的股票代码或股票名称获取股票信息
Args:
code: 股票代码
name: 股票名称
"""
code_isempty = (code == "" or len(code) <= 2)
name_isempty = (name == "" or len(name) <= 2)
if code_isempty and name_isempty:
return []
df = ak.stock_cy_a_spot_em() # 获取创业板股票列表
ret = None
if code_isempty and not name_isempty:
ret = df[df['名称'].str.contains(name)]
elif not code_isempty and name_isempty:
ret = df[df['代码'].str.contains(code)]
else:
ret = df[df['代码'].str.contains(code) & df['名称'].str.contains(name)]
return ret.to_dict(orient='records')
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. LangGraph Agent 实现股票信息查询,包括调用实时行情抓取接口和设计股票信息查询工具的代码示例。 2. 将普通方法变成工具方法,为大模型绑定工具的步骤。 3. Function Calling 实现股票信息查询的过程,包括大模型选择工具和执行工具的节点设计。 4. 使用条件边和判断退出循环,展示节点连连看的代码。 5. 使用画图工具展示图结构,以及测试程序效果的代码示例。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DeepSeek 应用开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)