在当今数据驱动的世界中,决策过程往往依赖于对大量数据的分析。然而,手动分析这些数据既耗时又令人畏惧。这就是自动化发挥作用的地方。借助Langchain和Gen AI等框架,可以自动化数据分析并节省宝贵的时间。
本文将深入探讨如何使用Langchain构建自己的代理并自动化数据分析。还将向展示如何逐步创建一个内置的pandas代理的Langchain代理。
Langchain是一个用于构建大型语言模型(LLMs)应用程序的框架,如chatGPT。它提供了一种更好的管理内存、提示和创建链(一系列动作)的方式。此外,Langchain还为开发人员提供了创建代理的功能。代理是一个基于条件执行一系列动作的实体。
Langchain中有两类代理:
然而,这两个类别之间没有明确的区分,因为这一概念仍在发展中。
要使用Langchain进行数据分析,首先需要安装Langchain和openai库。可以通过下载所需的库,然后将它们导入到项目中来实现这一点。
# 安装langchain和openai库
!pip install langchain openai
# 导入库
import os
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from langchain.agents import create_pandas_dataframe_agent
from langchain.llms import OpenAI
# 设置api密钥
os.environ['OPENAI_API_KEY']="YOUR API KEY"
可以从OpenAI平台获取OpenAI API密钥。
要创建一个Langchain代理,将使用内置的pandas代理。将使用心脏病风险数据集进行此演示。此数据在线可用,并可以直接读取到pandas数据框中。以下是如何操作的:
# 导入数据
df = pd.read_csv('http://www-stat.stanford.edu/~tibs/ElemStatLearn/datasets/SAheart.data')
# 初始化代理
agent = create_pandas_dataframe_agent(OpenAI(temperature=0),
df, verbose=True)
openai = OpenAI(temperature=0.0)
Openai.model_name # 这将打印正在使用的模型,
# 默认情况下它使用‘text-davinci-003’
温度参数用于调整模型的创造力。当它设置为0时,模型最不可能产生幻觉。保持verbose=True。它将在执行过程中打印所有中间步骤。
# 让检查数据的形状。
agent("数据集的形状是什么?")
# 识别缺失值
agent("每列有多少缺失值?")
# 让看看数据是什么样子
agent("以表格形式显示5条记录。")