V následujícím návodu vám ukážu, jak si udělat chatbota, který je napojený na vaše vlastní data v souboru csv. Můžete se tak dotazovat na rozsáhlé soubory, které mají tisíce řádek a mnoho různých informací. Ideální po analytiky, kteří potřebují pracovat s big daty.
Tento kód budeme spouštět lokálně pomocí terminálu a aplikace Streamlit, která nám zajistí základní uživatelské rozhraní.
Návod
Nejprve si nainstalujeme potřebné knihovny.
pip install streamlit
pip install pandasai
pip install python-dotenv
Do souboru .env si uložíme API key:
OPENAI_API_KEY=Váš-klíč
V následujícím kódu uděláme:
- Importujeme knihovny.
- Načteme API klíč.
- Nahrajeme csv soubor.
- Zobrazíme výsledek.
Kód
Pokud chcete kód spustit jednoduše, stačí zkopírovat repozitář na Github:
git clone https://github.com/AIAnytime/ChatCSV-Streamlit-App.git
Otevřít soubor:
cd ChatCSV-Streamlit-App
Nainstalovat knihovny:
pip install -r requirements.txt
Spustit aplikaci Streamlit:
streamlit run app.py
Nezapomeňte nastavit soubor env, vložit tabulku do souboru a nastavit váš vlastní API klíč.
Konverzace
Zobrazí se nám uživatelské rozhraní, kde můžeme vložit náš csv soubor.
Pro účely tohoto příkladu jsem použil vlastní dataset, který jsem získal z české wikipedie a následně očistil a upravil do potřebného formátu. Dataset má necelých 10 000 řádků.
Položíme dotaz na naše data a chvíli počkáme na načtení odpovědi. Můžeme použít pro hledání dle názvu, ale i složitější dotaz dle textu.
Co je hadí ostrov?
Najdi českého baseballistu.
Skupinu, kterou založil Norman Blake. Stručně.
Odpovědi jsou správně.
Nicméně tato aplikace funguje spíše jako zbytečně drahý vyhledávač dle klíčových slov. Potřebovali bychom, aby obsah i tvořila. Ale o tom zase v příštím článku, kde se zaměřím na komplexnější práci s csv soubory a následnou tvorbu obsahu.