Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

ChatGPTの回答カスタマイズ方法


LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダー鯨井貴博@opensourcetechです。


はじめに
ChatGPTって便利ですが、その学習データに自分が欲しい情報が含まれていない場合などにはこれじゃないという回答になることがあると思います。
※xxxx年xx月までの情報しか学習していませんなど

その場合に少し回答をカスタマイズする手法がいくつかあるとのことなので、調べてみました。
なお、有料版でのみ利用可能なものもありますのでご注意ください。



プラグインの使用
まずは、プラグインの使用です。


目的に応じたプラグインを使うことで、求める回答が得られる可能性があります。


Browsing機能の活用
続いては、Web検索をして最新の情報を回答に含める方法です。
検索する分回答が完成するまでの時間はかかりますが、
「学習データはxxxx年xx月までの・・・・」みたいなことにはならない点がいいところでしょうか。



プロンプトエンジニアリングの活用
プロンプトエンジニアリングとは、このように質問の文章を作ってやるといい回答が得られやすいというノウハウのことです。
https://platform.openai.com/docs/guides/prompt-engineering
これは嬉しい ChatGPTプロンプト書き方のコツ、OpenAIが公開


RAGの使用
RAGとは、Retrieval-Augmented Generationの略で、質問 + 自身で保持するデータ という組み合わせを質問としてChatGTPに投げ、回答を得る手法です。
具体的な実行の仕方は検索すれば出るので省きますが、例えば社内規則などのルール集を用いた質問への回答などが活用例です。


その他
その他の技術としては、今月に入ってMicrosoftが公開したLLMLinguaなどの活用が考えられます。
この技術は、入力する情報の意味を保ったまま圧縮してくれるので、
APIに投げるデータ削減(コスト削減につながる)、処理速度向上などを実現することが出来ると思われます。
https://github.com/microsoft/LLMLingua
また、temperaturetop_pというパラメータを変更して、
回答のゆれ(同じ質問をしてもどれくらい共通性があるかという値)を調整するという技術もあります。
https://community.openai.com/t/cheat-sheet-mastering-temperature-and-top-p-in-chatgpt-api-a-few-tips-and-tricks-on-controlling-the-creativity-deterministic-output-of-prompt-responses/172683


おわりに
今回紹介したものは2023年12月末時点、かつ私が調べた範囲ものなので、
今後もどんどんいいものが出てくると思います。
ですが、今後出てくる新技術はこれらの課題を解決するなどという観点で生まれてくるものも多いと思うので、知っておいて損はないと思います。

Opensourcetech by Takahiro Kujirai