英語|
validate_tests.sh
Dockerfile
build_image.sh
Github Sentinelは、インテリジェントな情報検索および高価値コンテンツマイニング用に設計されたAI Agent
で、大きなモデル(LLMS)の時代に特別に設計されています。高頻度と大量の情報取得、特にオープンソースの愛好家、個々の開発者、投資家を必要とするユーザーを対象としています。
Github Sentinelは、ユーザーがGitHub 开源项目
の最新の更新を自動的に追跡および分析するのに役立つだけでなく、 Hacker News
の人気のあるトピックなど、より包括的な情報マイニングおよび分析機能を提供するなど、他の情報チャネルに迅速に拡大するのに役立ちます。
GitHubプロジェクトの進行状況追跡と要約
ハッカーニュースホットテックトピックマイニング
まず、必要な依存関係をインストールします。
pip install -r requirements.txt
config.json
ファイルを編集して、githubトークン、電子メール設定(例としてtencent wechatメールボックスを使用)、サブスクリプションファイル、更新設定、ビッグモデルサービス構成(Openai GPT APIおよびOllamaのプライベートビッグモデルサービスをサポート)、および自動的にレポートを自動的に取得および生成します(Github Project Progress、Hacker News Hot TopicsおよびCutted-Edge Technology Trends)。
{
"github" : {
"token" : " your_github_token " ,
"subscriptions_file" : " subscriptions.json " ,
"progress_frequency_days" : 1 ,
"progress_execution_time" : " 08:00 "
},
"email" : {
"smtp_server" : " smtp.exmail.qq.com " ,
"smtp_port" : 465 ,
"from" : " [email protected] " ,
"password" : " your_email_password " ,
"to" : " [email protected] "
},
"llm" : {
"model_type" : " ollama " ,
"openai_model_name" : " gpt-4o-mini " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
},
"report_types" : [
" github " ,
" hacker_news_hours_topic " ,
" hacker_news_daily_report "
],
"slack" : {
"webhook_url" : " your_slack_webhook_url "
}
}
セキュリティ上の理由:以下に示すように、重要な情報の明示的な構成を避けるために、環境変数を使用してパスワードの設定をサポートしているパスワード設定と電子メールの両方のパスワード設定の両方をサポートします。
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "
Github Sentinelは、次の3つの実行方法をサポートしています。
コマンドラインからアプリをインタラクティブに実行できます。
python src/command_tool.py
このモードでは、コマンドを手動で入力してサブスクリプションを管理し、更新を取得し、レポートを生成できます。
バックグラウンドサービス(デーモン)としてアプリを実行するには、関連する構成に基づいて自動的に更新されます。
Daemon Management Script Daemon_Control.shを使用して、開始、クエリステータス、閉じ、直接再起動できます。
サービスを開始します:
$ ./daemon_control.sh start
Starting DaemonProcess...
DaemonProcess started.
config.json
で設定された更新頻度と時点に応じてレポートを定期的に生成し、メールを送信します。logs/DaemonProcess.log
ファイルに保存されます。同時に、履歴累積ログもlogs/app.log
ログファイルに同期して追加されます。クエリサービスステータス:
$ ./daemon_control.sh status
DaemonProcess is running.
サービスを閉じます:
$ ./daemon_control.sh stop
Stopping DaemonProcess...
DaemonProcess stopped.
サービスを再起動します:
$ ./daemon_control.sh restart
Stopping DaemonProcess...
DaemonProcess stopped.
Starting DaemonProcess...
DaemonProcess started.
Gradio Interfaceを使用してアプリケーションを実行するには、ユーザーがWebインターフェイスを介してツールと対話できるようにします。
python src/gradio_server.py
http://localhost:7860
でアクセスできますが、必要に応じて公開できます。 Ollamaは、ローカルおよびコンテナ化された展開、コマンドラインインタラクション、およびREST API呼び出しをサポートするプライベートビッグモデル管理ツールです。
Ollamaのインストール展開とPrivatization Mockup Serviceのリリースに関する詳細な手順については、Ollamaのインストール展開とサービスのリリースを参照してください。
Github SentinelでOllamaを使用してプライベートモックアップサービスに電話するには、次の手順に従ってインストールして構成します。
Ollama:Ollamaの公式文書に従って、Ollamaサービスをダウンロードしてインストールしてください。 Ollamaは、Linux、Windows、MacOSなど、さまざまなオペレーティングシステムをサポートしています。
Ollamaサービスの開始:インストールが完了したら、次のコマンドでOllamaサービスを開始します。
ollama serve
デフォルトでは、Ollama APIはhttp://localhost:11434
で実行されます。
Github SentinelでのOllamaの使用の構成: config.json
ファイルで、Ollama API関連情報を構成します。
{
"llm" : {
"model_type" : " ollama " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
}
}
構成の確認:次のコマンドでGitHub Sentinelを起動し、レポートを生成して、Ollama構成が正しいことを確認します。
python src/command_tool.py
正しく構成されている場合、Ollamaモデルを介してレポートを生成できるようになります。
コードの品質と信頼性を確保するために、Github Sentinelはユニットテストにunittest
モジュールを使用します。 unittest
と@patch
やMagicMock
などの関連するツールの詳細な説明については、ユニットテストの詳細を参照してください。
validate_tests.sh
validate_tests.sh
は、ユニットテストを実行して結果を検証するシェルスクリプトです。コードの正確性と安定性を確保するために、Docker画像構築プロセス中に実行されます。
test_results.txt
ファイルに出力します。さまざまな環境でのGithub Sentinelプロジェクトの建設と展開を促進するために、Dockerサポートを提供します。このサポートには、次のファイルと機能が含まれています。
Dockerfile
Dockerfile
、Docker画像の構築方法を定義するために使用される構成ファイルです。依存関係のインストール、プロジェクトファイルのコピー、ユニットテストの実行など、画像を構築する手順について説明します。
python:3.10-slim
ベースイメージとして使用し、作業ディレクトリを/app
に設定します。requirements.txt
をコピーして、ファイルをファイルし、Python依存関係をインストールします。validate_tests.sh
スクリプト実行許可を与えます。validate_tests.sh
スクリプトを実行して、すべてのユニットテストが合格することを確認します。テストが失敗した場合、ビルドプロセスは中止されます。src/main.py
デフォルトでコンテナのエントリポイントとして実行されます。build_image.sh
build_image.sh
は、Docker画像を自動的に構築するためのシェルスクリプトです。現在のgitブランチからブランチ名を取得し、Docker画像のラベルとして使用しているため、さまざまなブランチで異なるDocker画像を生成しやすくします。
docker build
コマンドを使用して、Docker画像を作成し、現在のgitブランチ名をラベルとして使用します。 chmod +x build_image.sh
./build_image.sh
これらのスクリプトと構成ファイルを通じて、さまざまな開発ブランチで構築されたDocker画像がユニットテストされたコードに基づいていることが保証され、それによりコードの品質と展開の信頼性が向上します。
貢献は、オープンソースコミュニティを驚くべきものにして、学び、インスピレーションを与え、作成することです。ご貢献をありがとうございました。提案や機能のリクエストがある場合は、トピックを開始して、変更したいものについて話し合います。
このプロジェクトは、Apache-2.0ライセンスの条件に基づいてライセンスされています。詳細については、ライセンスファイルを参照してください。
django peng [email protected]
プロジェクトリンク:https://github.com/djangopeng/githubsentinel