PandasAI
Chat with your database (SQL, CSV, pandas, polars, mongodb, noSQL, etc). PandasAI makes data analysis conversational using LLMs (GPT 3.5 / 4, Anthropic, VertexAI) and RAG.
Pandas AI is a Python library that integrates generative artificial intelligence capabilities into Pandas, making dataframes conversational
Pandas에 생성형 AI를 도입
Install
requirements.txt 파일:
Numpy 버전 문제가 발생하면 Numpy 버전을 1.xx 로 유지해야 한다.
constraints.txt 파일을 사용하자:
OpenAI example
PandasAI 을 사용한 방법
WARNING |
옛날 버전이다. 최신 방법은 #SmartDataframe를 사용해야 한다. |
import pandas as pd
import numpy as np
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
df = pd.DataFrame({
"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
"gdp": [21400000, 2940000, 2830000, 3870000, 2160000, 1350000, 1780000, 1320000, 516000, 14000000],
"happiness_index": [7.3, 7.2, 6.5, 7.0, 6.0, 6.3, 7.3, 7.3, 5.9, 5.0]
})
OPENAI_API_KEY = "여러분들이 생성한 OpenAI API Key"
llm = OpenAI(api_token=OPENAI_API_KEY)
pandas_ai = PandasAI(llm, verbose=True)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')
SmartDataframe 을 사용한 방법
from pandasai import SmartDataframe
from pandasai.llm import OpenAI
llm = OpenAI() # no need to pass the API key, it will be read from the environment variable
pandas_ai = SmartDataframe("data.csv", config={"llm": llm})
SmartDataframe
The SmartDataframe class is the main class of pandasai. It is used to interact with a single dataframe. Below is simple example to get started with pandasai.
import os
import pandas as pd
from pandasai import SmartDataframe
# Sample DataFrame
sales_by_country = pd.DataFrame({
"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
"sales": [5000, 3200, 2900, 4100, 2300, 2100, 2500, 2600, 4500, 7000]
})
# By default, unless you choose a different LLM, it will use BambooLLM.
# You can get your free API key signing up at https://pandabi.ai (you can also configure it in your .env file)
os.environ["PANDASAI_API_KEY"] = "YOUR_API_KEY"
df = SmartDataframe(sales_by_country)
df.chat('Which are the top 5 countries by sales?')
# Output: China, United States, Japan, Germany, Australia
Large language models (LLMs)
PandasAI는 여러 LLM(대형 언어 모델)을 지원합니다. LLM은 자연어 쿼리에서 코드를 생성하는 데 사용됩니다. 그런 다음 생성된 코드가 실행되어 결과가 생성됩니다.
LangChain models
PandasAI has also built-in support for LangChain models.
In order to use LangChain models, you need to install the langchain package:
Once you have installed the langchain package, you can use it to instantiate a LangChain object:
from pandasai import SmartDataframe
from langchain_openai import OpenAI
langchain_llm = OpenAI(openai_api_key="my-openai-api-key")
df = SmartDataframe("data.csv", config={"llm": langchain_llm})
PandasAI는 LangChain LLM을 사용하고 있음을 자동으로 감지하고 이를 PandasAI LLM으로 변환합니다.