🔥

自作Chrome拡張でChatGPT Retrieval Pluginsを動かす

2023/04/23に公開

ChatGPT Retriever PluginsをLangChainでデバッグするではPluginsがまだ有効になっていなかったのでLangChainを使ったが、WebChatGPTという入力をDuckDuckGoで検索した結果を貼り付けた上で回答するっていうブラウザ拡張のDuckDuckGoの部分をRetrieval Pluginに変えてしまうことで自分が作成した任意のベクターストアの情報と本物のChatGPTを連携させることができるな〜と思ったのでフォークして作ってみました。

https://github.com/laiso/webchatgpt-retrieval-plugin

裏側は先日作ったZennやQiitaの記事をクロールするPluginを動かしてる。

https://github.com/laiso/chatgpt-retrieval-plugin-zqh

見た目散らかっているように感じてしまうけど本物のChatGPT Pluginsも原理的には同じ仕組みだろうしテストにはまぁええかぐらいな。

ブラウザ拡張はこのように動作してる

  1. chat.openai.com上のUIのユーザー入力にaddEventListener()で割り込む
  2. 入力をRetrieval Plugin→Pinecone経由で検索(ここをDuckDuckGoから置き換えた)
  3. ユーザー入力に上記の検索結果を含むプロンプトを作ってインサート
  4. 「コンテキストを使って回答せよ」の回答が返ってくる

https://github.com/qunash/chatgpt-advanced/blob/eef3b09b7f52b9cb4d6cc2612f651d464e6166d6/src/content-scripts/mainUI.tsx#L153-L155

https://github.com/qunash/chatgpt-advanced/blob/eef3b09b7f52b9cb4d6cc2612f651d464e6166d6/src/content-scripts/mainUI.tsx#L63-L85

https://github.com/qunash/chatgpt-advanced/blob/eef3b09b7f52b9cb4d6cc2612f651d464e6166d6/src/content-scripts/ddg_search.ts#L25-L52

Discussion