<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>cfgnotes</title>
    <link>https://cfgnotes.com/</link>
    <description>
      <![CDATA[Engineering Deep Dives — AI Agents, RAG & Developer Tools]]>
    </description>
    <language>en</language>
    <copyright>All rights reserved 2026, cfgnotes</copyright>
    <lastBuildDate>Thu, 28 May 2026 10:00:00 GMT</lastBuildDate>
    <generator>Hexo</generator>
    <atom:link href="https://cfgnotes.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Qwen3.5 Pitfalls: Thinking Chain and flash-attn</title>
      <link>https://cfgnotes.com/lora-elderly/qwen35-pitfalls/</link>
      <description>Verification and vLLM must-disable thinking, flash-linear-attention warnings, MPS+PEFT device strategies.</description>
      <author>cfgnotes</author>
      <pubDate>Thu, 28 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>vLLM Deployment: Dynamic Mounting of LoRA and OpenAI-Compatible API</title>
      <link>https://cfgnotes.com/lora-elderly/vllm-deployment/</link>
      <description>vllm serve --enable-lora, curl/Python invocation, production checklist (excluding weight merging).</description>
      <author>cfgnotes</author>
      <pubDate>Thu, 28 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LoRA Effect Validation: The Principle of verify_lora.py and Practical Tests on Mac</title>
      <link>https://cfgnotes.com/lora-elderly/verify-lora/</link>
      <description>Comparison before and after fine-tuning, enable_thinking=False, MPS inference and companion-style rubric.</description>
      <author>cfgnotes</author>
      <pubDate>Wed, 27 May 2026 16:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Understanding the LoRA Training Curve: 750-Step Real Trading Review</title>
      <link>https://cfgnotes.com/lora-elderly/training-metrics/</link>
      <description>Interpretation of four milestones in all_logs.log, difference between train_loss and stepwise loss, method for judgment when there is no eval set.</description>
      <author>cfgnotes</author>
      <pubDate>Wed, 27 May 2026 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Single Card SFT Practice (Part 2): SFTTrainer and Training Loop</title>
      <link>https://cfgnotes.com/lora-elderly/sft-training-part2/</link>
      <description>SFTConfig parameters, paged_adamw_8bit, Trainer injection of LoRA, final_lora saving and checkpoint.</description>
      <author>cfgnotes</author>
      <pubDate>Wed, 27 May 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Single-Card SFT Practical (Part 1): Tokenizer, Base Model, and LoRA Configuration</title>
      <link>https://cfgnotes.com/lora-elderly/sft-training-part1/</link>
      <description>train_lora_single.py Steps 1–4: device_map, LoraConfig, apply_chat_template training mode.</description>
      <author>cfgnotes</author>
      <pubDate>Wed, 27 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Qwen3.5-4B LoRA Fine-tuning Environment Setup and Model Preparation</title>
      <link>https://cfgnotes.com/lora-elderly/environment-setup/</link>
      <description>PyTorch/TRL/PEFT version pinning, ModelScope download, V100 training and Mac MPS validation division of labor.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 16:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LoRA Principle: Training Only 0.25% of Parameters</title>
      <link>https://cfgnotes.com/lora-elderly/lora-principles/</link>
      <description>Low-rank decomposition, meaning of r/alpha/target_modules, comparison of adapter_config.json and SFTTrainer injection points.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Training Set Design: 1000 JSONL and Elderly Psychological Model</title>
      <link>https://cfgnotes.com/lora-elderly/dataset-design/</link>
      <description>messages three-role format, five categories of psychological themes, system prompt design, and load_jsonl_data consumption method.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>pydantic-settings Configuration Management: Best Practices for API Key Masking and Multi-Environment Configuration</title>
      <link>https://cfgnotes.com/ican/pydantic-settings/</link>
      <description>BaseSettings, .env priority, llm_config_dict desensitization, and module-level singleton.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why Use LoRA for Elderly Emotional Companionship AI</title>
      <link>https://cfgnotes.com/lora-elderly/why-lora-elderly-companion/</link>
      <description>Vertical scenario selection: empathetic companionship vs. general preaching, LoRA SFT pipeline overview and V100 actual test 41-minute training data.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Intelligent Dialogue Engine in Practice — Multi-turn Context Management and Smart Chart Recommendation</title>
      <link>https://cfgnotes.com/case/data-analysis/chat-engine/</link>
      <description>chat_engine linear pipeline: session persistence, multi-turn context, rule engine chart recommendation and report generation, non-LLM chart selection.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Implementing a Frontend Drag-and-Drop Interaction System —— Drag API + Grid + mousedown</title>
      <link>https://cfgnotes.com/case/data-analysis/drag-drop-editor/</link>
      <description>DashboardBuilder: Component library HTML5 drag-and-drop, canvas mousedown move and resize, grid snapping and layout persistence.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Data Dashboard Two-Stage Separation Architecture: Design Time vs Runtime Decoupling</title>
      <link>https://cfgnotes.com/case/data-analysis/dashboard-two-phase/</link>
      <description>At design time, resolve writes to query_config.sql; at runtime, render only executes SQL; large-screen refresh at 200ms level, zero LLM cost.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Production Deployment and Performance Optimization — Asynchronous Architecture, Caching Strategy, and Monitoring</title>
      <link>https://cfgnotes.com/case/data-analysis/production-deployment/</link>
      <description>Distinguish between the current FastAPI monolith (uvicorn + Vite) and the planned Redis, Compose, Prometheus/ELK; local run-through and evolution roadmap.</description>
      <author>cfgnotes</author>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>FastAPI Middleware Design: Custom RateLimitMiddleware and CORS Configuration Practice</title>
      <link>https://cfgnotes.com/ican/fastapi-middleware/</link>
      <description>Sliding window rate limiting, /health exemption and CORSMiddleware MVP configuration.</description>
      <author>cfgnotes</author>
      <pubDate>Mon, 25 May 2026 16:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Full Record of Pitfalls in Docker Deployment of AI Projects: PyTorch CPU Version + Chinese Fonts + Frontend Build</title>
      <link>https://cfgnotes.com/ican/docker-deploy/</link>
      <description>Multi-stage Dockerfile, CPU version PyTorch, fonts-noto-cjk, and node_modules overwriting pitfalls.</description>
      <author>cfgnotes</author>
      <pubDate>Mon, 25 May 2026 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Prompt Strategy for Conversational AI Agent: 5-Stage Progressive Information Mining</title>
      <link>https://cfgnotes.com/ican/guide-prompt/</link>
      <description>GUIDE_SYSTEM_PROMPT, five-stage template, and check_sufficiency dual-track stopping criteria.</description>
      <author>cfgnotes</author>
      <pubDate>Mon, 25 May 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>NL→SQL Translation Engine — Semantic Model Injection and Security Verification</title>
      <link>https://cfgnotes.com/case/data-analysis/nl2sql-engine/</link>
      <description>Semantic model injection, LiteLLM generating SQL, SELECT validation and blacklist filtering; a complete pipeline for interfacing dialogue and large-screen resolve.</description>
      <author>cfgnotes</author>
      <pubDate>Mon, 25 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>RIASEC Holland Assessment Prompt Engineering: Let AI Scientifically Assess Career Interests</title>
      <link>https://cfgnotes.com/ican/riasec-prompt/</link>
      <description>Analyze RIASEC prompt structure, Holland Code output, and CareerMatcher integration.</description>
      <author>cfgnotes</author>
      <pubDate>Mon, 25 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Prompt Design for AI Agent: How to Make LLM Stably Output Structured JSON</title>
      <link>https://cfgnotes.com/ican/prompt-json/</link>
      <description>json_object mode, parse_json_from_text four-level degradation, and ResumeParser Prompt structure.</description>
      <author>cfgnotes</author>
      <pubDate>Sun, 24 May 2026 16:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Python PDF Generation in Practice: ReportLab + matplotlib for Professional Chinese Reports</title>
      <link>https://cfgnotes.com/ican/pdf-report/</link>
      <description>Direct parsing of Markdown with ReportLab, CJK fonts, and embedding matplotlib charts into PDF.</description>
      <author>cfgnotes</author>
      <pubDate>Sun, 24 May 2026 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SQLAlchemy Automatic Migration Solution: Technique to Add Fields Automatically Without Alembic</title>
      <link>https://cfgnotes.com/ican/sqlalchemy-auto-migrate/</link>
      <description>_auto_migrate: add columns at startup, FastAPI lifespan integration, and MVP security strategy.</description>
      <author>cfgnotes</author>
      <pubDate>Sun, 24 May 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>FastAPI SSE Streaming Output + WebSocket Progress Push: Real-Time Communication Solution for AI Applications</title>
      <link>https://cfgnotes.com/ican/sse-websocket/</link>
      <description>chat/stream SSE, ws_manager reports progress, and run_analysis_pipeline asynchronous push.</description>
      <author>cfgnotes</author>
      <pubDate>Sun, 24 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Metadata Intelligent Management System —— LLM-driven Semantic Model Construction</title>
      <link>https://cfgnotes.com/case/data-analysis/metadata-management/</link>
      <description>LLM automatically parses Chinese field names and table relationships, assembles a semantic model in real-time and injects it into NL→SQL; explains the difference from planning capabilities such as Redis caching.</description>
      <author>cfgnotes</author>
      <pubDate>Sun, 24 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>FastAPI + LangChain Integration Best Practices: Unified LLM Call Interface Design</title>
      <link>https://cfgnotes.com/ican/llm-integration/</link>
      <description>providers.py dual model, invoke_llm_with_json and ChatOpenAI compatible API switching.</description>
      <author>cfgnotes</author>
      <pubDate>Sat, 23 May 2026 16:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LangGraph Error Handling and Fault Tolerance Design: 5 Strategies to Prevent AI Agent System Crashes</title>
      <link>https://cfgnotes.com/ican/error-handling/</link>
      <description>Health check, node try/except, JSON four-layer degradation, and template degradation when Ollama is unavailable.</description>
      <author>cfgnotes</author>
      <pubDate>Sat, 23 May 2026 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LangGraph Double-Layer StateGraph Nesting: Architectural Practice for Reducing Agent Coupling</title>
      <link>https://cfgnotes.com/ican/nested-stategraph/</link>
      <description>Double-layer nesting of create_workflow and create_guide_graph, subgraph ainvoke and decoupling test.</description>
      <author>cfgnotes</author>
      <pubDate>Sat, 23 May 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LLM Unified Gateway Design — LiteLLM Abstraction, Prompt Engineering, and Response Cleaning</title>
      <link>https://cfgnotes.com/case/data-analysis/llm-gateway/</link>
      <description>Using LiteLLM to unify DeepSeek/OpenAI calls, embedding Prompt and multi-layer response cleaning, achieving zero-cost model switching and stable JSON/SQL output.</description>
      <author>cfgnotes</author>
      <pubDate>Sat, 23 May 2026 10:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LangGraph Conditional Routing in Practice: Implementing Agent Loop Dialogue and Forced Exit Mechanism</title>
      <link>https://cfgnotes.com/ican/conditional-routing/</link>
      <description>route_after_guide, should_continue, and loop limit, Guide loop and forced handoff.</description>
      <author>cfgnotes</author>
      <pubDate>Sat, 23 May 2026 10:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
