9bb011e429
- Replace st.chat_input with st-multimodal-chatinput (Ctrl+V paste, drag-drop, file button) - Extract _process_uploaded_file() shared handler (eliminates ~70 duplicated lines) - Add XLSX (openpyxl), XLS (xlrd), DOC (olefile) parsers to file_parser.py - Add backend/annotation_detector.py: circle detection (HoughCircles) + arrow detection (HoughLinesP clustering) + OCR correlation + LLM context formatting - Add annotation_result field to AgentState with session persistence - Wire annotation detection into process_input and _format_ocr_context - Add 11 new tests: 7 annotation detector + 4 multi-format parser - Update all docs: CLAUDE.md, README.md, CODE_GUIDE.md, ROADMAP.md
50 lines
975 B
Plaintext
50 lines
975 B
Plaintext
# 核心依赖
|
|
streamlit>=1.28.0
|
|
langgraph>=0.2.0
|
|
langchain>=0.3.0
|
|
langchain-openai>=0.2.0
|
|
langchain-anthropic>=0.3.0
|
|
langchain-ollama>=0.2.0
|
|
langchain-community>=0.3.0
|
|
|
|
# 向量数据库
|
|
chromadb>=0.5.0
|
|
|
|
# 验证服务
|
|
fastapi>=0.115.0
|
|
uvicorn[standard]>=0.30.0
|
|
lxml>=5.3.0
|
|
|
|
# 嵌入模型(本地)
|
|
sentence-transformers>=3.0.0
|
|
torch>=2.0.0
|
|
huggingface_hub>=0.19.0
|
|
tqdm>=4.65.0
|
|
|
|
# 工具类
|
|
python-dotenv>=1.0.0
|
|
httpx>=0.27.0
|
|
tiktoken>=0.7.0
|
|
|
|
# OCR 依赖(PaddleOCR 精确识别优先,EasyOCR 回退)
|
|
# Pinned: paddleocr 2.9.x + paddlepaddle 2.6.x known-stable on Windows CPU
|
|
# 3.x has ONEDNN compatibility issues on Windows
|
|
paddleocr>=2.9.0,<3.0.0
|
|
paddlepaddle>=2.6.0,<3.0.0
|
|
easyocr>=1.7.0
|
|
# 聊天输入增强(粘贴/拖拽上传)
|
|
st-multimodal-chatinput>=0.2.1
|
|
|
|
# 多格式文件解析
|
|
openpyxl>=3.1.0
|
|
xlrd>=2.0.0
|
|
olefile>=0.47
|
|
|
|
# 批注检测(圈选/箭头识别)
|
|
opencv-python-headless>=4.8.0
|
|
|
|
# 测试
|
|
pytest>=8.0.0
|
|
pytest-asyncio>=0.24.0
|
|
xlwt>=1.3.0
|