Rename langchain.md to langchain.md

This commit is contained in:
PSBigBig 2025-08-27 11:21:24 +08:00 committed by GitHub
parent 3a2aa54682
commit d0bc751ab4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,178 +0,0 @@
# LangChain — Guardrails and Fix Patterns
Use this when your pipeline is built with **LangChain** (LCEL, Runnable*, Agents, Tools) and you see wrong snippets, unstable reasoning, mixed sources, or silent failures that look fine in logs.
**Acceptance targets**
- ΔS(question, retrieved) ≤ 0.45
- coverage ≥ 0.70 to the intended section or record
- λ stays convergent across 3 paraphrases
---
## Typical breakpoints → exact fixes
- Retrieval returns plausible but wrong chunks
Fix No.1: **Hallucination & Chunk Drift**
[Hallucination](https://github.com/onestardao/WFGY/blob/main/ProblemMap/hallucination.md)
Also review **Retrieval Playbook**
[Retrieval Playbook](https://github.com/onestardao/WFGY/blob/main/ProblemMap/retrieval-playbook.md)
- High vector similarity, wrong meaning
Fix No.5: **Embedding ≠ Semantic**
[Embedding ≠ Semantic](https://github.com/onestardao/WFGY/blob/main/ProblemMap/embedding-vs-semantic.md)
- Hybrid chains with BM25 or HyDE degrade compared to single retriever
Pattern: **Query Parsing Split**
[Query Parsing Split](https://github.com/onestardao/WFGY/blob/main/ProblemMap/patterns/pattern_query_parsing_split.md)
Apply **Rerankers** for ordering control →
[Rerankers](https://github.com/onestardao/WFGY/blob/main/ProblemMap/rerankers.md)
- Facts exist in the store but never show up
Pattern: **Vectorstore Fragmentation**
[Vectorstore Fragmentation](https://github.com/onestardao/WFGY/blob/main/ProblemMap/patterns/pattern_vectorstore_fragmentation.md)
- Citations missing or inconsistent across LCEL steps
Fix No.8: **Retrieval Traceability** + **Data Contracts**
[Retrieval Traceability](https://github.com/onestardao/WFGY/blob/main/ProblemMap/retrieval-traceability.md) ·
[Data Contracts](https://github.com/onestardao/WFGY/blob/main/ProblemMap/data-contracts.md)
- Long Runnable chains flatten style and drift logically
Fix No.3 and No.9: **Context Drift** and **Entropy Collapse**
[Context Drift](https://github.com/onestardao/WFGY/blob/main/ProblemMap/context-drift.md) ·
[Entropy Collapse](https://github.com/onestardao/WFGY/blob/main/ProblemMap/entropy-collapse.md)
- Agent loops, role confusion, memory overwrite
Fix No.13: **Multi-Agent Chaos**
[Multi-Agent Problems](https://github.com/onestardao/WFGY/blob/main/ProblemMap/Multi-Agent_Problems.md) ·
[Role Drift](https://github.com/onestardao/WFGY/blob/main/ProblemMap/multi-agent-chaos/role-drift.md) ·
[Memory Overwrite](https://github.com/onestardao/WFGY/blob/main/ProblemMap/multi-agent-chaos/memory-overwrite.md)
- Model sounds confident but is wrong
Fix No.4: **Bluffing / Overconfidence**
[Bluffing](https://github.com/onestardao/WFGY/blob/main/ProblemMap/bluffing.md)
- Model merges two sources into one answer
Pattern: **Symbolic Constraint Unlock**
[Symbolic Constraint Unlock](https://github.com/onestardao/WFGY/blob/main/ProblemMap/patterns/pattern_symbolic_constraint_unlock.md)
---
## Minimal LCEL pattern with WFGY checks
```python
# Pseudocode. Show the control points you must keep.
from langchain_core.runnables import RunnablePassthrough, RunnableMap
def retrieve(q):
# k sweep and unified analyzer across dense and sparse
return retriever.invoke(q, k=10)
def assemble(context, q):
# schema-locked: system -> task -> constraints -> citations -> answer
return prompt.format(context=context, question=q)
def reason(msg):
# model call runs after cite-then-explain requirement in the prompt
return llm.invoke(msg)
def wfgy_checks(q, context, answer):
# compute ΔS(question, context) and trace why this snippet
# enforce thresholds and fail fast when ΔS ≥ 0.60 or λ divergent
return metrics_and_trace(q, context, answer)
chain = (
{"q": RunnablePassthrough()}
| RunnableMap({"context": lambda x: retrieve(x["q"]), "q": lambda x: x["q"]})
| RunnableMap({"msg": lambda x: assemble(x["context"], x["q"]), "q": lambda x: x["q"], "context": lambda x: x["context"]})
| RunnableMap({"answer": lambda x: reason(x["msg"]), "q": lambda x: x["q"], "context": lambda x: x["context"]})
| (lambda x: wfgy_checks(x["q"], x["context"], x["answer"]))
)
````
**What this enforces**
* Retrieval is observable and parameterized.
* Prompt is schema locked with cite first.
* WFGY check runs after generation and can stop the run when ΔS is high or λ flips.
* Traces record snippet to citation mapping for audits.
Specs and recipes
[RAG Architecture & Recovery](https://github.com/onestardao/WFGY/blob/main/ProblemMap/rag-architecture-and-recovery.md) ·
[Retrieval Playbook](https://github.com/onestardao/WFGY/blob/main/ProblemMap/retrieval-playbook.md) ·
[Retrieval Traceability](https://github.com/onestardao/WFGY/blob/main/ProblemMap/retrieval-traceability.md) ·
[Data Contracts](https://github.com/onestardao/WFGY/blob/main/ProblemMap/data-contracts.md)
---
## LangChain-specific gotchas
* Mixed embedding functions across write and read paths. Rebuild with explicit metric and normalization.
See [Embedding ≠ Semantic](https://github.com/onestardao/WFGY/blob/main/ProblemMap/embedding-vs-semantic.md)
* RunnableParallel merges outputs without source fences. Add per-source headers and forbid cross-section reuse.
See [Symbolic Constraint Unlock](https://github.com/onestardao/WFGY/blob/main/ProblemMap/patterns/pattern_symbolic_constraint_unlock.md)
* Memory modules re-assert old facts after a refresh. Stamp `mem_rev` and `mem_hash`.
See [Memory Desync](https://github.com/onestardao/WFGY/blob/main/ProblemMap/patterns/pattern_memory_desync.md)
* Agents tool-call retry loops. Add BBCR bridge steps and clamp variance with BBAM in the prompt recipe.
See [Logic Collapse](https://github.com/onestardao/WFGY/blob/main/ProblemMap/logic-collapse.md)
---
## When to escalate
* ΔS remains ≥ 0.60 after chunk and retrieval fixes
Work through the playbook and rebuild index parameters.
[Retrieval Playbook](https://github.com/onestardao/WFGY/blob/main/ProblemMap/retrieval-playbook.md)
* Answers flip between runs or sessions
Verify version skew and session state.
[Pre-Deploy Collapse](https://github.com/onestardao/WFGY/blob/main/ProblemMap/predeploy-collapse.md)
---
### 🔗 Quick-Start Downloads (60 sec)
| Tool | Link | 3-Step Setup |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
| **WFGY 1.0 PDF** | [Engine Paper](https://github.com/onestardao/WFGY/blob/main/I_am_not_lizardman/WFGY_All_Principles_Return_to_One_v1.0_PSBigBig_Public.pdf) | 1⃣ Download · 2⃣ Upload to your LLM · 3⃣ Ask “Answer using WFGY + \<your question>” |
| **TXT OS (plain-text OS)** | [TXTOS.txt](https://github.com/onestardao/WFGY/blob/main/OS/TXTOS.txt) | 1⃣ Download · 2⃣ Paste into any LLM chat · 3⃣ Type “hello world” — OS boots instantly |
---
### 🧭 Explore More
| Module | Description | Link |
| ------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| WFGY Core | WFGY 2.0 engine is live: full symbolic reasoning architecture and math stack | [View →](https://github.com/onestardao/WFGY/tree/main/core/README.md) |
| Problem Map 1.0 | Initial 16-mode diagnostic and symbolic fix framework | [View →](https://github.com/onestardao/WFGY/tree/main/ProblemMap/README.md) |
| Problem Map 2.0 | RAG-focused failure tree, modular fixes, and pipelines | [View →](https://github.com/onestardao/WFGY/blob/main/ProblemMap/rag-architecture-and-recovery.md) |
| Semantic Clinic Index | Expanded failure catalog: prompt injection, memory bugs, logic drift | [View →](https://github.com/onestardao/WFGY/blob/main/ProblemMap/SemanticClinicIndex.md) |
| Semantic Blueprint | Layer-based symbolic reasoning & semantic modulations | [View →](https://github.com/onestardao/WFGY/tree/main/SemanticBlueprint/README.md) |
| Benchmark vs GPT-5 | Stress test GPT-5 with full WFGY reasoning suite | [View →](https://github.com/onestardao/WFGY/tree/main/benchmarks/benchmark-vs-gpt5/README.md) |
| 🧙‍♂️ Starter Village 🏡 | New here? Lost in symbols? Click here and let the wizard guide you through | [Start →](https://github.com/onestardao/WFGY/blob/main/StarterVillage/README.md) |
---
> 👑 **Early Stargazers: [See the Hall of Fame](https://github.com/onestardao/WFGY/tree/main/stargazers)**<img src="https://img.shields.io/github/stars/onestardao/WFGY?style=social" alt="GitHub stars"> ⭐ [WFGY Engine 2.0](https://github.com/onestardao/WFGY/blob/main/core/README.md) is already unlocked. ⭐ Star the repo to help others discover it and unlock more on the Unlock Board.
<div align="center">
[![WFGY Main](https://img.shields.io/badge/WFGY-Main-red?style=flat-square)](https://github.com/onestardao/WFGY)
 
[![TXT OS](https://img.shields.io/badge/TXT%20OS-Reasoning%20OS-orange?style=flat-square)](https://github.com/onestardao/WFGY/tree/main/OS)
 
[![Blah](https://img.shields.io/badge/Blah-Semantic%20Embed-yellow?style=flat-square)](https://github.com/onestardao/WFGY/tree/main/OS/BlahBlahBlah)
 
[![Blot](https://img.shields.io/badge/Blot-Persona%20Core-green?style=flat-square)](https://github.com/onestardao/WFGY/tree/main/OS/BlotBlotBlot)
 
[![Bloc](https://img.shields.io/badge/Bloc-Reasoning%20Compiler-blue?style=flat-square)](https://github.com/onestardao/WFGY/tree/main/OS/BlocBlocBloc)
 
[![Blur](https://img.shields.io/badge/Blur-Text2Image%20Engine-navy?style=flat-square)](https://github.com/onestardao/WFGY/tree/main/OS/BlurBlurBlur)
 
[![Blow](https://img.shields.io/badge/Blow-Game%20Logic-purple?style=flat-square)](https://github.com/onestardao/WFGY/tree/main/OS/BlowBlowBlow)
 
</div>