feat: P&ID 연결 분석, LLM 에이전트 모드, KB 확장, MCP 서버 리팩토링

- P&ID: 연결 분석 API, Prefix 규칙 관리, 카테고리 분류, DXF 그래프 빌드
- LLM: 대화 요약, tool card 영구 보존, 시계열 차트(uPlot), 에이전트 모드
- KB: 청크 미리보기, Field Instrument Inference, 인증/Qdrant 클라이언트
- MCP: 서버 기능 확장, 파이프라인 수정, timeout 개선
- Frontend: P&ID UI, LLM UI, KB UI, OPC UA Write 탭 추가
- 설정: AGENTS.md, plant_context, README, opencode.json 업데이트
- 정리: 진단 체크리스트 문서 삭제
This commit is contained in:
windpacer
2026-05-21 23:36:57 +09:00
parent 960bda4a3c
commit 302183c97e
142 changed files with 2432231 additions and 1082 deletions

44
qwen3-8b-run.sh Normal file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -euo pipefail
NAME="vllm_qwen8b"
PORT="${1:-8001}"
echo "Starting Qwen3-8B-FP8 container on port ${PORT}..."
docker run -d --name "$NAME" \
--restart unless-stopped \
--gpus all --network host --ipc host \
--ulimit memlock=-1 --ulimit stack=67108864 \
-v /home/windpacer/.cache/huggingface:/root/.cache/huggingface \
-v /home/windpacer/.cache/vllm:/root/.cache/vllm \
--entrypoint "" \
vllm-node-tf5 \
bash -c "
exec vllm serve Qwen/Qwen3-8B-FP8 \
--served-model-name Qwen3-8B-FP8 \
--max-model-len 32768 \
--max-num-seqs 8 \
--gpu-memory-utilization 0.25 \
--port ${PORT} --host 0.0.0.0 \
--enable-chunked-prefill \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--trust-remote-code \
--kv-cache-dtype fp8 \
-tp 1
"
echo "Waiting for model to load..."
for i in $(seq 1 60); do
if curl -sf "http://localhost:${PORT}/v1/models" > /dev/null 2>&1; then
echo "✓ Ready on port ${PORT}"
curl -s "http://localhost:${PORT}/v1/models" | python3 -m json.tool 2>/dev/null || true
exit 0
fi
echo " Waiting... (${i}/60)"
sleep 5
done
echo "✗ Timed out. Check: docker logs $NAME"
exit 1