from dotenv import load_dotenv
from langchain_openai import OpenAI
from langchain_community.document_loaders.csv_loader import CSVLoader
import os
load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
os.environ["HUGGINGFACEHUB_API_TOKEN"] = os.getenv("HUGGINGFACEHUB_API_TOKEN")
os.environ["SERPAPI_API_KEY"] = os.getenv("SERPAPI_API_KEY")
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
filepath = "csv/mitarbeiter.csv"
loader = CSVLoader(filepath)
data = loader.load()
print(data)

llm = OpenAI(temperature=0)

from langchain_experimental.agents import create_csv_agent
agent = create_csv_agent(llm, filepath, verbose=True)
agent.invoke("Wieviele Nutzer hat die CSV-Datei?")
agent.invoke("Liste bitte die ersten 4 Nutzer auf")
agent.invoke("Liste alle Nutzer mit Vorname und nachname auf, die als Standort London haben")
agent.invoke("Wieviele verschiedene Standorte gibt es?")
agent.invoke("mary Jenkins und Craig Johnson haben geheiratet. Ändere daher den Nachnamen von Mary in der CSV-Datei um auf Johnson") # klappt nur im Dataframe. Die CSV wird aber nicht geändert.