Skip to content

digitaldemocracy2030/idobata-analyst

Repository files navigation

このプロジェクトについて

  • オンライン上の政策熟議PFを構築する「いどばた」PJのリポジトリです。
  • 本PJは、以下に示す複数のモジュールで構築されています
    • idobata-agent (フォーラムの投稿に反応し、モデレーションを行うモジュール)
    • idobata-analyst(フォーラムやSNSの投稿を分析し、レポートを作成するモジュール)
    • idobata-infra(フォーラムのインフラを構築する設定)
    • idobata-sns-agent(SNSの投稿を収集したり、投稿を行うためのモジュール)

開発への参加方法について

  • 本PJは、開発者の方からのコントリビュートを募集しています!ぜひ一緒に日本のデジタル民主主義を進めましょう!
  • プロジェクトのタスクはGitHub Projectで管理されています。
  • プロジェクトについてのやりとりは、原則デジタル民主主義2030のSlackの「開発_いどばた」チャンネルまでお願いします
  • コントリビュートにあたっては、本リポジトリのrootディレクトリにあるCLA.md(コントリビューターライセンス)へ同意が必要です。
    • 同意する手順は、Pull Requestのテンプレートに記載があります

Issue/Pull Requestについて

  • 重複して同じIssueに取り組むのを避けるため、Issueに着手される際はご自身のアカウントをasigneeに指定してください
    • イシュー上で、 /assign というコメントを記載していただくと、Issueのasigneeとして登録されます
      • 権限の関係で、一部のコントリビューターを除いてアサインの割当ができないためこのような運用にしています
    • 割当を解除したい場合は、 /unassign というコメントを記載していただくと、Issueのasigneeから外れます
  • Issueはどなたでも起票いただいて構いません。ツールの利用時に感じた改善点やバグについてぜひIssueを起票してください。

論点整理モジュール

セットアップと実行方法

1. 環数設定

以下のコマンドでアプリケーションのセットアップ実行します。

make setup

ここでは環境変数の設定ファイル .envpackages/backend/.envpackages/frontend/.env を作成しています。

各ファイルを確認し、必要に応じて以下の環境変数を設定してください:

  • ADMIN_API_KEY は、あなたの環境における管理者認証用パスワードです。好きな文字列を設定してください。
  • OPENROUTER_API_KEY は、OpenRouter の API キーです。OpenRouter で取得してください(アカウントをお持ちでない場合はアカウントの作成が必要です。またサービス利用のためのクレジットが必要です)

2. アプリケーションの起動

以下のコマンドでアプリケーションを起動します。

make containers-start

Web ブラウザで http://localhost:3000 にアクセスすると、自分の PC で起動している idobata アプリケーションが開きます。

3. 試し方

Web ブラウザでアプリケーションを開いた後、以下の手順で CSV データをアップロードし、論点整理を試すことができます:

管理者モードへのアクセス

  1. ブラウザで http://localhost:3000/adminauth にアクセスします
  2. .envファイルに設定したADMIN_API_KEYを入力して認証ボタンをクリックします

CSVデータのアップロード

  1. 認証後、http://localhost:3000/csv-upload にアクセスします
  2. 以下の情報を入力してプロジェクトを作成します:
    • プロジェクト名:分析対象のプロジェクト名
    • プロジェクトの説明:プロジェクトの概要
    • 抽出トピック:分析したい主題(例:「再生可能エネルギー政策について」)
    • プロジェクトの背景情報:分析の文脈となる情報
  3. 「プロジェクトを作成」ボタンをクリックします
  4. CSVファイルを選択します(必須列:content, sourceType, sourceUrl)
  5. 「アップロード開始」ボタンをクリックします
  6. アップロード完了後、「処理開始」ボタンをクリックして論点生成と立場のラベル付けを行います
  7. 処理完了後、「プロジェクトページへ」ボタンをクリックして結果を確認します

例えば、このYouTube動画に対するコメントを収集して作成したCSVがこちらになります。このCSVファイルをアップロードすると、以下のような結果が得られます。 Image from Gyazo Image from Gyazo

プロジェクト構成

.
├── compose.prod.yaml       # Docker構成ファイル
├── compose.yaml            # 開発環境用Docker構成ファイル
├── packages/
    ├── frontend/           # Reactフロントエンド
    │   │── Dockerfile      # フロントエンドのビルド設定
    │   └── Dockerfile.dev  # フロントエンドの開発用ビルド設定
    └── backend/            # Expressバックエンド
        │── Dockerfile      # バックエンドのビルド設定
        └── Dockerfile.dev  # バックエンドの開発用ビルド設定