Skip to content

tkosht/windsurf_dev

Repository files navigation

Adoptive Market Crawler

市場分析のための情報収集とナレッジ化システム。指定されたキーワードに関する市場分析に役立つ情報を収集し、Gemini-2.0を用いて解析し、Neo4jデータベースにナレッジとして保存します。

機能

  • HTMLからの本文抽出と不要要素の除去(フォールバック戦略対応)
  • Gemini-2.0-flash-expを使用した市場影響度分析(リトライロジック実装)
  • Neo4jへのナレッジ保存と時系列管理(トランザクション管理強化)
  • 高度なエラーハンドリングとリカバリー機能
  • パフォーマンスモニタリングとメトリクス収集
  • 自動スケーリングとリソース最適化機能

エラーハンドリング

  • 階層的なエラー処理システム
    • エラーの種類に応じた適切な処理
    • カスタムエラークラスによる詳細な例外管理
  • フォールバック戦略によるコンテンツ抽出
    • 複数の抽出方法の自動切り替え
    • エラー発生時の代替手段の自動選択
  • トランザクション管理による一貫性保証
    • ACID特性の完全な保証
    • ロールバック機能の自動化
  • エラーレート監視とサーキットブレーカー
    • リアルタイムエラー率の計測
    • 閾値に基づく自動停止機能
  • 自動リトライと指数バックオフ
    • スマートリトライ戦略
    • 負荷に応じた待機時間の自動調整

パフォーマンス最適化

  • 並行処理による高速化
    • 非同期処理の効率的な実装
    • スレッドプールの動的管理
  • データベース操作の最適化
    • インデックス戦略の改善
    • クエリパフォーマンスの監視
  • メモリ使用量の効率化
    • メモリリーク検出機能
    • ガベージコレクション最適化
  • メトリクス収集と監視
    • リアルタイムパフォーマンス分析
    • 異常検知機能の実装
  • キャッシュ戦略の実装
    • LRUキャッシュの導入
    • キャッシュヒット率の最適化

必要条件

  • Python 3.10以上
  • Poetry
  • Neo4jデータベース
  • Google Cloud Platformアカウント(Gemini APIキー用)

セットアップ

  1. リポジトリのクローン:
git clone [repository-url]
cd adoptive-market-crawler
  1. 依存関係のインストール:
poetry install
  1. 環境変数の設定: .envファイルを作成し、以下の変数を設定:
GOOGLE_API_KEY_GEMINI=your_gemini_api_key
neo4j_user=your_neo4j_username
neo4j_pswd=your_neo4j_password

使用方法

  1. 仮想環境の有効化:
poetry shell
  1. テストの実行:
pytest
  1. コードフォーマットとリント:
black app tests
flake8 app tests

プロジェクト構造

.
├── app/
│   ├── content_fetcher.py  # コンテンツ取得
│   ├── content_parser.py   # HTML解析(フォールバック対応)
│   ├── gemini_analyzer.py  # Gemini API連携(リトライ機能)
│   ├── market_analyzer.py  # 市場分析ロジック
│   ├── neo4j_manager.py    # DB管理(トランザクション制御)
│   └── knowledge_repository.py  # ナレッジ管理
├── tests/
│   ├── test_unit/         # 単体テスト
│   ├── test_integration/  # 統合テスト
│   └── test_performance/  # パフォーマンステスト
├── docs/
│   ├── 01.requirements/   # 要件定義
│   ├── 02.basic_design/   # 基本設計
│   ├── 03.detail_design/  # 詳細設計
│   └── ...
└── pyproject.toml

メトリクス収集

以下のメトリクスを自動的に収集し、監視しています:

  • API呼び出しの成功率と応答時間
    • エンドポイント別の成功率
    • レイテンシー分布の分析
  • データベース操作のパフォーマンス
    • クエリ実行時間の追跡
    • コネクションプール使用率
  • エラー発生率とリカバリー成功率
    • エラータイプ別の発生頻度
    • リカバリー処理の成功率
  • リソース使用状況(メモリ、CPU)
    • リアルタイムメモリ使用量
    • CPUロード分析
  • キャッシュヒット率
    • キャッシュ効率性指標
    • メモリ使用効率

ライセンス

このプロジェクトはMITライセンスの下で公開されています。

About

windsurf development project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from tkosht/cursor_dev