チュートリアル1の続きです。
前回はLLMノードのsystem_promptにキャラクターの設定を書くことでNPCの制御ができました。
実際のゲームでは膨大な設定を付与したくなると思います。しかし、system_promptやuser_promptに大量の文章を渡すと会話の中で古いものから消えてしまい、NPCは過去の会話や設定を忘れてしまいます。また、クラウドサービスの場合はプロンプトにも課金がかかってしまうので費用がかさんでしまいます。
そんな時に便利な機能としてKnowledge Searchノードを使って解決できます。この機能は質問に対して、予め与えた辞書から類似性が高い文章を取得して出力します。いわゆるRAG(Retrieval‑Augmented Generation)機能です。
ValorAIでRAGを利用するには少し手順を踏む必要があります。基本的な流れは以下になります。
Generatorの上部メニューからLoad
をクリックしてチュートリアル1で作ったモデルをロードしましょう。
辞書の検索にはテキストデータをベクトルに変換して行います。この変換もLLMと同じくAIモデルを用いて行います。ベクトル化は辞書のベクトル化・入力データのベクトル化の2パターンあります。辞書データはゲームの実行中ではなく、予め変換して用意することができるのでValorAIGenerator側で作成します。
Model ManagerにEmbedding Modelを追加しましょう
Model Name : text-embedding-ada-002