Englisch |
validate_tests.sh
Dockerfile
build_image.sh
Github Sentinel ist AI Agent
für intelligente Informationsabruf und hochwertiger Inhaltsabbau, das speziell für die Ära der großen Modelle (LLMs) entwickelt wurde. Es richtet sich an Benutzer, die eine hohe Häufigkeit und eine große Menge an Informationserwerb benötigen, insbesondere Open -Source -Enthusiasten, einzelne Entwickler und Investoren.
Github Sentinel hilft Benutzern nicht nur, die neuesten Updates von GitHub 开源项目
automatisch zu verfolgen und zu analysieren, sondern auch schnell auf andere Informationskanäle zu erweitern, wie z Hacker News
GitHub -Projektfortschrittsverfolgung und Zusammenfassung
Hacker News Hot Tech Thema Mining
Installieren Sie zunächst die erforderlichen Abhängigkeiten:
pip install -r requirements.txt
Bearbeiten Sie die Datei config.json
, um Ihr GitHub-Token, E-Mail-Einstellungen (Tencent WeChat Mailbox als Beispiel zu nehmen), Abonnementdateien, Aktualisierungseinstellungen, Big Model Service-Konfiguration (unterstützt OpenAI GPT-API und OLLAMA-Privatmodell-Service-Service) und automatisch ab Abrufen und generieren Berichte (Github-Projekt-Fortschritt, Hacker-News Hot Topics und technologisch-technologische Trends für die Schneidereinstellung).
{
"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 "
}
}
Aus Sicherheitsgründen: Sowohl Github Token als auch E -Mail -Kennworteinstellungen unterstützen die Konfiguration mithilfe von Umgebungsvariablen, um die explizite Konfiguration wichtiger Informationen zu vermeiden, wie unten gezeigt:
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "
Github Sentinel unterstützt die folgenden drei Rennmethoden:
Sie können die App interaktiv aus der Befehlszeile ausführen:
python src/command_tool.py
In diesem Modus können Sie Befehle manuell eingeben, um Abonnements zu verwalten, Updates abzurufen und Berichte zu generieren.
Um die App als Hintergrunddienst (Daemon) auszuführen, wird sie basierend auf der relevanten Konfiguration automatisch aktualisiert.
Sie können den Status, schließen und starten Sie direkt mithemon Management -Skript DAEMON_CONTROL.SH an:
Starten Sie den Service:
$ ./daemon_control.sh start
Starting DaemonProcess...
DaemonProcess started.
config.json
festgelegten Aktualisierungsfrequenz- und Zeitpunkten und senden Sie E -Mails.logs/DaemonProcess.log
gespeichert. Gleichzeitig werden die historischen kumulativen Protokolle auch synchron an logs/app.log
-Protokolldatei angehängt.Status des Abfragedienstes:
$ ./daemon_control.sh status
DaemonProcess is running.
Schließen Sie den Service:
$ ./daemon_control.sh stop
Stopping DaemonProcess...
DaemonProcess stopped.
Starten Sie den Service neu:
$ ./daemon_control.sh restart
Stopping DaemonProcess...
DaemonProcess stopped.
Starting DaemonProcess...
DaemonProcess started.
Um eine Anwendung mithilfe der Gradio -Schnittstelle auszuführen, können Benutzer über die Webschnittstelle mit dem Tool interagieren:
python src/gradio_server.py
http://localhost:7860
zugegriffen, aber Sie können es öffentlich teilen, wenn Sie möchten. Ollama ist ein privates Tool für das große Modellverwaltung, das lokale und containerisierte Bereitstellungen, Befehlszeileninteraktion und REST-API-Aufrufe unterstützt.
Ausführliche Anweisungen zur Veröffentlichung des Mockup -Dienstes für die Installation von Ollama Installation und zur Privatisierung finden Sie in der Veröffentlichung der Installation und des Dienstes von Ollama Installation.
Befolgen Sie die folgenden Schritte, um den privaten Modelldienst mit OLLAMA in Github Sentinel zu rufen, um zu installieren und zu konfigurieren:
Installieren Sie Ollama : Bitte laden Sie den Ollama -Service nach OLLAMA -Dokumentation herunter und installieren Sie sie. Ollama unterstützt eine Vielzahl von Betriebssystemen, einschließlich Linux, Windows und MacOS.
Starten Sie den OLLAMA -Service : Starten Sie nach Abschluss der Installation den OLLAMA -Dienst mit dem folgenden Befehl:
ollama serve
Standardmäßig wird die Ollama -API unter http://localhost:11434
ausgeführt.
Konfigurieren von OLLAMA -Verwendung in Github Sentinel : Konfigurieren Sie in der Datei config.json
die von Ollama API bezogenen Informationen:
{
"llm" : {
"model_type" : " ollama " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
}
}
Überprüfen Sie die Konfiguration : Starten Sie den GitHub Sentinel mit dem folgenden Befehl und generieren Sie einen Bericht, um zu überprüfen, ob die Ollama -Konfiguration korrekt ist:
python src/command_tool.py
Wenn Sie korrekt konfiguriert werden, können Sie Berichte über das Ollama -Modell erstellen.
Um die Qualität und Zuverlässigkeit des Codes zu gewährleisten, verwendet Github Sentinel das unittest
Modul für Unit -Tests. Ausführliche Beschreibungen von unittest
und seinen zugehörigen Tools wie @patch
und MagicMock
finden Sie in den Einzelheiten zur Einheitstest.
validate_tests.sh
validate_tests.sh
ist ein Shell -Skript, das Unit -Tests ausführt und die Ergebnisse validiert. Es wird während des Aufbaus des Docker -Bildes ausgeführt, um die Richtigkeit und Stabilität des Codes zu gewährleisten.
test_results.txt
aus.Um den Bau und den Einsatz von Github -Sentinel -Projekten in verschiedenen Umgebungen zu erleichtern, bieten wir Docker -Unterstützung. Dieser Support enthält die folgenden Dateien und Funktionen:
Dockerfile
Dockerfile
ist eine Konfigurationsdatei, mit der definiert wird, wie ein Docker -Image erstellt wird. Es beschreibt die Schritte zum Erstellen des Bildes, einschließlich der Installation von Abhängigkeiten, dem Kopieren von Projektdateien, zum Ausführen von Unit -Tests usw.
python:3.10-slim
als Basisbild und setzen Sie das Arbeitsverzeichnis auf /app
.requirements.txt
des Projekts. TXT -Datei und installieren Sie die Python -Abhängigkeiten.validate_tests.sh
.validate_tests.sh
während des Erstellungsvorgangs aus, um sicherzustellen, dass alle Unit -Tests bestehen. Wenn der Test fehlschlägt, wird der Build -Prozess abgebrochen.src/main.py
standardmäßig als Einstiegspunkt des Containers ausgeführt.build_image.sh
build_image.sh
ist ein Shell -Skript zum automatischen Erstellen von Docker -Bildern. Es nimmt den Zweignamen aus dem aktuellen Git -Zweig und verwendet ihn als Etikett für das Docker -Bild, sodass es einfacher ist, verschiedene Docker -Bilder in verschiedenen Zweigen zu generieren.
docker build
um das Docker -Bild zu erstellen und den aktuellen Git -Zweignamen als Etikett zu verwenden. chmod +x build_image.sh
./build_image.sh
In diesen Skripten und Konfigurationsdateien wird sichergestellt, dass in verschiedenen Entwicklungszweigen die erstellten Docker-Bilder auf dem Code für Einheiten basieren, wodurch die Codequalität und die Bereitstellungszuverlässigkeit verbessert werden.
Der Beitrag macht die Open -Source -Community erstaunlich zu lernen, zu inspirieren und zu kreieren. Vielen Dank für jeden Beitrag, den Sie geleistet haben. Wenn Sie Vorschläge oder Feature -Anfragen haben, beginnen Sie bitte ein Thema, um zu besprechen, was Sie ändern möchten.
Das Projekt ist unter den Bestimmungen der Apache-2.0-Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Django peng - [email protected]
Projektlink: https://github.com/djangopeng/githubsentinel