概要
OpenAIのAPIを使用して、本のテキストを読み込みBotに回答させる
環境
googlecolab
前準備
実装
# llama-indexパッケージをインストール
pip install llama-index
# osモジュールをインポートし、OpenAI_API_KEYを環境変数に設定
import os
os.environ["OPENAI_API_KEY"] = "OpenAI_APIkeyを入力"
import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.INFO, force=True)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
# llama-indexパッケージから必要なモジュールをインポート
from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader
# 'data'ディレクトリ内のファイルを読み込み、documentsに格納
documents = SimpleDirectoryReader('data').load_data()
# GPTSimpleVectorIndexクラスにdocumentsを渡し、インデックスを作成
index = GPTSimpleVectorIndex(documents)
# 質問応答
print(index.query("どのような物語か教えて?"))
#回答
この物語は、日露戦争で絶大な武勲を立てた元兵士の杉元佐一が、病気を治療するために砂金を探しているところから始まります。しかし、砂金はすでに掘り尽くされていたため、杉元は途方に暮れていました。そんなある日、杉元は酔っ払いの男から、アイヌが八萬圓(現代の価格で八億円相当)もの金塊を貯蔵しているという噂話を耳にします。続く。。
# 質問応答
print(index.query("「脱獄王」の異名を持つのは誰?"))
#回答
「脱獄王」の異名を持つのは、白石由竹です。
あらすじのデータをもとにした回答が得られた