Langchain 就像是一个金融顾问团队,可以帮你分析市场数据、提供投资建议和自动化决策流程。
基本功能
1. 链式调用
# 创建一个简单的金融分析链
from langchain.chains import SimpleSequentialChain
from langchain.llms import OpenAI
# 初始化语言模型
llm = OpenAI(temperature=0.7)
# 股票分析链
分析链 = LLMChain(
llm=llm,
prompt=PromptTemplate(
input_variables=["股票代码"],
template="分析 {股票代码} 的基本面情况:"
)
)
# 投资建议链
建议链 = LLMChain(
llm=llm,
prompt=PromptTemplate(
input_variables=["分析结果"],
template="根据以下分析给出投资建议: {分析结果}"
)
)
# 组合链
完整分析链 = SimpleSequentialChain(
chains=[分析链, 建议链],
verbose=True
)
结果 = 完整分析链.run("AAPL")
2. 向量存储
# 存储金融新闻用于后续检索
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
# 创建嵌入模型
embeddings = OpenAIEmbeddings()
# 金融新闻列表
金融新闻 = [
"美联储宣布加息25个基点",
"科技股普遍下跌",
"通胀率连续三个月下降"
]
# 创建向量存储
向量数据库 = Chroma.from_texts(
金融新闻,
embeddings,
collection_name="金融新闻"
)
# 检索相关内容
相关新闻 = 向量数据库.similarity_search("利率变化")
实用功能
1. 市场数据分析
# 设计一个分析市场趋势的工具
from langchain.agents import Tool, initialize_agent
from langchain.agents import AgentType
from langchain.utilities import GoogleSerperAPIWrapper
# 搜索工具
搜索 = GoogleSerperAPIWrapper()
搜索工具 = Tool(
name="搜索引擎",
func=搜索.run,
description="用于获取最新市场信息"
)
# 数据分析工具
def 分析市场趋势(查询内容):
# 这里可以连接专业的金融API
return f"对 {查询内容} 的市场趋势分析结果"
分析工具 = Tool(
name="趋势分析",
func=分析市场趋势,
description="分析特定市场或股票的走势"
)
# 初始化代理
市场分析代理 = initialize_agent(
tools=[搜索工具, 分析工具],
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# 执行分析
分析结果 = 市场分析代理.run("分析美国科技股近期趋势")
2. 风险评估
# 创建评估投资风险的链
from langchain.prompts import ChatPromptTemplate
from langchain.output_parsers import ResponseSchema, StructuredOutputParser
# 定义输出格式
风险评分_schema = ResponseSchema(
name="风险评分",
description="从1-10评估风险水平,10最高"
)
风险因素_schema = ResponseSchema(
name="风险因素",
description="列出主要风险因素"
)
建议策略_schema = ResponseSchema(
name="建议策略",
description="如何应对这些风险"
)
# 创建输出解析器
解析器 = StructuredOutputParser([风险评分_schema, 风险因素_schema, 建议策略_schema])
格式指南 = 解析器.get_format_instructions()
# 创建提示模板
风险评估模板 = ChatPromptTemplate.from_template(
"""分析以下投资的风险情况:
投资目标: {投资对象}
市场情况: {市场描述}
{格式指南}
"""
)
# 构建完整链
风险评估链 = LLMChain(
llm=llm,
prompt=风险评估模板,
output_parser=解析器
)
# 执行评估
评估结果 = 风险评估链.run(
投资对象="特斯拉股票",
市场描述="当前市场波动较大,科技股整体估值较高",
格式指南=格式指南
)
3. 投资组合优化
# 利用记忆组件记录历史投资决策
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
# 创建记忆组件
投资记忆 = ConversationBufferMemory()
# 创建考虑历史决策的链
投资组合链 = ConversationChain(
llm=llm,
memory=投资记忆,
prompt=PromptTemplate(
input_variables=["history", "input"],
template="""作为投资组合管理专家,根据历史决策和当前市场情况给出建议。
历史决策:
{history}
当前情况:
{input}
投资建议:"""
)
)
# 记录第一次决策
第一次建议 = 投资组合链.predict(input="我的组合中有60%科技股,市场预期美联储将加息")
# 后续决策会考虑历史
第二次建议 = 投资组合链.predict(input="最新数据显示通胀降低,但失业率上升")
常见任务示例
1. 自动化投资研究
# 设计一个完整的投资研究助手
from langchain.agents import AgentExecutor, Tool
from langchain.agents import create_pandas_dataframe_agent
import pandas as pd
import yfinance as yf
# 获取股票数据
def 获取股票数据(股票代码):
try:
股票 = yf.Ticker(股票代码)
历史数据 = 股票.history(period="1y")
return pd.DataFrame(历史数据)
except Exception as e:
return f"获取数据失败: {e}"
# 创建股票数据工具
股票数据工具 = Tool(
name="股票历史数据",
func=获取股票数据,
description="获取股票的历史价格数据,输入股票代码如AAPL"
)
# 创建数据分析代理
def 创建分析代理(数据框):
return create_pandas_dataframe_agent(
llm=llm,
df=数据框,
verbose=True
)
# 投资研究流程
def 投资研究(股票代码):
# 步骤1: 获取数据
股票数据 = 获取股票数据(股票代码)
if isinstance(股票数据, str):
return 股票数据 # 返回错误信息
# 步骤2: 创建分析代理
分析代理 = 创建分析代理(股票数据)
# 步骤3: 执行分析
技术分析 = 分析代理.run(f"对{股票代码}进行技术分析,计算主要指标")
趋势分析 = 分析代理.run(f"分析{股票代码}的价格趋势和波动性")
# 步骤4: 生成投资建议
投资建议链 = LLMChain(
llm=llm,
prompt=PromptTemplate(
input_variables=["股票代码", "技术分析", "趋势分析"],
template="""
基于以下分析为{股票代码}提供投资建议:
技术分析: {技术分析}
趋势分析: {趋势分析}
投资建议:
"""
)
)
最终建议 = 投资建议链.run(
股票代码=股票代码,
技术分析=技术分析,
趋势分析=趋势分析
)
return {
"股票代码": 股票代码,
"技术分析": 技术分析,
"趋势分析": 趋势分析,
"投资建议": 最终建议
}
2. 金融新闻分析
# 创建金融新闻分析器
from langchain.document_loaders import WebBaseLoader
from langchain.indexes import VectorstoreIndexCreator
# 定义新闻源
金融新闻源 = [
"https://finance.example.com/markets",
"https://finance.example.com/stocks",
"https://finance.example.com/economy"
]
# 函数:加载和分析新闻
def 分析金融新闻(股票代码="", 主题=""):
# 加载网页内容
文档加载器 = WebBaseLoader(金融新闻源)
# 创建向量索引
索引 = VectorstoreIndexCreator().from_loaders([文档加载器])
# 构建查询
if 股票代码 and 主题:
查询 = f"{股票代码} {主题}"
elif 股票代码:
查询 = f"{股票代码} 最新消息"
elif 主题:
查询 = f"{主题} 市场影响"
else:
查询 = "今日重要金融新闻"
# 查询相关新闻
新闻结果 = 索引.query(查询)
# 提取关键信息
提取链 = LLMChain(
llm=llm,
prompt=PromptTemplate(
input_variables=["新闻内容"],
template="""
从以下金融新闻中提取关键信息:
{新闻内容}
请提供:
1. 主要事件摘要
2. 可能的市场影响
3. 相关股票或行业
"""
)
)
分析结果 = 提取链.run(新闻内容=新闻结果)
return {
"查询": 查询,
"原始新闻": 新闻结果,
"分析结果": 分析结果
}
注意事项
- 投资决策别全靠AI,它只是辅助工具
- 数据源要靠谱,垃圾进垃圾出的道理都懂
- 定期评估模型性能,市场变了模型也得跟着变
- 敏感金融数据加密存储,别把客户资料泄露了
- 遵守金融法规,不是啥建议都能给的
总结
Langchain 库是构建智能金融决策系统的强大工具,可以帮你:
- 结构化处理金融数据
- 自动化投资研究分析
- 生成个性化投资建议
- 持续优化投资组合
哎呀,终于搞定这个投资助手了!加班做完这套系统后,我相信你的投资分析效率会提高不少。不过记住,再智能的系统也只是工具,最终决策还是你自己拍板。开始用起来吧!
如何零基础入门 / 学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?
”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人」
,毕竟AI时代,谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
👉 福利来袭
优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
全套AGI大模型学习大纲+路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉 福利来袭
优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。