LlamaIndexをハイスペックPC不要、無課金で試す(revChatGPTを利用)


# はじめに

acheong08/ChatGPTを利用したLlamaIndexのCustomLLMの実装
ハイスペックPC不要、無課金でLlamaIndexが楽しめます

ソースコードは下記
[revChatGPT_LlamaIndex_LLM](https://github.com/HawkClaws/revChatGPT_LlamaIndex_LLM)

## LlamaIndexとは

LLM(GPT等)で独自のデータに対して質問できるようにすることができるフレームワークです

下記記事がわかりやすかったです
[LlamaIndex : ChatGPTで独自のデータに対して質問するためのフレームワーク](https://medium.com/axinc/llamaindex-chatgpt%E3%81%A7%E7%8B%AC%E8%87%AA%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E8%B3%AA%E5%95%8F%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF-4f87c82f2f92)

## 実装までに至った経緯

1. AI系の記事を漁ってたらLlamaIndexを発見した。面白そうやん！ファインチューニングしなくても独自データから回答してくれるのか！
2. OpenAIのAPIが必要　無料クレジットはExpiredしてるし、お金ないから課金したくないなあ
3. `ELYZA-japanese-Llama-2-7b`が公開されたし、これ使えばいいんじゃね？
4. 実装した。[ELYZA-japanese-Llama-2-7b_LlamaIndex_with_modal](https://github.com/HawkClaws/ELYZA-japanese-Llama-2-7b_LlamaIndex_with_modal)
5. 常時起動しておくと、クレジットがゴリゴリ持っていかれるし、随時起動するとモデルロードに５分とかかかるし、うーん。。。
6. LLMクラスを自分で作ればいいんじゃね？無料の`acheong08/ChatGPT`を使えば最強じゃん！
6. LLMクラスの作り方がわからないので、LlamaIndexのディスコに聞いたら、[example-using-a-custom-llm-model-advanced](https://gpt-index.readthedocs.io/en/latest/core_modules/model_modules/llms/usage_custom.html#example-using-a-custom-llm-model-advanced)を参考に！と言われた。
7. 実装した。[revChatGPT_LlamaIndex_LLM](https://github.com/HawkClaws/revChatGPT_LlamaIndex_LLM)
8. 副産物として、ChatGPTの履歴を見られるので、`LlamaIndex`の動きがめっちゃ分かりやすい。（別記事公開予定）


# 実行方法/結果

## 実行方法
実行方法は下記リポジトリに記載してあるので、参照してください
[revChatGPT_LlamaIndex_LLM](https://github.com/HawkClaws/revChatGPT_LlamaIndex_LLM)

## 実行結果

### 投入した独自データ（青空文庫の坊っちゃんの１章）

```
坊っちゃん
夏目漱石

一

　親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。なぜそんな無闇をしたと聞く人があるかも知れぬ。別段深い理由でもない。新築の二階から首を出していたら、同級生の一人が冗談に、いくら威張っても、そこから飛び降りる事は出来まい。弱虫やーい。と囃したからである。小使に負ぶさって帰って来た時、おやじが大きな眼をして二階ぐらいから飛び降りて腰を抜かす奴があるかと云ったから、この次は抜かさずに飛んで見せますと答えた。
　親類のものから西洋製のナイフを貰って奇麗な刃を日に翳して、友達に見せていたら、一人が光る事は光るが切れそうもないと云った。切れぬ事があるか、何でも切ってみせると受け合った。そんなら君の指を切ってみろと注文したから、何だ指ぐらいこの通りだと右の手の親指の甲をはすに切り込んだ。幸ナイフが小さいのと、親指の骨が堅かったので、今だに親指は手に付いている。しかし創痕は死ぬまで消えぬ。
　庭を東へ二十歩に行き尽すと、南上がりにいささかばかりの菜園があって、真中に栗の木が一本立っている。これは命より大事な栗だ。実の熟する時分は起き抜けに背戸を出て落ちた奴を拾ってきて、学校で食う。菜園の西側が山城屋という質屋の庭続きで、この質屋に勘太郎という十三四の倅が居た。勘太郎は無論弱虫である。弱虫の癖に四つ目垣を乗りこえて、栗を盗みにくる。ある日の夕方折戸の蔭に隠れて、とうとう勘太郎を捕まえてやった。その時勘太郎は逃げ路を失って、一生懸命に飛びかかってきた。向うは二つばかり年上である。弱虫だが力は強い。鉢の開いた頭を、こっちの胸へ宛ててぐいぐい押した拍子に、勘太郎の頭がすべって、おれの袷の袖の中にはいった。邪魔になって手が使えぬから、無暗に手を振ったら、袖の中にある勘太郎の頭が、右左へぐらぐら靡いた。しまいに苦しがって袖の中から、おれの二の腕へ食い付いた。痛かったから勘太郎を垣根へ押しつけておいて、足搦をかけて向うへ倒してやった。山城屋の地面は菜園より六尺がた低い。勘太郎は四つ目垣を半分崩して、自分の領分へ真逆様に落ちて、ぐうと云った。勘太郎が落ちるときに、おれの袷の片袖がもげて、急に手が自由になった。その晩母が山城屋に詫びに行ったついでに袷の片袖も取り返して来た。
　この外いたずらは大分やった。大工の兼公と肴屋の角をつれて、茂作の人参畠をあらした事がある。人参の芽が出揃わぬ処へ藁が一面に敷いてあったから、その上で三人が半日相撲をとりつづけに取ったら、人参がみんな踏みつぶされてしまった。古川の持っている田圃の井戸を埋めて尻を持ち込まれた事もある。太い孟宗の節を抜いて、深く埋めた中から水が湧き出て、そこいらの稲にみずがかかる仕掛であった。その時分はどんな仕掛か知らぬから、石や棒ちぎれをぎゅうぎゅう井戸の中へ挿し込んで、水が出なくなったのを見届けて、うちへ帰って飯を食っていたら、古川が真赤になって怒鳴り込んで来た。たしか罰金を出して済んだようである。
　おやじはちっともおれを可愛がってくれなかった。母は兄ばかり贔屓にしていた。この兄はやに色が白くって、芝居の真似をして女形になるのが好きだった。おれを見る度にこいつはどうせ碌なものにはならないと、おやじが云った。乱暴で乱暴で行く先が案じられると母が云った。なるほど碌なものにはならない。ご覧の通りの始末である。行く先が案じられたのも無理はない。ただ懲役に行かないで生きているばかりである。
　母が病気で死ぬ二三日前台所で宙返りをしてへっついの角で肋骨を撲って大いに痛かった。母が大層怒って、お前のようなものの顔は見たくないと云うから、親類へ泊りに行っていた。するととうとう死んだと云う報知が来た。そう早く死ぬとは思わなかった。そんな大病なら、もう少し大人しくすればよかったと思って帰って来た。そうしたら例の兄がおれを親不孝だ、おれのために、おっかさんが早く死んだんだと云った。口惜しかったから、兄の横っ面を張って大変叱られた。
　母が死んでからは、おやじと兄と三人で暮していた。おやじは何にもせぬ男で、人の顔さえ見れば貴様は駄目だ駄目だと口癖のように云っていた。何が駄目なんだか今に分らない。妙なおやじがあったもんだ。兄は実業家になるとか云ってしきりに英語を勉強していた。元来女のような性分で、ずるいから、仲がよくなかった。十日に一遍ぐらいの割で喧嘩をしていた。ある時将棋をさしたら卑怯な待駒をして、人が困ると嬉しそうに冷やかした。あんまり腹が立ったから、手に在った飛車を眉間へ擲きつけてやった。眉間が割れて少々血が出た。兄がおやじに言付けた。おやじがおれを勘当すると言い出した。
　その時はもう仕方がないと観念して先方の云う通り勘当されるつもりでいたら、十年来召し使っている清という下女が、泣きながらおやじに詫まって、ようやくおやじの怒りが解けた。それにもかかわらずあまりおやじを怖いとは思わなかった。かえってこの清と云う下女に気の毒であった。この下女はもと由緒のあるものだったそうだが、瓦解のときに零落して、つい奉公までするようになったのだと聞いている。だから婆さんである。この婆さんがどういう因縁か、おれを非常に可愛がってくれた。不思議なものである。母も死ぬ三日前に愛想をつかした――おやじも年中持て余している――町内では乱暴者の悪太郎と爪弾きをする――このおれを無暗に珍重してくれた。おれは到底人に好かれる性でないとあきらめていたから、他人から木の端のように取り扱われるのは何とも思わない、かえってこの清のようにちやほやしてくれるのを不審に考えた。清は時々台所で人の居ない時に「あなたは真っ直でよいご気性だ」と賞める事が時々あった。しかしおれには清の云う意味が分からなかった。好い気性なら清以外のものも、もう少し善くしてくれるだろうと思った。清がこんな事を云う度におれはお世辞は嫌いだと答えるのが常であった。すると婆さんはそれだから好いご気性ですと云っては、嬉しそうにおれの顔を眺めている。自分の力でおれを製造して誇ってるように見える。少々気味がわるかった。
　母が死んでから清はいよいよおれを可愛がった。時々は小供心になぜあんなに可愛がるのかと不審に思った。つまらない、廃せばいいのにと思った。気の毒だと思った。それでも清は可愛がる。折々は自分の小遣いで金鍔や紅梅焼を買ってくれる。寒い夜などはひそかに蕎麦粉を仕入れておいて、いつの間にか寝ている枕元へ蕎麦湯を持って来てくれる。時には鍋焼饂飩さえ買ってくれた。ただ食い物ばかりではない。靴足袋ももらった。鉛筆も貰った、帳面も貰った。これはずっと後の事であるが金を三円ばかり貸してくれた事さえある。何も貸せと云った訳ではない。向うで部屋へ持って来てお小遣いがなくてお困りでしょう、お使いなさいと云ってくれたんだ。おれは無論入らないと云ったが、是非使えと云うから、借りておいた。実は大変嬉しかった。その三円を蝦蟇口へ入れて、懐へ入れたなり便所へ行ったら、すぽりと後架の中へ落してしまった。仕方がないから、のそのそ出てきて実はこれこれだと清に話したところが、清は早速竹の棒を捜して来て、取って上げますと云った。しばらくすると井戸端でざあざあ音がするから、出てみたら竹の先へ蝦蟇口の紐を引き懸けたのを水で洗っていた。それから口をあけて壱円札を改めたら茶色になって模様が消えかかっていた。清は火鉢で乾かして、これでいいでしょうと出した。ちょっとかいでみて臭いやと云ったら、それじゃお出しなさい、取り換えて来て上げますからと、どこでどう胡魔化したか札の代りに銀貨を三円持って来た。この三円は何に使ったか忘れてしまった。今に返すよと云ったぎり、返さない。今となっては十倍にして返してやりたくても返せない。
　清が物をくれる時には必ずおやじも兄も居ない時に限る。おれは何が嫌いだと云って人に隠れて自分だけ得をするほど嫌いな事はない。兄とは無論仲がよくないけれども、兄に隠して清から菓子や色鉛筆を貰いたくはない。なぜ、おれ一人にくれて、兄さんには遣らないのかと清に聞く事がある。すると清は澄したものでお兄様はお父様が買ってお上げなさるから構いませんと云う。これは不公平である。おやじは頑固だけれども、そんな依怙贔負はせぬ男だ。しかし清の眼から見るとそう見えるのだろう。全く愛に溺れていたに違いない。元は身分のあるものでも教育のない婆さんだから仕方がない。単にこればかりではない。贔負目は恐ろしいものだ。清はおれをもって将来立身出世して立派なものになると思い込んでいた。その癖勉強をする兄は色ばかり白くって、とても役には立たないと一人できめてしまった。こんな婆さんに逢っては叶わない。自分の好きなものは必ずえらい人物になって、嫌いなひとはきっと落ち振れるものと信じている。おれはその時から別段何になると云う了見もなかった。しかし清がなるなると云うものだから、やっぱり何かに成れるんだろうと思っていた。今から考えると馬鹿馬鹿しい。ある時などは清にどんなものになるだろうと聞いてみた事がある。ところが清にも別段の考えもなかったようだ。ただ手車へ乗って、立派な玄関のある家をこしらえるに相違ないと云った。
　それから清はおれがうちでも持って独立したら、一所になる気でいた。どうか置いて下さいと何遍も繰り返して頼んだ。おれも何だかうちが持てるような気がして、うん置いてやると返事だけはしておいた。ところがこの女はなかなか想像の強い女で、あなたはどこがお好き、麹町ですか麻布ですか、お庭へぶらんこをおこしらえ遊ばせ、西洋間は一つでたくさんですなどと勝手な計画を独りで並べていた。その時は家なんか欲しくも何ともなかった。西洋館も日本建も全く不用であったから、そんなものは欲しくないと、いつでも清に答えた。すると、あなたは欲がすくなくって、心が奇麗だと云ってまた賞めた。清は何と云っても賞めてくれる。
　母が死んでから五六年の間はこの状態で暮していた。おやじには叱られる。兄とは喧嘩をする。清には菓子を貰う、時々賞められる。別に望みもない。これでたくさんだと思っていた。ほかの小供も一概にこんなものだろうと思っていた。ただ清が何かにつけて、あなたはお可哀想だ、不仕合だと無暗に云うものだから、それじゃ可哀想で不仕合せなんだろうと思った。その外に苦になる事は少しもなかった。ただおやじが小遣いをくれないには閉口した。
　母が死んでから六年目の正月におやじも卒中で亡くなった。その年の四月におれはある私立の中学校を卒業する。六月に兄は商業学校を卒業した。兄は何とか会社の九州の支店に口があって行かなければならん。おれは東京でまだ学問をしなければならない。兄は家を売って財産を片付けて任地へ出立すると云い出した。おれはどうでもするがよかろうと返事をした。どうせ兄の厄介になる気はない。世話をしてくれるにしたところで、喧嘩をするから、向うでも何とか云い出すに極っている。なまじい保護を受ければこそ、こんな兄に頭を下げなければならない。牛乳配達をしても食ってられると覚悟をした。兄はそれから道具屋を呼んで来て、先祖代々の瓦落多を二束三文に売った。家屋敷はある人の周旋である金満家に譲った。この方は大分金になったようだが、詳しい事は一向知らぬ。おれは一ヶ月以前から、しばらく前途の方向のつくまで神田の小川町へ下宿していた。清は十何年居たうちが人手に渡るのを大いに残念がったが、自分のものでないから、仕様がなかった。あなたがもう少し年をとっていらっしゃれば、ここがご相続が出来ますものをとしきりに口説いていた。もう少し年をとって相続が出来るものなら、今でも相続が出来るはずだ。婆さんは何も知らないから年さえ取れば兄の家がもらえると信じている。
　兄とおれはかように分れたが、困ったのは清の行く先である。兄は無論連れて行ける身分でなし、清も兄の尻にくっ付いて九州下りまで出掛ける気は毛頭なし、と云ってこの時のおれは四畳半の安下宿に籠って、それすらもいざとなれば直ちに引き払わねばならぬ始末だ。どうする事も出来ん。清に聞いてみた。どこかへ奉公でもする気かねと云ったらあなたがおうちを持って、奥さまをお貰いになるまでは、仕方がないから、甥の厄介になりましょうとようやく決心した返事をした。この甥は裁判所の書記でまず今日には差支えなく暮していたから、今までも清に来るなら来いと二三度勧めたのだが、清はたとい下女奉公はしても年来住み馴れた家の方がいいと云って応じなかった。しかし今の場合知らぬ屋敷へ奉公易えをして入らぬ気兼を仕直すより、甥の厄介になる方がましだと思ったのだろう。それにしても早くうちを持ての、妻を貰えの、来て世話をするのと云う。親身の甥よりも他人のおれの方が好きなのだろう。
　九州へ立つ二日前兄が下宿へ来て金を六百円出してこれを資本にして商買をするなり、学資にして勉強をするなり、どうでも随意に使うがいい、その代りあとは構わないと云った。兄にしては感心なやり方だ、何の六百円ぐらい貰わんでも困りはせんと思ったが、例に似ぬ淡泊な処置が気に入ったから、礼を云って貰っておいた。兄はそれから五十円出してこれをついでに清に渡してくれと云ったから、異議なく引き受けた。二日立って新橋の停車場で分れたぎり兄にはその後一遍も逢わない。
　おれは六百円の使用法について寝ながら考えた。商買をしたって面倒くさくって旨く出来るものじゃなし、ことに六百円の金で商買らしい商買がやれる訳でもなかろう。よしやれるとしても、今のようじゃ人の前へ出て教育を受けたと威張れないからつまり損になるばかりだ。資本などはどうでもいいから、これを学資にして勉強してやろう。六百円を三に割って一年に二百円ずつ使えば三年間は勉強が出来る。三年間一生懸命にやれば何か出来る。それからどこの学校へはいろうと考えたが、学問は生来どれもこれも好きでない。ことに語学とか文学とか云うものは真平ご免だ。新体詩などと来ては二十行あるうちで一行も分らない。どうせ嫌いなものなら何をやっても同じ事だと思ったが、幸い物理学校の前を通り掛ったら生徒募集の広告が出ていたから、何も縁だと思って規則書をもらってすぐ入学の手続きをしてしまった。今考えるとこれも親譲りの無鉄砲から起った失策だ。
　三年間まあ人並に勉強はしたが別段たちのいい方でもないから、席順はいつでも下から勘定する方が便利であった。しかし不思議なもので、三年立ったらとうとう卒業してしまった。自分でも可笑しいと思ったが苦情を云う訳もないから大人しく卒業しておいた。
　卒業してから八日目に校長が呼びに来たから、何か用だろうと思って、出掛けて行ったら、四国辺のある中学校で数学の教師が入る。月給は四十円だが、行ってはどうだという相談である。おれは三年間学問はしたが実を云うと教師になる気も、田舎へ行く考えも何もなかった。もっとも教師以外に何をしようと云うあてもなかったから、この相談を受けた時、行きましょうと即席に返事をした。これも親譲りの無鉄砲が祟ったのである。
　引き受けた以上は赴任せねばならぬ。この三年間は四畳半に蟄居して小言はただの一度も聞いた事がない。喧嘩もせずに済んだ。おれの生涯のうちでは比較的呑気な時節であった。しかしこうなると四畳半も引き払わなければならん。生れてから東京以外に踏み出したのは、同級生と一所に鎌倉へ遠足した時ばかりである。今度は鎌倉どころではない。大変な遠くへ行かねばならぬ。地図で見ると海浜で針の先ほど小さく見える。どうせ碌な所ではあるまい。どんな町で、どんな人が住んでるか分らん。分らんでも困らない。心配にはならぬ。ただ行くばかりである。もっとも少々面倒臭い。
　家を畳んでからも清の所へは折々行った。清の甥というのは存外結構な人である。おれが行くたびに、居りさえすれば、何くれと款待なしてくれた。清はおれを前へ置いて、いろいろおれの自慢を甥に聞かせた。今に学校を卒業すると麹町辺へ屋敷を買って役所へ通うのだなどと吹聴した事もある。独りで極めて一人で喋舌るから、こっちは困まって顔を赤くした。それも一度や二度ではない。折々おれが小さい時寝小便をした事まで持ち出すには閉口した。甥は何と思って清の自慢を聞いていたか分らぬ。ただ清は昔風の女だから、自分とおれの関係を封建時代の主従のように考えていた。自分の主人なら甥のためにも主人に相違ないと合点したものらしい。甥こそいい面の皮だ。
　いよいよ約束が極まって、もう立つと云う三日前に清を尋ねたら、北向きの三畳に風邪を引いて寝ていた。おれの来たのを見て起き直るが早いか、坊っちゃんいつ家をお持ちなさいますと聞いた。卒業さえすれば金が自然とポッケットの中に湧いて来ると思っている。そんなにえらい人をつらまえて、まだ坊っちゃんと呼ぶのはいよいよ馬鹿気ている。おれは単簡に当分うちは持たない。田舎へ行くんだと云ったら、非常に失望した容子で、胡麻塩の鬢の乱れをしきりに撫でた。あまり気の毒だから「行く事は行くがじき帰る。来年の夏休みにはきっと帰る」と慰めてやった。それでも妙な顔をしているから「何を見やげに買って来てやろう、何が欲しい」と聞いてみたら「越後の笹飴が食べたい」と云った。越後の笹飴なんて聞いた事もない。第一方角が違う。「おれの行く田舎には笹飴はなさそうだ」と云って聞かしたら「そんなら、どっちの見当です」と聞き返した。「西の方だよ」と云うと「箱根のさきですか手前ですか」と問う。随分持てあました。
　出立の日には朝から来て、いろいろ世話をやいた。来る途中小間物屋で買って来た歯磨と楊子と手拭をズックの革鞄に入れてくれた。そんな物は入らないと云ってもなかなか承知しない。車を並べて停車場へ着いて、プラットフォームの上へ出た時、車へ乗り込んだおれの顔をじっと見て「もうお別れになるかも知れません。随分ご機嫌よう」と小さな声で云った。目に涙が一杯たまっている。おれは泣かなかった。しかしもう少しで泣くところであった。汽車がよっぽど動き出してから、もう大丈夫だろうと思って、窓から首を出して、振り向いたら、やっぱり立っていた。何だか大変小さく見えた。

```

### 質問内容

`主人公の家族構成は？`

### 回答

```
提供された新しい文脈から、主人公の家族構成に関する詳細な情報が明らかになります。主人公の家族構成は以下のようになります：

- おやじ：主人公の父親で、乱暴な性格を持っており、主人公に対して良い感情を抱いておらず、正月に亡くなりました。
- 母：主人公の母親で、病気で亡くなりました。母親は兄を可愛がっており、主人公との仲はあまり良くありませんでした。母は兄が商業学校を卒業した後に亡くなりました。
- 兄：主人公の兄で、主人公とは仲が悪く、喧嘩が絶えない関係でした。兄は九州の会社の支店に赴任するため、家を売却し、家族の財産を片付けて出発しました。兄は主人公に六百円を提供し、その後も五十円を清に渡しました。
- 清（下女）：家族ではないが、十年来の召し使いで、主人公に非常に可愛がっており、お世辞を言ったり贈り物をしたりしています。清は主人公に対して気の毒に思われる存在で、主人公は彼女の態度を不審に思っていました。清は将来の計画を立て、主人公に家を持たせることを夢見ており、主人公に対して賞め言葉をかけています。清は甥の世話もすることを決意し、兄から六百円の資本を提供されました。また、主人公は学校を卒業後、数学の教師として四国の中学校に就職しました。

新たな文脈からは、主人公の家族関係に関する情報に加えて、主人公の出発と別れに関するエピソードも示されています。
```

### 中間データ
https://chat.openai.com/share/0c48ae73-74cd-4896-90a9-06635d66f7f2

# 終わりに

坊っちゃんを読んでないので、正答率は不明だが、大体あってそうなのでヨシ！