ホームへ戻る

GitHub Repo

Langflowコミュニティが、共有テストフローでPGVectorの接続パラメーターが失われ、エージェント検索に失敗する可能性を報告

10月18日のLangflowコミュニティ報告によると、同じフローでも通常のPlaygroundでは検索できる一方、Shareable PlaygroundではPostgreSQLの接続パラメーターが欠落して実行が中断する可能性がある。報告者はローカルでの回避策を示したが、メンテナーによる確認も正式な修正版もまだない。

Aero Icarus from Zürich, Switzerland · CC BY-SA 2.0 · Image source
zh-Hant

Langflowコミュニティは10月18日、問題報告を新たに公開した。公式PGVectorコンポーネントは通常のPlaygroundでは正常に動作するが、同じフローをShareable Playgroundで実行すると、エージェントが検索テキストを渡しているにもかかわらず、接続パラメーターが空のためベクトル検索に失敗するという。報告された環境はDockerデプロイで、LangflowとLFX 1.12.6、lfx-bundles[pgvector] 1.1.38を使用していた。この情報だけから、ほかのバージョンにもすべて影響すると推定することはできない。問題報告

エラーは接続文字列の変換処理で発生し、プログラムが空のpg_server_urlを受け取った後、NoneTypeにrsplitメソッドがないという例外が発生した。報告者の診断ログによると、コンテナ内に有効な接続環境変数が設定されていたにもかかわらず、ツールの作成やディープコピーの前にパラメーターが欠落していた。これらの手掛かりは、共有フローがツールを作成する際のパラメーター受け渡しを示唆しているが、根本原因は上流の確認を待っている。診断ログ

公式ドキュメントでは、pg_server_urlはシークレット文字列の入力として定義され、エージェントが渡すsearch_queryとは別のものとされている。PGVectorコンポーネントはその後、LangChainのベクトルストアインスタンスを介してPostgreSQLの読み書きを行う。この種のアーキテクチャを採用するRAGフローでは、モデルがツールを正しく選択し、適切なクエリを生成できても、それだけでは検索チェーンが利用可能だとは確認できない。実行時の接続設定がそろっているかも検証する必要がある。PGVectorコンポーネントのドキュメント

報告者は暫定的に、値が空の場合にPGVECTOR_CONNECTION_STRINGを読み込むよう変更し、共有フローでの検索と、その後の回答生成が再び動作することを確認した。これはローカルでの変更であり、公式の修正ではない。デプロイ担当チームはこれを参考に、通常のアクセス経路と共有アクセス経路を比較テストし、ツールの初回呼び出しとその後の呼び出しを確認できる。公式ドキュメントではShareable Playgroundはテスト専用と明記されており、アプリケーションとの統合にはAPIを使用するよう案内されている。今後は、メンテナーが再現できるか、シークレットパラメーターが公開実行経路にどう渡されるか、修正に回帰テストが追加されるかが注目点となる。確認時点で、issueはオープンのままで、修正提案へのリンクはなかった。報告と回避策、Playgroundの利用範囲

出典

  1. Shareable Playground: PGVector tool loses pg_server_url
  2. pgvector — Langflow Documentation
  3. Test flows in the Playground