Thanks to visit codestin.com
Credit goes to github.com

Skip to content

peco-glhf/ie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inspiration Eternal

Fully automated business research and idea document Production

Inspiration Eternal

Inspiration Eternal は、商品・サービスの新規業界開拓を目的としたドキュメント制作の完全自動化 AI エージェントです。ビジネスソリューションやサービスの開発に関連するアイデアの創出から、それらの評価、市場分析、そして最終的なレポート作成までを AI が自動的に行います。

特徴

  • レポート作成: アイデア・テキスト生成に終わらず、情報をまとめた PPTX を制作
  • 自動アイデア生成: ユーザーの入力に基づいて、AI がビジネスアイデアを複数生成
  • アイデア評価: 生成されたアイデアを革新性、新規性、社会的インパクトなどの観点から自動評価
  • Web 調査: 選定されたアイデアについて、Web からのデータ収集により市場調査を実施
  • 進捗実況: SSE(Server-Sent Events)を利用したリアルタイムの処理状況表示

システム構成

バックエンド (Python/FastAPI)

  • FastAPI: バックエンドフレームワーク
  • LLM API: GPT-4o-mini などの AI モデルを活用
  • SSE (Server-Sent Events): リアルタイム進捗状況の配信
  • Python-PPTX: PowerPoint レポートの自動生成
  • Google-SerchAPI: PowerPoint レポートの自動生成

フロントエンド (Next.js)

  • Next.js: React ベースのフレームワーク
  • Tailwind CSS: UI デザインのためのユーティリティファースト CSS フレームワーク

開発・実行環境

  • Mac book air / M2 - Sequia
  • Cursor 0.47.5
  • Node.js v22.13.1
  • conda 24.11.0
  • Python 3.11.11

使用方法

※API が必要となります。

バックエンドのセットアップ

  1. リポジトリをクローンします:

    git clone https://github.com/yourusername/ie.git
    cd ie
  2. Python 仮想環境を作成した後、依存関係をインストールします:

    cd backend
    pip install -r requirements.txt
  3. 環境変数を設定します:
    各種 LLM と、Google Search エンジンの API Key と ENGINEID を記入。 LLM は、1 種あれば大丈夫です。Google Search の API と ENGINE ID はなくても動きます。

    DEEPSEEK_API_KEY=YOUR_API_KEY
    GEMINI_API_KEY=YOUR_API_KEY
    OPENAI_API_KEY=YOUR_API_KEY
    GOOGLE_SEARCH_API_KEY=YOUR_API_KEY
    GOOGLE_SEARCH_ENGINE_ID=YOUR_API_KEY

フロントエンドのセットアップ

  1. 依存関係をインストールします:

    cd frontend/app
    npm install
  2. 環境変数を設定します: ie/frontend/app ディレクトリに、.env.local を作成し、下記を記述します。

     NEXT_PUBLIC_BACKEND_URL=http://localhost:8080

使用方法

開発モードでの起動

  1. バックエンドサーバーを起動します:

    cd backend
    python -m uvicorn main:app --reload
  2. フロントエンドを起動します:

    cd frontend/app
    npm run dev
  3. ブラウザで http://localhost:3000 にアクセスすると使用できます。

使用例

  1. トップページで、あなたのビジネスソリューションやサービスについての情報を入力します。
  2. しばらくすると、生成されたアイデアの PPTX 資料を DL できます。
    使用デモ動画:https://youtu.be/P1QVCL8d93g

システムワークフロー

