영어 |. 중국어
validate_tests.sh
Dockerfile
build_image.sh
Github Sentinel은 지능형 정보 검색 및 대형 모델 (LLM)을 위해 특별히 설계된 고 부가가치 컨텐츠 마이닝을 위해 설계된 AI Agent
입니다. 고주파수 및 다량의 정보 획득, 특히 오픈 소스 애호가, 개별 개발자 및 투자자가 필요한 사용자를 대상으로합니다.
Github Sentinel은 사용자가 GitHub 开源项目
의 최신 업데이트를 자동으로 추적하고 분석하는 데 도움이 될뿐만 아니라 Hacker News
의 인기 주제와 같은 다른 정보 채널로 빠르게 확장하여보다 포괄적 인 정보 마이닝 및 분석 기능을 제공합니다.
GitHub 프로젝트 진행 상황 추적 및 요약
해커 뉴스 핫 기술 주제 마이닝
먼저 필요한 종속성을 설치하십시오.
pip install -r requirements.txt
config.json
파일 편집 GitHub 토큰, 이메일 설정 (Tencent WeChat Mailbox를 예로 들어), 구독 파일, 업데이트 설정, 대형 모델 서비스 구성 (OpenAi GPT API 및 Ollama의 개인 모델 서비스 지원) 및 보고서 (GitHub 프로젝트 진행, Hacker News Hot Toctics 및 Cutting-Ledge The Technology 및 Cutting-Ledge The 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 토큰 및 이메일 비밀번호 설정은 모두 환경 변수를 사용하여 구성을 지원하여 다음과 같이 중요한 정보를 명시 적으로 구성하지 않도록합니다.
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "
Github Sentinel은 다음과 같은 세 가지 방법을 지원합니다.
명령 줄에서 앱을 대화식으로 실행할 수 있습니다.
python src/command_tool.py
이 모드에서는 수동으로 명령을 입력하여 구독을 관리하고 업데이트를 검색하며 보고서를 생성 할 수 있습니다.
앱을 배경 서비스 (데몬)로 실행하려면 관련 구성에 따라 자동으로 업데이트됩니다.
데몬 관리 스크립트 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는 로컬 및 컨테이너화 된 배포, 명령 줄 상호 작용 및 REST API 통화를 지원하는 개인 대형 모델 관리 도구입니다.
Ollama 설치 배포 및 민영화 모형 서비스 출시에 대한 자세한 지침은 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
을 복사하고 파이썬 종속성을 설치하십시오.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