🔎
[AI・機械学習] GPT Indexを体験してきたので感想やかかった費用を書いていく
GPT Indexとは
GPT Indexは、LLMを使用して作成されたデータ構造のセットから成り立っているものです。このLLMを使用してトラバースすることでクエリに答えることができます。
私が所信表明データを学習させ質問したところ以下のようなやりとりが出来ました。
index.query("<構造改革を主張した人物>?")
# response='\n小泉内閣'
人物ではないですがどの情報か的確に判断しています.
使い方
working dirにdata/
を作成してください. その中に適当な文章データを入れます. データの区切りがわかるようにすると精度が良くなったのでデータを加工して以下のようなものを作成しています.
1968年 佐藤栄作の首相表明は以下です
六十回臨時国会が開かれるにあたり、所信の一端を申し述べたいと思います。 世界は、いま多くの分野で転換期を迎えていますが、特にわが国は、社会構造の急激な変化に伴って、大学問題をはじめ、数々の困難な問題に直面しております。 ... 明治改元百年の意義ある年を終え、激動する次の百年を迎えるに際し、私は、当面する内外の難局に処して、国民諸君とともに、自由と平和に輝く繁栄の世紀をわが国にもたらすべく、全力を傾倒することを誓うものであります。 国民諸君の理解と協力をお願いいたします
1968年 佐藤栄作の首相表明は以上です
1994年 羽田孜の首相表明は以下です
このたび、私は、内閣総理大臣に任命されました。 内外に困難な課題を抱える今日、心を引き締め、全力で取り組んでまいります。... 改めて、国民の皆様及び議員各位の御理解と御協力を心からお願い申し上げまして、所信といたします
1994年 羽田孜の首相表明は以上です
冗長になりそうなので割愛しますが, 前処理では以下の処理をしています.
-
\u3000
の文字を削除 -
。
の文字の次に空白を代入 - 文章の上下に西暦と誰の首相表明かの情報を付与
作るのがめんどくさい人は以下のURLから取得して下さい. なお, 公開は予告なく終了する場合があります. 公開用ページ
作成が出来たら以下のコードを走らせます.
import os
os.environ["OPENAI_API_KEY"] = "YOUR API KEY"
pathが通っていれば以下が動きます.
from gpt_index import GPTSimpleVectorIndex, SimpleDirectoryReader, Document
documents = SimpleDirectoryReader('data').load_data()
index = GPTSimpleVectorIndex(documents)
index.save_to_disk('shusho.json')
### OUTPUT
# > Adding chunk: 1968年 佐藤栄作の首相表明は以下です
六十回臨時国会が開かれるにあたり、所信の一端を申...
# > Adding chunk: 国民諸君の理解と協力をお願いいたします
1968年 佐藤栄作の首相表明は以上です
# ...
保存できたので, 呼び出してみます. 一度保存すれば次回からは学習する必要は無いようです.
index = GPTSimpleVectorIndex.load_from_disk('shusho.json')
index.query("<構造改革を主張した人物>?")
### OUTPUT
# > [query] Total LLM token usage: 3739 tokens
# > [query] Total embedding token usage: 24 tokens
# Response(response='\n小泉内閣', source_nodes= [SourceNode(source_text='これらの提言は、地球的規模での競争時代にふさわしい、自立型の経済をつくることで幅広い意見の一致を見ており、私がかねてから主張してきた、構造改革なくして景気回復はないという考えと軌を一にするものであります。 処方せんは既に示されています。
値段
5$位かかりましたが, これより安くなることもあるようです.
まとめ
休日が溶けましたがやってみた価値はあったと思います.
- 上手く使えば実用できる可能性がある
- 実装はとても簡単 (形態素解析が不要)
- お金もそこそこかかる
参考文献
Webについては執筆時点の最終更新日時を記載していることをご了承ください.
jerryjilu."GPT Index".2023年1月15日
Discussion