AI搭載のジョブ抽出とコールドメールジェネレーター
このプロジェクトは、最先端のAIツールとフレームワークを活用して、Webページから求人を抽出するプロセスを自動化し、ユーザー入力とカスタマイズ可能なスキルポートフォリオに基づいて求人用のパーソナライズされたコールドメールを生成します。 GROQを搭載したLLM(言語学習モデル)、Langchainプロンプト、Webスクレイピング、およびVectorデータベースを統合して、ジョブアプリケーション作成のエンドツーエンドプロセスを合理化します。
特徴
- Webスクレイピング:
WebBaseLoaderを使用して動的なWebページから求人を自動的に抽出し、抽出されたデータをクリーニングしてノイズを排除します。 - 求人抽出: LangchainのLLMプロンプトチェーンを利用して、関連するジョブの詳細(役割、経験、スキル、説明)を有効なJSONオブジェクトに抽出およびフォーマットします。
- パーソナライズされたコールドメール: GROQを搭載したLLMを使用して、候補者のスキルと関連するポートフォリオリンクでカスタマイズ可能なテーラードコールドメールを生成します。
- ベクトルデータベース統合: ChromAdbを使用してTech StackおよびPortfolioメタデータを保存して、コールドメールに関連するリンクを効率的にクエリします。
- ダイナミックメール生成:ジョブの説明と一致し、最も関連性の高いエクスペリエンスとプロジェクトを強調する、パーソナライズされた結果駆動型の電子メールを作成します。
使用されたテクノロジー
- LLM Integration(GROQ):高精度のテキスト生成のためのChatGroq(LLAMA-3.1-70B)モデル。
- Langchain:動的プロンプトテンプレートの作成とLLMSをチェーンするために使用されて応答を生成します。
- Flask:電子メールの生成要求を処理し、ジョブスクレイピングとLLMインタラクションを管理するバックエンドサーバー。
- React.js:ユーザー入力(ユーザー名など)を収集し、電子メール生成プロセスをトリガーするためのFrontEnd。
- ChromadB:効率的なメタデータストレージとクエリのためのベクトルデータベース。
- PANDAS:ポートフォリオCSVデータの処理とChromADBのストレージのために処理に使用されます。
- Flask-Cors: FlaskバックエンドのCORを有効にします。
セットアップ手順
前提条件
- Python 3
- node.jsとnpm(React Frontend用)
- GROQ APIキー(LLM統合用)
インストール
リポジトリをクローンします:
git clone https://github.com/IMRANDIL/cold_email_generator_llm.git
cd cold_email_generator_llm
バックエンドセットアップ(フラスコ):
- 仮想環境を作成してアクティブ化します。
python3 -m venv venv
source venv/bin/activate
- 必要なPython依存関係をインストールします。
pip install -r requirements.txt
- GROQ APIキーの環境変数を設定します:
export GROQ_API_KEY= " your-api-key "
- フラスコサーバーを開始します:
FrontEndセットアップ(React):
-
frontendディレクトリに移動します。 - 依存関係をインストールします。
- React Development Serverを開始します。
使用法
- フロントエンドインターフェイスにアクセスして、ユーザー名を入力し、電子メール生成プロセスをトリガーします。
- バックエンドは、求人の投稿をこすり、Langchainプロンプトで処理し、Vectorデータベースを照会し、各ジョブのカスタマイズされたコールドメールを生成します。
- 電子メールはJSON形式で返され、「Copy to Clipboard」機能を備えた、フォーマットされたコードブロックに表示されます。
出力の例
{
"subject" : " Application for Lead Software Engineer at XYZ Inc. " ,
"body" : " Dear Hiring Manager, I am writing to express my interest in the Lead Software Engineer position... "
}将来の強化
- ダイナミックウェブスクレイピング: Webスクレイピング機能を拡張して、より複雑で動的な求人ウェブサイトを処理します。
- 高度なクエリ:ベクトルデータベースクエリメカニズムを改善して、複数のスキルセットをより効率的に処理します。
- UIの拡張機能:複数の電子メールテンプレートのユーザーエクスペリエンスとサポートを改善するために、React.js Frontendをさらに強化します。
- 複数のAPI統合:他のLLMモデル(OpenAIなど)との統合を調査して、汎用性を高めます。
ライセンス
このプロジェクトは、MITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。