メインコンテンツへスキップ
Neo4j は、データをテーブルやドキュメントではなく、ノード・リレーションシップ・プロパティとして保存するグラフデータベースです。
この構造により、ホワイトボードにアイデアを書き出すような直感的なデータ整理が可能になります。
SambaNova を組み合わせることで、最新の大規模言語モデルを活用した高度なグラフ分析や自然言語クエリ処理を Neo4j アプリケーションに統合できます。

前提条件

開始する前に、以下が準備されていることを確認してください。

セットアップ

  1. UVパッケージマネージャーをインストールします。
    pip install uv
    
  2. サンプルリポジトリをクローンし、プロジェクトディレクトリへ移動します。
    git clone <repository-url>
    cd neo4j-sambanova-integration
    
  3. UV を使用してすべての依存パッケージを同期・インストールします。
    uv sync
    
    このコマンドはプロジェクト設定を読み込み、以下を含む必要パッケージをインストールします。
    • SambaNova Cloud SDK
    • Neo4j Python ドライバ
    • FastAPI (ウェブインターフェース用)
    • Promptfoo (評価ツール)
  4. 環境設定ファイルをテンプレートから作成します。
    cp sample.env .env
    
  5. .env ファイルを編集し、認証情報を入力します。
    # SambaNova Cloud Configuration
     SAMBANOVA_API_KEY=your_sambanova_api_key_here
     SAMBANOVA_BASE_URL=https://api.sambanova.ai/v1
     
     # Neo4j Database Configuration
     NEO4J_URI=bolt://localhost:7687
     NEO4J_USER=neo4j
     NEO4J_PASSWORD=your_neo4j_password
     
     # Optional: Model Configuration
     MODEL_NAME=Meta-Llama-3.3-70B-Instruct
    

実行

直接実行モード

コマンドラインから直接評価テストを実行します。
uv run promptfoo eval -o output.html --no-cache
  • 出力:evaluation 結果やパフォーマンス指標を記載した output.html が生成されます。
  • フラグ
    1. -o output.html: 出力ファイルパスを指定
    2. --no-cache: キャッシュを使わず毎回再評価を実行

FastAPIサーバーモード

対話形式でのテストやウェブ UI での利用が可能です。
  1. FastAPI 開発サーバーを起動します。
    uv run main.py
    
    サーバーはデフォルトで http://localhost:8000 で起動します。
  2. 別ターミナルで評価スイートを実行します。
    promptfoo eval -o output.html --no-cache
    

参考情報

詳細は Neo4jの公式ドキュメント をご参照ください。