- 事前に構築されたFAQデータベースを使った手動の会話機能を提供します。また、このノートブックにあるオリジナルのFAQをどのように強化するかについてもご覧いただけます。これにより、予め定義された質問以外への質問にも回答できる場合があります。
- 画像から分かる通り、実際のFAQ2024/3/8時点のこのサイトから幾つかのFAQをコピーして利用しており、Microsoft社の公式見解ではありません。
- 画面の左ペインの
debug
を選択すると、質問と利用したknowledge base内の最も高いcosine類似度の値(0.0-1.0)と、文言を生成する際に使用したpromptを表示します。
- 手動で入力された会話に対して、GPT-4oを利用した会話を生成します。
- 予め増幅しておいた質問文のうち当てはまりが強いものはそちらを参照の上に答えます。
- 当てはまりらない場合は、一般の回答として答えます。
- 予め用意されたQAを元に、5つほどQAを追加しましたが、下記の2パターンあります(真偽のチェックは行なっていません):
- 質問から質問を追加
- 質問と回答から、新たに質問を追加
-
python
環境の構築pip install -r ./requirements.txt
-
Azure OpenAIのprovisioningを行ないリソースを構成下さい。特にAOAIのうちGPT-4(o)、テキスト埋め込みのAPIを利用します。
-
Configuration
AOAI: ENDPOINT: 'https://XXX.openai.azure.com/' KEY: 'YYY' VERSION: "2024-02-01" MODEL: "YOUR_DEPLOYED_GPT_4O_MODEL" PARAMTERS: TEMPERATURE: 0.7 MAX_TOKENS: 4000 TOP_P: 0.95 FREQUENCY_PENALTY: 0 PRESENCE_PENALTY: 0 EMBEDDED_MODEL: 'YOUR_DEPLOYED_TEXT_EMBEDDING_MODEL' CONFIDENCE_COSINE_SIMILARITY: 0.6 DATA_PATH: ORIGINAL_FAQ: 'data/Original_FAQ_M365.csv' AUGMENTED_QA: 'data/df_all.pkl' AUGMENTED_Q: 'data/df_queries.pkl' PROMPTS_PATH: OPERATIONAL_PROMPTS: './prompts/operational_prompts.yml'
AOAI
ENDPOINT
: GPT-4(o)のENDPOINT URLKEY
: 関連するキーVERSION
: 利用するモデルのバージョンMODEL
: デプロイ済の利用モデル名PARAMETERS
: モデルに渡すパラメータ群。詳しくはこちらを参照。EMBEDDED_MODEL
: 利用する埋め込みモデルの名前
CONFIDENCE_COSINE_SIMILARITY
: cosine類似度利用時のしきい値DATA_PATH
ORIGINAL_FAQ
: 元としたFAQ(csv形式)のパスAUGMENTED_QA
: 上記csvを元にQAを元にQを生成した(pandas DataFrame
形式)のパスAUGMENTED_Q
: 上記csvを元にQと同等のQを生成(pandas DataFrame
形式)のパス
PROMPTS_PATH
OPERATIONAL_PROMPTS
: 利用プロンプトのパス
-
アプリを実行
> streamlit run ./app.py
-
補助的なノートブック
- 事前に集めたFAQに対して、どのようにQAを増幅するかを記しました。