Английский |
validate_tests.sh
Dockerfile
build_image.sh
Github Sentinel-это AI Agent
предназначенный для интеллектуального поиска информации и добычи высокого содержания, специально разработанного для эпохи больших моделей (LLMS). Он предназначен для пользователей, которые нуждаются в высокой частоте и больших объемах получения информации, особенно энтузиастов с открытым исходным кодом, отдельных разработчиков и инвесторов.
GitHub Sentinel не только помогает пользователям автоматически отслеживать и анализировать последние обновления GitHub 开源项目
, но и быстро расширяться на другие информационные каналы, такие как популярные темы Hacker News
, предоставляя более полную информацию для анализа информации и анализа.
Отслеживание прогресса в проекте GitHub
Hacker News Hot Tech Mining
Во -первых, установите требуемые зависимости:
pip install -r requirements.txt
Отредактируйте файл config.json
, чтобы установить токен GitHub, настройки электронной почты (пример Tencent WeChat в качестве примера), файлы подписки, настройки обновления, конфигурация услуг Big Model (поддерживает API OpenAI GPT и Ollama Private Big Model Service), а также автоматически получение и создание отчетов (Github Project, Hacker News Hot Topics и современные тренды технологий):
{
"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, так и настройки пароля электронной почты. Настройки поддержки с использованием переменных среды, чтобы избежать явной настройки важной информации, как показано ниже:
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "
GitHub Sentinel поддерживает следующие три способа работы:
Вы можете запустить приложение интерактивно из командной строки:
python src/command_tool.py
В этом режиме вы можете вручную вводить команды для управления подписками, получения обновлений и генерации отчетов.
Чтобы запустить приложение в качестве фоновой службы (Daemon), оно будет обновляться автоматически на основе соответствующей конфигурации.
Вы можете начать, статус запроса, закрыть и перезагрузить непосредственно с помощью сценария управления демонами 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, позвольте пользователям взаимодействовать с инструментом через веб -интерфейс:
python src/gradio_server.py
http://localhost:7860
, но вы можете поделиться им публично, если хотите. Ollama-это частный инструмент управления крупным моделью, который поддерживает локальное и контейнерное развертывание, взаимодействие командной строки и вызовы API REST.
Для получения подробных инструкций по выпуску службы развертывания и приватизации Ollama Mockup, пожалуйста, см.
Чтобы позвонить в частную службу макета, используя Ollama в GitHub Sentinel, выполните эти шаги для установки и настройки:
Установите Ollama : Пожалуйста, загрузите и установите сервис Ollama в соответствии с официальной документацией Ollama. Ollama поддерживает различные операционные системы, включая Linux, Windows и MacOS.
Запустите службу Ollama : после завершения установки запустите службу Ollama со следующей командой:
ollama serve
По умолчанию API Ollama будет работать по http://localhost:11434
.
Настройка использования OLLAMA в GitHub Sentinel : в файле config.json
настройте информацию, связанную с API Ollama:
{
"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
проекта.validate_tests.sh
.validate_tests.sh
во время процесса сборки, чтобы убедиться, что все модульные тесты пройдут. Если тест не удается, процесс сборки будет прерван.src/main.py
будет работать по умолчанию в качестве точки входа контейнера.build_image.sh
build_image.sh
- это сценарий оболочки для автоматического создания изображений Docker. Он берет имя ветви из текущей ветви GIT и использует его в качестве метки для изображения 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