GPT-3/ChatGPTでScrapboxの中身を元に回答を生成
大規模言語モデルでScrapboxの中身を元に回答を生成したいblu3mo.icon
@nishio: 例えば著書がたくさんある人やScrapboxで1万ページ超えてるような人を読み込ませて仮想人格としてチャットに召喚しインタラクティブに議論をすることができ(たらいいな) これをしたいblu3mo.icon*2はるひ.icon*2nishio.icon*2tkgshn.iconwogikaze.iconsta.icon*2
期待している。こういう用途のために自分のスクボを太らせてきた……sta.icon
質問したらドキュメントを元に回答を生成するようなやつ
これをやれば良さそうblu3mo.icon
GPT-3のAnswer APIがあるのね
つい最近Deprecatedになってた
先にvector-based embedding search(たぶんOperandみたいなSemantic Search?)で関連度高いドキュメントを見つけた上で、それらを放り込んで質問の回答を生成する方法を推奨している せっかくScrapboxはリンク情報があるので、それも使って与える情報を増やせると良さそう
たとえば「X」ってキーワードを入れた時に「Xについて、下記の文章を参考に簡潔な説明をしてください。(ここにScrapboxをXで検索した結果が入る)」というプロンプトを生成するのでもそれなりに成立すると思う
で、この場合の問題は「(ここにScrapboxをXで検索した結果が入る)」の部分が大きくなりすぎると、それに応じてコストも上がること。
なので「キーワードXを含むすべて」ではなく、距離の近い方から選ぶ類似度ベースの手法の方が都合がいいのだと思う これ使えば楽そblu3mo.iconう
どうやって使うんだろうyosider.icon
Build and Query Index
Create a new .py file with the following:
code:py
from gpt_index import GPTSimpleVectorIndex, SimpleDirectoryReader
from IPython.display import Markdown, display
documents = SimpleDirectoryReader('data').load_data()
index = GPTSimpleVectorIndex(documents)
This builds an index over the documents in the data folder (which in this case just consists of the essay text). We then run the following
code:py
response = index.query("What did the author do growing up?")
print(response)
You should get back a response similar to the following: The author wrote short stories and tried to program on an IBM 1401.
ふむ
jsonそのまま突っ込むのはさすがに無理?
@umiyuki_ai: セコイアが記事書いてた数ヶ月前の時点では「専門的な知識をGPT-3に与えるには、メッチャ金と時間かけてファインチューニングしなきゃ!ああ大変だ、大変だ」って感じだったのが、最近では「与えたい知識の文書を埋め込みでベクターデータベース化してLangChainかGPTIndexですぐできますよ!簡単!」 多分これができれば、質疑応答以上に発展的なことも出来ると思うblu3mo.icon
Scrapboxに突っ込んであるXの話を元にYを書いて、とか
Memで出来ているようなことをやりたいblu3mo.icon*2 2024/12/29
懐かしいなblu3mo.icon
GPTが出た直後の祭り
もう2年前か〜
この祭りテンションが今でも続いているのが面白い