1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pineconeで学ぶ埋め込み向けベクトルデータベース

Connected

演習

RAG 質問応答関数

もう一息です!RAG ワークフローの最後のステップは、取得したドキュメントを質問応答モデルに統合することです。

prompt_with_context_builder() 関数はすでに定義済みで利用できます。この関数は Pinecone のインデックスから取得したドキュメントを受け取り、質問応答モデルが取り込めるプロンプトに組み込みます。

def prompt_with_context_builder(query, docs):
    delim = '\n\n---\n\n'
    prompt_start = 'Answer the question based on the context below.\n\nContext:\n'
    prompt_end = f'\n\nQuestion: {query}\nAnswer:'

    prompt = prompt_start + delim.join(docs) + prompt_end
    return prompt

これから question_answering() 関数を実装します。OpenAI の言語モデル gpt-4o-mini に対し、質問に答えるための追加コンテキストと出典を提供します。

指示

100 XP
  • OpenAI クライアントは client として用意されています。Pinecone クライアントを API キーで初期化してください。
  • 'youtube_rag_dataset' namespace から、query テキストに最も近いドキュメントを3件取得します。
  • chat_model 引数で指定された OpenAI の 'gpt-4o-mini' モデルを使い、与えられた prompt と sys_prompt に対する応答を生成してください。