langchain-langgraph-coding-assistant
npx skills add https://github.com/5zjk5/prompt-engineering --skill langchain-langgraph-coding-assistant
Agent 安装分布
Skill 文档
LangChain & LangGraph ç¼ç¨å©æ
æè¿°
æ¬æè½æä¾LangChainåLangGraphæ¡æ¶çç¼ç¨è¾ å©åè½ãå½ç¨æ·éè¦ç¼åç¸å ³ä»£ç æ¶ï¼æºè½ä½å°æ ¹æ®ç¨æ·éæ±ï¼åèresourcesæä»¶å¤¹ä¸ç示ä¾ä»£ç ï¼åå©ç¨æ·å®æç¼ç å·¥ä½ãresourcesæä»¶å¤¹å å«äºä¸°å¯ç示ä¾ä»£ç ï¼æ¶µçRAGãAgentã工使µãå·¥å ·å®ä¹ãä¸é´ä»¶ã大模åè°ç¨çå¤ä¸ªåè½æ¨¡åã
使ç¨åºæ¯
å½ç¨æ·æç¡®è¦æ±ä½¿ç¨LangChainæLangGraphæ¡æ¶æ¶ï¼è§¦åæ¤æè½ï¼
- æç¡®æå°ä½¿ç¨LangChainç¼å代ç
- æç¡®æå°ä½¿ç¨LangGraphç¼å代ç
- æç¡®è¦æ±ä½¿ç¨LangChainçAPIï¼å¦ææ¡£å è½½å¨ãåéåå¨ãå·¥å ·çï¼
- æç¡®è¦æ±ä½¿ç¨LangGraphçAPIï¼å¦StateGraphã彿°å¼APIãå¾APIçï¼
- è¦æ±åèresourcesæä»¶å¤¹ä¸çLangChain/LangGraph示ä¾ä»£ç
- æå°ä½¿ç¨LangChainçç¹å®åè½ï¼å¦AgentãRAGãä¸é´ä»¶çï¼å¹¶æç¤ºä½¿ç¨è¯¥æ¡æ¶
- æå°ä½¿ç¨LangGraphçç¹å®åè½ï¼å¦å·¥ä½æµãåå¾ã䏿çï¼å¹¶æç¤ºä½¿ç¨è¯¥æ¡æ¶
æä»¤
1. éæ±åæ
- ä»ç»åæç¨æ·çå ·ä½éæ±ï¼ç¡®å®éè¦å®ç°çåè½æ¨¡å
- è¯å«ç¨æ·ä½¿ç¨çææ¯æ ï¼LangChainãLangGraphæä¸¤è ç»åï¼
- ç¡®å®éè¦åèç示ä¾ä»£ç æå¨çresourcesåç®å½
2. æ¥æ¾ç¸å ³ç¤ºä¾
æ ¹æ®ç¨æ·éæ±ï¼å¨resourcesæä»¶å¤¹ä¸æ¥æ¾å¯¹åºç示ä¾ä»£ç ï¼
RAGç¸å ³éæ±
- ææ¡£å è½½ï¼resources/RAG/document_loaders.py
- ææ¬åå²ï¼resources/RAG/splitters.py
- åéåå¨ï¼resources/RAG/vectorstores_retrievers.py
Agentç¸å ³éæ±
- Agentå建ï¼resources/agent/create_agent.py
- ä¸é´ä»¶å®ç°ï¼resources/agent/middleware.py
- èªå®ä¹æ¨¡åï¼resources/agent/ChatOpenAIModel_LangChian.py
工使µç¸å ³éæ±
- 彿°å¼APIï¼resources/functional(workflow)_api/
- å¾APIï¼resources/graph-api/
- 工使µå¯¹æ¯ï¼resources/工使µ_å¾_对æ¯/
- é¾å¼æç¤ºï¼chain_prompt_graph.py / chain_prompt_workflow.py
- è¯ä¼°å¨-ä¼åå¨ï¼evaluator_optimizer_graph.py / evaluator_optimizer_workflow.py
- å¹¶è¡åï¼parallelization_graph.py / parallelization_workflow.py
- 计åå¨-å·¥ä½è ï¼planner_worker_graph.py / planner_worker_workflow.py
- ReActæºè½ä½ï¼react_agent_graph.py / react_agent_workflow.py
- è·¯ç±å·¥ä½æµï¼routing_graph.py / routing_workflow.py
å·¥å ·å®ä¹ç¸å ³éæ±
- åºæ¬å·¥å ·å®ä¹ï¼resources/å·¥å ·å®ä¹/tool_define.py
- Commandå·¥å ·ï¼resources/å·¥å ·å®ä¹/tool_command.py
- å ååå¨ï¼resources/å·¥å ·å®ä¹/tool_memery_store.py
- è¿è¡æ¶ä¸ä¸æï¼resources/å·¥å ·å®ä¹/tool_runtime_context.py
- æµå¼åå ¥ï¼resources/å·¥å ·å®ä¹/tool_stream_writer.py
ä¸é´ä»¶ç¸å ³éæ±
- åºäºç±»çä¸é´ä»¶ï¼resources/ä¸é´ä»¶/class_based_middleware.py
- åºäºè£ 饰å¨çä¸é´ä»¶ï¼resources/ä¸é´ä»¶/decorator_based_middleware.py
- ä¸ä¸æç¼è¾ï¼resources/ä¸é´ä»¶/context_editing.py
- äººå·¥å®¡æ ¸ï¼resources/ä¸é´ä»¶/human_in_the_loop.py
- LLMå·¥å ·éæ©ï¼resources/ä¸é´ä»¶/llm_tool_selector.py
- 模åè°ç¨éå¶ï¼resources/ä¸é´ä»¶/model_call_limit.py
- 模ååéï¼resources/ä¸é´ä»¶/model_fallback.py
- PIIæ£æµï¼resources/ä¸é´ä»¶/pii_detection.py
- è§åï¼resources/ä¸é´ä»¶/planning.py
- æè¦ï¼resources/ä¸é´ä»¶/summary.py
- å·¥å ·è°ç¨éå¶ï¼resources/ä¸é´ä»¶/tool_call_limit.py
- å·¥å ·éè¯ï¼resources/ä¸é´ä»¶/tool_retry.py
大模åè°ç¨ç¸å ³éæ±
- OpenAIå ¼å®¹æ¨¡åï¼resources/大模åè°ç¨/ChatOpenAIModel_LangChian.py
- Azure OpenAIï¼resources/大模åè°ç¨/Azure.py
- Geminiï¼resources/大模åè°ç¨/Gemini.py
- OpenAI宿¹APIï¼resources/大模åè°ç¨/OpanAI.py
Embeddingç¸å ³éæ±
- æ¬å°Embeddingï¼resources/embedding模åè°ç¨/local_embedding.py
- äºç«¯Embeddingï¼resources/embedding模åè°ç¨/cloud_embedding.py
- OpenAIå ¼å®¹Embeddingï¼resources/embedding模åè°ç¨/opanai_embedding.py
ä¸ä¸æå·¥ç¨ç¸å ³éæ±
- æ¶æ¯ç®¡çï¼resources/ä¸ä¸æå·¥ç¨/messages.py
- ç³»ç»æç¤ºï¼resources/ä¸ä¸æå·¥ç¨/system_prompt.py
åå¾ç¸å ³éæ±
- ç¶æå ±äº«ï¼resources/åå¾/share_state.py
- å¤çº§åå¾ï¼resources/åå¾/father_son_grandson_noShareState.py
- æä¹ åï¼resources/åå¾/add_persistence.py
LangGraph䏿ç¸å ³éæ±
- å®¡æ¹ææç»ï¼resources/langgraph䏿/approve_or_reject.py
- å·¥å ·ä¸ç䏿ï¼resources/langgraph䏿/interrupts_in_tools.py
- 审æ¥åç¼è¾ç¶æï¼resources/langgraph䏿/review_and_edit_state.py
- éªè¯äººå·¥è¾å ¥ï¼resources/langgraph䏿/validating_human_input.py
æ¶é´æ è¡ç¸å ³éæ±
- æ¶é´æ è¡åè½ï¼resources/æ¶é´æ è¡/use_time_travel.py
MCPç¸å ³éæ±
- è°ç¨æ¬å°å·¥å ·ï¼resources/MCP/è°ç¨æ¬å°å·¥å ·/
- è°ç¨è¿ç¨MCPæå¡ï¼resources/MCP/è°ç¨è¿ç¨mcpæå¡/
宿´æ¡ä¾åè
- 计ç®å¨Agentï¼resources/æ¡ä¾/Calculator_Agent/
- 深度ç ç©¶ï¼resources/æ¡ä¾/Deep_Research/
- RAG Agentï¼resources/æ¡ä¾/RAG_Agent/
3. 代ç å®ç°
- é 读ç¸å ³ç¤ºä¾ä»£ç çreadme.mdæä»¶ï¼å¦æåå¨ï¼ï¼çè§£åè½åä½¿ç¨æ¹æ³
- åè示ä¾ä»£ç çå®ç°æ¹å¼å代ç ç»æ
- æ ¹æ®ç¨æ·çå ·ä½éæ±ï¼ç¼å符åè¦æ±ç代ç
- ç¡®ä¿ä»£ç 飿 ¼ä¸ç¤ºä¾ä»£ç ä¿æä¸è´
- å¦éè¦ä½¿ç¨èªå®ä¹æ¨¡åï¼åèChatOpenAIModel_LangChian.pyçå®ç°
4. å¿ è¦å¯¼å ¥ï¼éè¦ï¼
å¨ç¼åä»£ç æ¶ï¼å¿ 须确ä¿å 嫿æå¿ è¦çå¯¼å ¥è¯å¥ã以䏿¯å¸¸ç¨å¯¼å ¥è¯´æï¼
éç¨åºç¡å¯¼å ¥
- typing: TypedDict, List, Any, Dict, Optional
- typing_extensions: TypedDictï¼ç¨äºæ´å¤æçç±»åå®ä¹ï¼
LangChainæ ¸å¿å¯¼å ¥
- langchain_core.messages: AIMessage, HumanMessage, SystemMessage, ToolMessage
- langchain_core.prompts: ChatPromptTemplate
- langchain_core.output_parsers: StrOutputParser
- langchain_core.runnables: RunnablePassthrough
- langchain.tools: tool
- langchain.agents: create_agent
LangGraphå¾APIå¯¼å ¥
- langgraph.graph: StateGraph, START, END, MessagesState
- langgraph.graph.message: add_messages
- langgraph.checkpoint.memory: InMemorySaver
- langgraph.types: interrupt
LangGraph彿°å¼APIå¯¼å ¥
- langgraph.func: entrypoint, task
LangChain Agentä¸é´ä»¶å¯¼å ¥
- langchain.agents.middleware: before_model, after_model, wrap_model_call, wrap_tool_call, AgentState, ModelRequest, ModelResponse, dynamic_prompt
- langgraph.runtime: Runtime
LangChainææ¡£å è½½å¨å¯¼å ¥
- langchain_community.document_loaders.csv_loader: CSVLoader
- langchain_community.document_loaders: JSONLoader, BSHTMLLoader
- langchain_docling.loader: DoclingLoader
LangChainææ¬åå²å¨å¯¼å ¥
- langchain_text_splitters: RecursiveCharacterTextSplitter, CharacterTextSplitter, MarkdownHeaderTextSplitter, RecursiveJsonSplitter
LangChainåéåå¨å¯¼å ¥
- langchain_chroma: Chroma
- langchain_core.vectorstores: VectorStore
- langchain_core.embeddings: Embeddings
LangChain Embeddingå¯¼å ¥
- langchain_openai: OpenAIEmbeddings
- langchain_community.embeddings: HuggingFaceEmbeddings
LangChain模åå¯¼å ¥
- langchain_openai: ChatOpenAI
- langchain_azure_chat_models: AzureChatOpenAI
- langchain_google_genai: ChatGoogleGenerativeAI
LangChain RAGå¯¼å ¥
- langchain.chains: RetrievalQA
- langchain_core.runnables: RunnablePassthrough
èªå®ä¹æ¨¡åå¯¼å ¥
- ChatOpenAIModel_LangChian: ChatOpenAIModelï¼å¦æä½¿ç¨resourcesä¸çèªå®ä¹æ¨¡åï¼
å¯è§åå¯¼å ¥
- IPython.display: Image, display
å ¶ä»å¸¸ç¨å¯¼å ¥
- asyncio, uuid, time, os, pathlib.Path
å¯¼å ¥æ³¨æäºé¡¹
- 卿ä¾ä»£ç æ¶ï¼å¿ é¡»å 嫿æä½¿ç¨çå¯¼å ¥è¯å¥
- 妿代ç ä¸ä½¿ç¨äºæä¸ªç±»æå½æ°ï¼å¿ é¡»å¨å¯¼å ¥é¨åå å«å¯¹åºçå¯¼å ¥
- 对äºèªå®ä¹çç±»æå½æ°ï¼éè¦æç¡®è¯´æå ¶æ¥æºææä¾å®æ´å®ä¹
- 建议å°å¯¼å ¥è¯å¥æç §åè½åç»ï¼ä¾¿äºé 读åç»´æ¤
- å¦æä½¿ç¨äºç¬¬ä¸æ¹åºï¼éè¦æéç¨æ·å®è£ ç¸åºçä¾èµå
5. 代ç 说æ
- æä¾æ¸ æ°çä»£ç æ³¨éï¼è¯´æå ³é®é»è¾
- è§£é代ç çå·¥ä½åçåä½¿ç¨æ¹æ³
- æåºä»£ç ä¸ä½¿ç¨çLangChain/LangGraphæ ¸å¿æ¦å¿µåAPI
- 妿¶å夿åè½ï¼æä¾ä½¿ç¨ç¤ºä¾
6. 注æäºé¡¹
- ä¸è¦ä¿®æ¹resourcesæä»¶å¤¹ä¸çä»»ä½ç¤ºä¾ä»£ç
- åè示ä¾ä»£ç æ¶ï¼çè§£å ¶è®¾è®¡æè·¯åå®ç°æ¹å¼
- æ ¹æ®ç¨æ·å®é éæ±è¿è¡éé åè°æ´
- ç¡®ä¿ä»£ç çæ£ç¡®æ§åå¯è¿è¡æ§
- 妿¶åAPIå¯é¥çææä¿¡æ¯ï¼æéç¨æ·èªè¡é ç½®
常è§é误åè§£å³æ¹æ¡
-
缺å°å¯¼å ¥è¯å¥
- é误ï¼NameError: name ‘AIMessage’ is not defined
- è§£å³ï¼ç¡®ä¿å¯¼å ¥äº from langchain_core.messages import AIMessage, HumanMessage, SystemMessage, ToolMessage
-
缺å°ç±»åå®ä¹
- é误ï¼NameError: name ‘TypedDict’ is not defined
- è§£å³ï¼ç¡®ä¿å¯¼å ¥äº from typing import TypedDict æ from typing_extensions import TypedDict
-
缺å°å·¥å ·è£ 饰å¨
- é误ï¼å·¥å ·å½æ°æ æ³è¢«è¯å«
- è§£å³ï¼ç¡®ä¿å¯¼å ¥äº from langchain.tools import tool å¹¶ä½¿ç¨ @tool è£ é¥°å¨
-
缺å°ç¶æå®ä¹
- é误ï¼NameError: name ‘State’ is not defined
- è§£å³ï¼ç¡®ä¿å®ä¹äºç¶æç±»ï¼ä¾å¦ class State(TypedDict): …
-
缺å°å¾APIå¯¼å ¥
- é误ï¼NameError: name ‘StateGraph’ is not defined
- è§£å³ï¼ç¡®ä¿å¯¼å ¥äº from langgraph.graph import StateGraph, START, END
-
缺å°ä¸é´ä»¶å¯¼å ¥
- é误ï¼NameError: name ‘before_model’ is not defined
- è§£å³ï¼ç¡®ä¿å¯¼å ¥äº from langchain.agents.middleware import before_model, after_model, …
-
èªå®ä¹æ¨¡åæªå¯¼å ¥
- é误ï¼ModuleNotFoundError: No module named ‘ChatOpenAIModel_LangChian’
- è§£å³ï¼ç¡®ä¿èªå®ä¹æ¨¡åæä»¶å¨æ£ç¡®è·¯å¾ï¼ææä¾å®æ´ç模åå®ç°ä»£ç
-
ç¬¬ä¸æ¹åºæªå®è£
- é误ï¼ModuleNotFoundError: No module named ‘langchain_chroma’
- è§£å³ï¼æéç¨æ·å®è£ ç¸åºçä¾èµå ï¼ä¾å¦ pip install langchain-chroma
代ç è´¨éä¿è¯
- 卿ä¾ä»£ç åï¼æ£æ¥ææå¯¼å ¥æ¯å¦å®æ´
- ç¡®ä¿ææä½¿ç¨çç±»å彿°é½æå¯¹åºçå¯¼å ¥
- 对äºèªå®ä¹çç±»æå½æ°ï¼æä¾å®æ´çå®ç°ææç¡®è¯´ææ¥æº
- å»ºè®®ç¨æ·å¨è¿è¡ä»£ç åå®è£ å¿ è¦çä¾èµå