Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗TalentRadar is an AI-powered job intelligence platform that ingests job postings, extracts structured signals via LLMs, and answers natural-language queries using Retrieval-Augmented Generation (RAG). It provides semantic job search, market trend analysis, and intelligent candidate matching.
git clone https://github.com/your-org/talentRadar.git
cd talentRadar
Copy the example environment file:
cp .env.example .env
Configure the following variables in .env:
| Variable | Description | Example |
|---|---|---|
GROQ_API_KEY | LLM parsing and generation | gsk_... |
TAVILY_API_KEY | Job posting search and scraping | tvly-... |
JWT_SECRET_KEY | Secret key for signing JWT tokens | python -c "import secrets; print(secrets.token_urlsafe(48))" |
Start all services including the API, Frontend, Database, Cache, Vector DB, and Celery workers:
docker-compose up -d
If running via Docker, the database is automatically started. Run migrations to setup the schema:
docker exec talentradar-api alembic upgrade head
talentRadar/
├── agents/ # AI agent layer (LangGraph, Prompts)
├── api/ # REST API (FastAPI)
│ ├── routers/ # Endpoint handlers
│ ├── schemas/ # Pydantic request/response models
│ ├── main.py # FastAPI application
├── config/ # Application settings
├── data/ # Shared data directory
├── frontend/ # Next.js web app
│ ├── app/ # Pages (App Router)
│ ├── components/ # React components
│ └── lib/ # API client, types, utils
├── infra/ # Infrastructure (Docker, K8s, Cloud Run)
├── ingestion/ # Data pipeline (Scrapers, Celery Tasks)
├── ml/ # Machine Learning scoring models
├── storage/ # Data layer (SQLAlchemy, Alembic)
└── tests/ # Test suite (pytest)
User Query -> Next.js Frontend -> FastAPI Endpoint -> LangGraph Agent -> pgvector (Retrieval) / Groq LLM (Generation) -> Response -> Frontend
API Server
AI Agents
Data Ingestion Pipeline
| Variable | Description | Default |
|---|---|---|
GROQ_API_KEY | Groq API Key | - |
TAVILY_API_KEY | Tavily API Key | - |
POSTGRES_USER | PostgreSQL user | talentRadar |
POSTGRES_PASSWORD | PostgreSQL password | devpassword |
POSTGRES_DB | PostgreSQL database name | talentRadar |
JWT_SECRET_KEY | JWT signing secret | - |
Hosted Postgres hands out one DSN rather than five fields: set DATABASE_URL
and it wins over the POSTGRES_* values above.
| Variable | Description | Default |
|---|---|---|
DATABASE_URL | Full Postgres DSN; overrides the discrete fields | - |
POSTGRES_SSL | Require TLS on the database connection | false |
VECTOR_BACKEND | pgvector, chroma, or none (no embeddings loaded) | pgvector |
TRUSTED_PROXY_HOPS | Proxies in front of the API; must be 1 behind a PaaS | 0 |
ENABLE_STEALTH_SCRAPERS | Headless-browser scrapers (needs .[stealth]) | false |
PDF_ENGINE | auto, latex, or builtin resume PDF rendering | auto |
ENABLE_SCHEDULER | In-process daily job-match scan | true |
LOG_LEVEL | Logging verbosity | INFO |
DEBUG | Opens /docs and the localhost CORS wildcard — never in production | false |
RATE_LIMIT_PER_MINUTE | Max requests per minute per IP | 60 |
See .env.example for the full annotated list.
| Command | Description |
|---|---|
docker-compose up -d | Start full local development stack |
docker exec talentradar-api alembic upgrade head | Run database migrations |
pytest tests/ -v | Run all tests |
ruff format . | Format codebase |
Install development dependencies:
pip install -e ".[dev,lint,docs]"
Run tests:
# Run all tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=. --cov-report=html
# End-to-end pipeline test
python tests/test_pipeline_e2e.py --quick
DEPLOY.md is the runbook. The target is a stack that costs
nothing: Neon (Postgres + pgvector), Render (the API, from render.yaml),
Vercel (the frontend), Groq (the LLM). Check readiness before you start:
python -m scripts.verify_deploy # settings, DB, pgvector, migrations, model
docker build -t talentradar-api -f infra/Dockerfile .
docker run -p 8000:8000 --env-file .env talentradar-api
The default image deliberately leaves out PyTorch, TeX Live and the Camoufox
browser — together well over two gigabytes, and none of them required: the
semantic scorer runs the same model under ONNX, resume PDFs render through
PyMuPDF, and the browser-driven scrapers are off. Add any of them back with
--build-arg INSTALL_SEMANTIC=true, INSTALL_TEXLIVE=true,
INSTALL_STEALTH=true.
Error: could not connect to server: Connection refused
Solution:
docker psdocker-compose.yml.Error: ModuleNotFoundError: No module named '...'
Solution: Ensure you have installed all dependencies inside your virtual environment or Docker container:
pip install -e .