flowchart TD
    Start([ユーザー]) --> InputForm["プロンプト入力画面<br>(PromptScreen)"]
    InputForm -->|"プロンプト送信<br>(ビジネスソリューション概要)"| ClientSend["APIリクエスト送信<br>(/api/generate)"]

    subgraph Frontend["フロントエンド (Next.js)"]
        ClientSend --> WaitProcess["処理待機画面表示<br>(GenerationScreen)"]
        WaitProcess -->|"SSE接続開始<br>(/api/stream-progress/{job_id})"| ReceiveUpdates["リアルタイム進捗受信<br>(EventSource)"]
        ReceiveUpdates -->|"処理完了"| OutputDisplay["結果表示画面<br>(OutputScreen)"]
        OutputDisplay -->|"ダウンロード"| FileDownload["ファイルダウンロード<br>(/api/pptx-download)"]
        OutputDisplay -->|"新規プロンプト"| InputForm
    end

    subgraph Backend["バックエンド (FastAPI)"]
        ClientSend --> ReceiveRequest["リクエスト受信<br>(/api/generate)"]
        ReceiveRequest --> CreateJob["ジョブID生成<br>(TaskManager)"]
        CreateJob --> QueueTask["タスクキュー追加"]
        QueueTask --> ProcessTask["タスク処理<br>(Agent実行)"]
        ProcessTask -->|"進捗状況"| StreamUpdate["SSEでの進捗配信<br>(/api/stream-progress/{job_id})"]
        StreamUpdate --> ReceiveUpdates

        subgraph AIAgent["AIエージェント処理"]
            PT["タスク処理"] --> SolutionDef["ソリューション定義<br>(set_solution)"]
            SolutionDef --> IdeaGen["アイデア生成<br>(generate_ideas)"]
            IdeaGen --> IdeaEval["アイデア評価<br>(evaluate_ideas)"]
            IdeaEval --> CreateDraft["ラフ案作成<br>(create_rough_draft)"]
            CreateDraft --> EvaluateDraft["ラフ案評価<br>(evaluate_drafts)"]
            EvaluateDraft --> WebResearch["Web調査実行<br>(perform_research)"]
            WebResearch --> CreateWriteup["レポート作成<br>(create_writeups)"]
            CreateWriteup --> GenerateReport["最終レポート生成<br>(generate_final_report)"]
        end

        ProcessTask --> PT
        GenerateReport --> SaveResults["結果保存<br>(results/{timestamp}/report/*)"]
        SaveResults -->|"完了通知"| TaskComplete["タスク完了ステータス更新"]
        TaskComplete --> StreamUpdate
    end

    FileDownload -->|"ダウンロード"| ReportFiles[("PPTX<br>レポートファイル")]

    classDef userAction fill:#4F4F4F,stroke:#cdfe00,color:#fff,stroke-width:1px
    classDef clientProcess fill:#2D2D2D,stroke:#4682B4,color:#fff,stroke-width:1px
    classDef serverProcess fill:#1A1A1A,stroke:#6495ED,color:#fff,stroke-width:1px
    classDef aiProcess fill:#000000,stroke:#9370DB,color:#fff,stroke-width:1px
    classDef dataStore fill:#000000,stroke:#FF7F50,color:#fff,stroke-width:1px,stroke-dasharray:5 5
    classDef output fill:#000000,stroke:#32CD32,color:#fff,stroke-width:1px

    class Start userAction
    class InputForm,ClientSend,WaitProcess,ReceiveUpdates,OutputDisplay,FileDownload clientProcess
    class ReceiveRequest,CreateJob,QueueTask,ProcessTask,StreamUpdate,TaskComplete serverProcess
    class PT,SolutionDef,IdeaGen,IdeaEval,CreateDraft,EvaluateDraft,WebResearch,CreateWriteup,GenerateReport aiProcess
    class SaveResults dataStore
    class ReportFiles output
Loading

ライセンス

このプロジェクトはMIT ライセンスの下で公開されています。ライセンスの全文は添付の LICENSE ファイルをご覧ください。

また、使用しているサードパーティライブラリのライセンス情報はTHIRD_PARTY_LICENSES.mdにまとめています。

コントリビューション

コントリビューションを歓迎します。バグ報告、機能リクエスト、プルリクエストなどをお気軽にご提出ください。

謝辞

このプロジェクトは以下のオープンソースライブラリに依存しています:

  • FastAPI
  • Next.js
  • Python-PPTX
  • Tailwind CSS
  • その他多くのライブラリ

このプロジェクトは、下記の論文やイベントからインスパイアされたり良い刺激をいただきました。

The AI Scientist: Towards Fully Automated Open-Ended Scientific Discovery https://arxiv.org/abs/2408.06292
AI Agent Hackathon:https://zenn.dev/hackathons/2024-google-cloud-japan-ai-hackathon
AI Code Agent 祭り:https://code-agents.connpass.com/event/342240/

About

Inspiration_eternal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors