LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent

 

LangChain是大型语言模型(LLM)的应用框架,LangChain可以直接与 OpenAI 的 text-davinci-003、gpt-3.5-turbo 模型以及 Hugging Face 的各种开源语言模如 Google 的 flan-t5等模型集成。通过使用LangChain可以开发出更为强大和高效的LLM的各种应用。

今天我们就来实现一个神奇的功能,如何你是一个不会编程的小白,那么只要你借助LangChain和ChatGPT,你也能成为一个优秀的数据分析师和预测专家。
我们要实现的功能是,让LangChain集成Openai的语言模型如”text-davinci-003″,然后创建一个代理(agent),最后我们通过语言指令,一步一步让agent完成数据的统计分析以及时间序列的预测,正个过程而无需python代码。

查看苹果公司的股票数据

我们从雅虎网站上下载了苹果公司的股票价格数据,数据中的ds为日期,Close为当日的收盘价

import pandas as pd
import datetime
import os

#加载苹果公司的股票数据
df = pd.read_csv('./data/appl.csv')
df

定义Openai语言模型LLM,和代理agent 

这里我们要定义一个openai的语言模型”text-davinci-003″的实例,然后再创建一个代理(agent)。代理就是帮我们做事情的小助手,我们只需要对其发号施令就可以了。

from langchain.agents import create_csv_agent
from langchain.llms import OpenAI,OpenAIChat

#你申请的openai的api_key
os.environ["OPENAI_API_KEY"] = "xxxxxxxxxx"

#定义openai的语言模型llm
llm=OpenAI(model_name="text-davinci-003",temperature=0)
#创建一个csv代理
agent = create_csv_agent(llm=llm,#语言模型
                         path = './data/appl.csv', #数据路径
                         verbose=False)

使用语言指令来进行数据分析

我们可以通过agent.run方法,来输入语言指令,agent就会根据语言指令做相关的操作,并将最终结果展示出来:

 

 

#调整横坐标格式,让其更加美观
agent.run('请画一下数据的趋势图,横坐标为ds,横坐标的label旋转30度')

action = '请画一下数据的趋势图,并在趋势图上叠加一个30天移动平均线,\
横坐标为ds,横坐标的label旋转30度'

agent.run(action)

 

 详细查看agent的执行过程

如果你想查看agent的执行过程的细节,那只需要在创建agent时,将verbose参数设置为True,即可。

agent = create_csv_agent(llm=OpenAI(temperature=0),
                         path='./data/appl.csv', 
                         verbose=True)

agent.run('数据一共有多少行?')

  

action='请画一下数据的趋势图,并在趋势图上叠加一个30天移动平均线,\
横坐标为ds,横坐标的label旋转30度'

agent.run(action)

 

action='请用prophet包预测一下未来7天每一天的Close值,\
不是fbprophet,并注明每一天的日期'

agent.run(action)

 

 总结

今天我们学习了LangChain的agent功能,它可以通过语言指令的方式执行各种数据分析、汇总、统计以及预测等功能,如果你是一个不会编程的小白,那可以尝试一下agent。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年6月8日
下一篇 2023年6月8日

相关推荐