🦙

OpenAI API とLlama_indexでGoogle Sheet のデータに紐づくボットを作成する

2023/04/01に公開

OpenAI API とLlama_indexでGoogle Sheet のデータに紐づくボットを作成する

Google Sheetに保存されている様々なデータを皆さんお持ちだと思います。
私も公私ともに様々なデータをもっています。

今回はGoogle SheetのデータについてOpenAI ChatGPT APIで覚えてもらい
それをbotとして利用することを試してみました。

llama_indexについて

Llama_indexはChatGPT等のLLM:Large Language Modelと既存のデータセットの橋渡しをするといったもののようでした。

https://github.com/jerryjliu/llama_index

橋渡しをするしくみはいろいろと開発されていて、それらは下記で見つけることができます。

https://llamahub.ai/

私が試したときはllama_indexにまだ今回利用したGoogleSheetsReaderは存在していなかったので
突貫でシートの内容をTSVに変換するようにつくったものをpull requestすることからはじめました

https://github.com/jerryjliu/llama_index/pull/994

すぐにマージしていただきllamahubの方のdocumentも作成していただきました(ありがとうございます)

コード例

以下のレポジトリにコード例をおいています

https://github.com/piroz/try-llama-index-spreadsheet

今回は下記のシートに対してllama_indexでbotを作成するようにしてみています

https://docs.google.com/spreadsheets/d/1NM7l4LyisJQ4lx7kQZBqs9us4faDBeseSJDVKuzszlU/edit?usp=drive_web&ouid=101461429350088412405

実行してみると以下のような感じに

聞きたいことを教えてください。
>>>家はどこですか ?

家は海の中にあります。

聞きたいことを教えてください。
>>>昨年末はどうしていました?

昨年末は海外旅行をしました。

聞きたいことを教えてください。
>>>朝食はたべましたか?

はい、朝食をたべました。

聞きたいことを教えてください。
>>>何をたべました?

チキン南蛮でした。

それっぽくできていそうでした。

課題

今回のケースではスプレッドシートのデータを工夫しています。
なので全てのケースでスプレッドシートのindex化をうまくできない課題があり
そのあたりをGoogleSheetsReaderの実装を工夫してみたいなと思っております。

どのように工夫したらよいかのヒントをもしご存知でしたら教えてほしいです。

※llama_indexとapiの使い方については下記の記事を参考にさせていただきました、ありがとうございました。
https://zenn.dev/fusic/articles/try-llamaindex

Discussion