郭震 AI公众号:郭震AI

11 构建的第一个LangChain程序

发布日期:

最近更新:

分类: LangChain从零教程

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点7 个
图文要点6 张
正文规模1.3k 字
第一个程序先跑通闭环流程图查看大图
第一个程序先跑通闭环流程图

第一个 LangChain 程序不要急着接股票、数据库和复杂 API。先做一个固定输入到固定输出的小闭环,确认环境和链路都正常。

第一个程序先跑通闭环核对图查看大图
第一个程序先跑通闭环核对图

我会用一个最小例子开始:把一段文本总结成三条要点。这个任务容易检查,也能验证 prompt、model、parser 三步是否连上。

在上一篇中,我们探讨了LangChain的基本语法和结构,了解了如何定义代码块、使用变量和控制流等基本概念。在这一篇中,我们将通过一个实际的实例来构建你的第一个LangChain程序,并展示如何运行它。

通过这个例子,你可以了解如何使用 LangChain 构建的应用程序。

LangChain案例之A股股票实时交易助手

在这个例子中,我们将构建一个A股股票实时交易数据分析助手应用,它包含以下特性:

LangChain教程第一个案例查看大图
LangChain教程第一个案例
  1. 多步骤链:首先是 1) 数据预处理,2) 生成提示,3) 调用外部 API,4) 后处理。
  2. 外部数据集成:模拟从外部 API 或数据库中获取信息,并在处理过程中使用。
  3. 条件逻辑:根据用户输入动态调整助手的行为。

1) 获取A股股票数据 (stock_data.py)

首先,通过 Tushare 或其他 API 获取实时股票交易数据,输入参数包括 ts_codesrc(数据源,默认 sina 或 dc)。

A股交易数据获取,可以通过Tushare,API注册入口地址如下:

https://tushare.pro/register?reg=712458

注册成功后,看到你专属的接口Token:

A股交易数据接口token查看大图
A股交易数据接口token

这个模块专门负责从 Tushare 获取股票数据。

pip安装tushare包,然后按照下面方法获取某只股票数据:

# stock_data.py
import tushare as ts

# 设置 Tushare token
ts.set_token('你的token')

# 获取实时股票数据的函数
def fetch_stock_data(ts_code, src='sina'):
    stock_data = ts.realtime_tick(ts_code=ts_code, src=src)
    formatted_data = "\n".join([f"{row['TIME']} {row['PRICE']} {row['CHANGE']} {row['VOLUME']} {row['AMOUNT']} {row['TYPE']}" for row in stock_data])
    return formatted_data

2 生成提示模板 (prompt_template.py)

这个模块负责定义 LangChain 的提示模板。


# prompt_template.py
from langchain.prompts import PromptTemplate

# 定义 LangChain 的 PromptTemplate
prompt_template = """
请分析以下股票实时成交数据,提供价格变动、成交量等关键指标的变化趋势:
{data}

输出分析结果,包括:
- 交易时间
- 当前价格及变化
- 成交量及成交金额
- 类型(买盘/卖盘/中性)
"""

3. 模块 3:OpenAI 语言模型 (openai_llm.py)

这个模块负责创建 OpenAI 的 LLM 实例。

# openai_llm.py
from langchain.llms import OpenAI

# 创建 OpenAI LLM 实例,并设置温度为 0.5
def create_openai_llm(api_key):
    return OpenAI(temperature=0.5, api_key=api_key)

4. 数据分析链 (data_analysis_chain.py)

这个模块将所有其他模块结合起来,运行整个数据分析流程。

# data_analysis_chain.py
from langchain.chains import SimpleChain
from stock_data import fetch_stock_data
from prompt_template import prompt_template
from openai_llm import create_openai_llm

# 创建 SimpleChain 并将 LLM 和提示模板传入
def create_analysis_chain(api_key):
    llm = create_openai_llm(api_key)
    simple_chain = SimpleChain(llm=llm, prompt=prompt_template)
    return simple_chain

# 执行股票数据分析
def run_analysis(stock_code, api_key):
    # 获取股票数据
    stock_data = fetch_stock_data(stock_code)
    
    # 创建分析链并运行
    simple_chain = create_analysis_chain(api_key)
    return simple_chain.run(data=stock_data)

5. 主程序 (main.py)

最后,在主程序中调用所有模块来执行完整的工作流。

# main.py
from data_analysis_chain import run_analysis

# 设置 Tushare 和 OpenAI API 密钥
stock_code = '600000.SH'  # 示例股票代码
api_key = '你的API密钥'    # OpenAI API 密钥

# 执行分析并获取结果
response = run_analysis(stock_code, api_key)

# 打印分析结果
print("实时成交数据分析:")
print(response)
构建的第一个LangChain程序应用复盘卡查看大图
构建的第一个LangChain程序应用复盘卡

如果《构建的第一个LangChain程序》还没完全消化,可以从这张卡片的四个动作重新走一遍。

构建的第一个LangChain程序应用检查卡查看大图
构建的第一个LangChain程序应用检查卡

回看《构建的第一个LangChain程序》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

总结:

  1. stock_data.py:负责获取实时股票数据。
  2. prompt_template.py:定义 LangChain 的提示模板。
  3. openai_llm.py:创建和返回带有温度设置的 OpenAI 实例。
  4. data_analysis_chain.py:组合各个模块,创建分析链,并执行数据分析。
  5. main.py:主程序,调用 data_analysis_chain.py 中的函数来执行整个流程。

使用 LangChain 可以帮助你更高效地集成外部 API 和分析模型,简化代码结构并提高灵活性。

相关教程

相关入口

AI 教程总索引

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

相关内容

相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...