ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗국가법령정보센터(law.go.kr) 현행 법령을 조(條) 단위로 수집해 SQLite에 넣고, LLM이 검색된 조문만 근거로 답하게 만든 검색 서비스. Vercel 서버리스로 배포한다.
법령은 수시로 개정되므로, 답을 외우는 대신 DB를 갱신해서 다시 찾는 쪽이 낫다는 생각으로 만들었다.
공개 사이트 → /api/index.py (단일 서버리스 함수) → data/laws.db (읽기 전용)
└→ OpenAI API (gpt-4o-mini)
| 항목 | 수량 |
|---|---|
| 법령군 | 21 |
| 법령 (법률·시행령·시행규칙·고시) | 82 |
| 검색 단위 | 12,714 — 본문 조문 5,733 · 부칙 4,260 · 별표 1,420 · 서식 1,301 |
| 물질 규제 매핑 (CAS) | 2,861종 |
화학물질관리법, 화학물질등록평가법, 산업안전보건법, 중대재해처벌법, 위험물안전관리법, 고압가스안전관리법, 폐기물관리법, 대기환경보전법, 물환경보전법, 연구실안전법, 소방 3법, 토양환경보전법, 환경오염시설통합관리법, 오존층보호법, 잔류성오염물질관리법, 소음진동관리법, 전기안전관리법, 액화석유가스법, 도시가스사업법. KOSHA 기술지침은 사내망 판에만 들어 있다(용량).
법 조항은 틀리면 곧바로 실무 리스크라, 모델을 믿는 대신 코드로 막았다.
[n]이 실제로 제공한 조문 번호인지 코드로 확인하고, 벗어난 인용은
지운다. 남는 인용이 하나도 없으면 그 답변은 버린다.물질 질문(예: "디메틸아민은 유해화학물질인가?")은 별표를 대조한 확정 등재 내역을 근거 [1]로 고정해 넣는다. 별표가 커서 본문 검색만으로는 해당 행을 놓치기 때문이다.
"불산", "폐액", "MSDS" 같은 현장 표기는 법령 원문에 없다. 동의어 사전으로 다 담을 수 없어
(화학물질 이명만 수천 개) LLM에게 검색어를 만들게 한다(plan_query).
그 결과와 규칙 기반 검색 결과를 RRF(순위 융합)로 합쳐, 여러 검색어에 공통으로 잡힌 조문을
위로 올린다 — LLM이 검색어를 한 번 빗나가도 정답 조문이 밀려나지 않는다.
[시행일: …], 판 전체가 시행 전이면
법령명에 (시행예정 YYYY-MM-DD). 답변에서 현행과 구분해 말하도록 프롬프트에 넣었다.eval.py — 실제 실무 질문 37건(부칙·서식 2건 포함) + 거부 3건으로 회귀를 잡는다. 코드를 고칠 때마다 돌린다.
검색 정확도 37/37 (100%) 기대 법령·조문이 LLM에 전달된 8건 안에 들어갔는가
답변 근거정확 37/37 (100%) 실제로 그 근거를 인용해 답했는가
거부 정확도 3/3 법규와 무관한 질문을 조문으로 억지로 엮지 않았는가
export OPENAI_API_KEY=sk-... # PowerShell: $env:OPENAI_API_KEY="sk-..."
python dev_server.py # http://localhost:8788
dev_server.py는 Vercel과 같은 라우팅(정적 public/ + /api/* → api/index.py)을 흉내 낸다.
표준 라이브러리만 쓰므로 설치할 패키지가 없다.
OPENAI_API_KEY 추가| 환경변수 | 기본값 | 설명 |
|---|---|---|
OPENAI_API_KEY | (필수) | 없으면 검색·조문 열람만 되고 AI 질의는 안내 문구를 낸다 |
OPENAI_MODEL | gpt-4o-mini | |
OPENAI_BASE_URL | https://api.openai.com/v1 | OpenAI 호환 API면 사내 엔드포인트로 교체 가능 |
vercel.json의 rewrite가 /api/*를 전부 api/index.py 하나로 보낸다.
엔드포인트를 파일별로 쪼개면 함수마다 37MB DB가 복사되기 때문이다.
GET /api/stats | DB 현황 |
GET /api/laws | 법령 목록(그룹별) |
GET /api/law?law_id= | 한 법령의 조문 목차 |
GET /api/article?id= | 조문 원문 |
GET /api/search?q=&tier= | 키워드 검색 |
GET /api/substance?q= | 물질(CAS/이름) 규제 목록 대조 |
POST /api/ask | AI 질의 — {"q": "..."} |
POST /api/review | 제품 검토 — {"topic": "...", "product": {...}} |
api/index.py 모든 /api/* 요청을 받는 단일 함수 (경로로 분기)
api/_lib.py DB 접근 · 검색 · 물질 대조 (밑줄 시작이라 함수로 배포되지 않는다)
api/_rag.py 질의 파이프라인 · 프롬프트 · 3중 게이트
data/laws.db 법령 DB (읽기 전용 — 수집일은 화면 상단·/api/stats)
data/synonyms.json 현장 용어 → 법령 용어
public/index.html 화면 전체
eval.py 품질 평가셋
dev_server.py 로컬 확인용
수집 시점의 현행 법령이다. 법적 판단 전 반드시 원문 링크로 최신 조문을 확인할 것. DB를 갱신하려면 수집기가 필요하다 → https://github.com/najonghwa/safety-law-db