11 构建的第一个LangChain程序

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

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

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
# 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 的提示模板。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# prompt_template.py
from langchain.prompts import PromptTemplate

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

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

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

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

1
2
3
4
5
6
# 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)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
# 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)

总结:

  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 和分析模型,简化代码结构并提高灵活性。

11 构建的第一个LangChain程序

https://zglg.work/langchain-zero/11/

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-12-01

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论