Skip to content
This repository has been archived by the owner on Jul 6, 2024. It is now read-only.

🛠️ 環境変数バリデーションの強化とログ出力の改善 #305

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

Sunwood-ai-labs
Copy link
Contributor

概要

本プルリクエストでは、review_issue.pyスクリプトに対して以下の2つの主要な改善を行いました:

  1. pydantic_settingsを用いた環境変数のバリデーション強化
  2. loguruライブラリを使用したログ出力の改善

これらの変更により、アプリケーションの安定性とデバッグ効率が向上します。

変更内容

1. 環境変数のバリデーション強化

  • pydantic_settingsを導入し、Settingsクラスを実装
  • 環境変数の型チェックを強化し、設定ミスによるエラーを防止
  • 未定義の環境変数を許容するため、extra = 'ignore'オプションを追加
class Settings(BaseSettings):
    github_token: str
    qd_api_key: str
    qd_url: str
    github_repository: str
    github_event_issue_number: int
    embedding_model: str = "text-embedding-3-small"
    collection_name: str = "issue_collection"
    gpt_model: str = "gpt-4"
    max_results: int = 3

2. ログ出力の改善

  • loguruライブラリを導入し、詳細なログ出力を実装
  • 各処理ステップでログを出力し、デバッグ作業を効率化
  • エラーの迅速な特定と解決をサポート

▽下記のように可視化されます
image

期待される効果

  1. 環境変数の誤設定によるランタイムエラーの減少
  2. アプリケーションの動作状況の可視化
  3. デバッグ作業の効率化
  4. エラーの迅速な特定と解決
  5. 開発者間のコミュニケーション促進

注意点

  • 新しい依存関係(pydantic-settingsloguru)をインストールする必要があります
  • 環境変数の名前や型が変更された場合、Settingsクラスの定義を更新する必要があります

関連Issue

ご確認とレビューをお願いいたします。

- python-dotenv, loguru, pydantic-settingsを追加し、環境設定とログ管理を強化
- dotenvの使用を廃止し、pydantic_settingsで環境設定のモデルを組み立て
- loguruを導入して詳細なログ出力を実現
- GithubHandler, ContentModerator, QdrantHandlerのクラスを再設計し、設定情報の取り扱いを改善
- コンテンツモデレーターでの画像の検証プロセスを改善し、OpenAI APIを利用する部分でエラーハンドリングを追加
- pydantic-settingsのバージョンを更新し、python-dotenvを追加することで環境設定の管理を改善
…読み込むクラスの整理

- `.env` ファイルから設定を読み込む `Settings` クラス内の `openai_api_key` 属性に関するコメントをクリーンアップ。
- ファイル末尾に新しい行を追加してフォーマットを改善。
python-dotenv==1.0.1
loguru==0.7.2
pydantic-settings==2.2.1
python-dotenv==1.0.1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dotenv が2回書かれているので消していただけますと!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レビューありがとうございます。修正しました!

- python-dotenv の重複エントリーを削除し、依存関係リストをクリーンアップ
Copy link

@ogadra ogadra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ぱっとみ良さそうに思いました!!!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants