발행된 사이트에 업체별 SEO/AEO 키워드를 제공하는 서비스. - PostgreSQL 16 + pgvector/ltree/pg_trgm 단일 스토어 (정확·의미·계층 조회를 한 엔진에서 처리) - 키워드는 전역 사전 + merchant_keyword 연결 테이블 구조 - 4단계 계단식 중복제거: 금칙어 → normalized 완전일치 → pg_trgm → 코사인 유사도, 걸린 표기는 aliases[] 로 흡수 - BullMQ 생성 큐 (발행 즉시 / 일 1회 크론 / 성과 기반) - OpenAI Structured Outputs + mock provider (API 키 없이 로컬 전 구간 동작) - 서빙 API: /v1/sites/:id/seo, /aeo, /performance, /keywords/search - docs/architecture.html 설계 도식 JSON-LD 조립과 o2o-site-AEO 연동은 후속 작업. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
30 lines
853 B
Plaintext
30 lines
853 B
Plaintext
# --- server ---
|
|
PORT=3100
|
|
|
|
# --- postgres (docker-compose 기본값) ---
|
|
DATABASE_URL=postgres://ontology:ontology@localhost:55432/ontology
|
|
|
|
# --- redis (BullMQ) ---
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=56379
|
|
|
|
# --- LLM ---
|
|
# mock : API 키 없이 로컬에서 전체 파이프라인 동작 (기본값)
|
|
# openai : 실제 OpenAI 호출
|
|
LLM_PROVIDER=mock
|
|
OPENAI_API_KEY=
|
|
OPENAI_MODEL=gpt-4.1-mini
|
|
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
|
|
|
|
# --- 생성/중복제거 튜닝 ---
|
|
# 코사인 유사도가 이 값 이상이면 기존 키워드에 alias 로 흡수
|
|
DEDUP_COSINE_THRESHOLD=0.92
|
|
# trigram 유사도 사전 필터
|
|
DEDUP_TRIGRAM_THRESHOLD=0.6
|
|
# 벡터 비교 대상 상위 후보 수
|
|
DEDUP_CANDIDATE_LIMIT=20
|
|
# 1회 생성 요청당 키워드 목표 개수
|
|
GENERATION_TARGET_KEYWORDS=15
|
|
# 주기 리프레시 간격(일)
|
|
REFRESH_INTERVAL_DAYS=30
|