'COMPLETE (SNOWFLAKE.CORTEX)' 関数で状態のある会話型エクスペリエンスを提供するには、以前のすべてのユーザープロンプトとモデルの応答を引数の一部として渡す必要があります。この引数はオブジェクトの配列を受け入れます。各オブジェクトはターンを表し、時系列順に表示される「ロール」('system'、'user'、または'assistant')と「コンテンツ」キーを含みます。Streamlit では、st.session_states はアプリケーションの再実行間でデータを保存および管理するための標準かつ推奨されるメカニズムであり、チャット履歴の維持に最適です。オプション A は、'COMPLETE' が外部テーブルからの履歴を本質的に管理しないため、非効率的で不正確です。オプション B は、'COMPLETE' が呼び出し間で状態を保持しないため不正確です。履歴は明示的に管理する必要があります。オプション D は、意味的役割の区別が失われ、LLM の精度が低下する可能性があるため、構造化された履歴よりも効果が低くなります。オプション E は、'COMPLETE' 関数に存在しないパラメーターについて説明しています。