VuePress 站点
首页
数学
计算机基础
Java后端
AI大模型
UI设计
首页
数学
计算机基础
Java后端
AI大模型
UI设计
  • AI大模型
  • 尚硅谷-LangChain-v1.2

    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/01-%E8%AF%BE%E7%A8%8B%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/02-%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81LangChain.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/03-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9B%B8%E5%85%B3%E5%B2%97%E4%BD%8D%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/04-LangChain%E6%98%AF%E4%BB%80%E4%B9%88.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/05-LangChain%E7%9A%84%E4%B8%BB%E8%A6%81%E6%A8%A1%E5%9D%97%E5%92%8CAPI%E6%96%87%E6%A1%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/06-LangChain%E5%AE%B6%E6%97%8F%E5%9B%9B%E5%A4%A7%E6%94%AF%E6%9F%B1.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/07-conda%E7%9A%84%E5%AE%89%E8%A3%85%E5%8F%8A%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%E7%9A%84%E9%85%8D%E7%BD%AE.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/08-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF1%EF%BC%9AAgent%E5%BC%80%E5%8F%91.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/09-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF2%EF%BC%9AAgent%E5%BC%80%E5%8F%91.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/10-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BC%80%E5%8F%91%E7%9A%844%E4%B8%AA%E9%80%92%E8%BF%9B%E5%9C%BA%E6%99%AF.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/11-%E6%A8%A1%E5%9E%8B%E8%B0%83%E7%94%A8%E5%89%8D%E7%9A%84%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/12-%E8%B0%83%E7%94%A8DeepSeek%E5%AE%98%E7%BD%91%E7%9A%84DeepSeek%E6%A8%A1%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/13-%E8%B0%83%E7%94%A8%E6%99%BA%E8%B0%B1%E5%92%8C%E9%98%BF%E9%87%8C%E4%BA%91%E7%99%BE%E7%82%BC%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%A4%A7%E6%A8%A1%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/14-ChatOpenAI%E5%85%BC%E5%AE%B9%E7%94%A8%E6%B3%95.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/15-%E4%BD%BF%E7%94%A8OpenRouter%E5%92%8CCloseAI%E4%B8%AD%E8%BD%AC%E5%B9%B3%E5%8F%B0%E8%B0%83%E7%94%A8%E6%A8%A1%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/16-LangChain1.x%E4%B8%ADinit_chat_model%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/17-%E6%A8%A1%E5%9E%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B8%B8%E7%94%A8%E7%9A%84%E5%8F%82%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/18-Ollama%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/19-%E6%B5%8B%E8%AF%95invoke%E4%BC%A0%E9%80%92%E4%B8%89%E7%A7%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/20-invoke%E7%9A%84%E8%BF%94%E5%9B%9E%E5%80%BC%E7%9A%84%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/21-%E6%B5%81%E5%BC%8F%E8%B0%83%E7%94%A8%E3%80%81%E6%89%B9%E9%87%8F%E8%B0%83%E7%94%A8%E4%B8%8E%E5%BC%82%E6%AD%A5%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/22-profile%E5%B1%9E%E6%80%A7_%E5%88%9D%E5%A7%8B%E5%8C%96model_kwargs%E4%B8%8Eextra_body%E5%8F%82%E6%95%B0_%E8%B0%83%E7%94%A8%E7%9A%84config%E5%8F%82%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/23-LangSmith%E7%9A%84%E4%BB%8B%E7%BB%8D%E4%B8%8E%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/24-LangSmith%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/25-%E8%AE%A4%E8%AF%86%E6%B6%88%E6%81%AF%E4%B8%8E%E6%B6%88%E6%81%AF%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%A0%BC%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/26-4%E7%A7%8D%E6%B6%88%E6%81%AF%E5%AF%B9%E8%B1%A1%E4%B8%AD%E5%AD%97%E6%AE%B5%E7%9A%84%E8%AF%B4%E6%98%8E.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/27-%E5%AF%B9%E8%AF%9D%E5%8E%86%E5%8F%B2%E7%9A%84%E7%AE%A1%E7%90%86%E5%92%8C%E4%BC%98%E5%8C%96.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/28-%E6%A1%88%E4%BE%8B%EF%BC%9A%E5%A4%9A%E8%BD%AE%E5%AF%B9%E8%AF%9D%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/29-content%E5%92%8Ccontent_blocks%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/30-ChatPromptTemplate%E7%9A%84%E4%B8%A4%E7%A7%8D%E5%AE%9E%E4%BE%8B%E5%8C%96%E6%96%B9%E5%BC%8F%E5%92%8C%E4%B8%89%E7%A7%8D%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/31-ChatPromptTemplate%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%846%E7%A7%8D%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/32-%E9%83%A8%E5%88%86%E5%8F%98%E9%87%8F%E9%A2%84%E5%A1%AB%E5%85%85_%E6%B6%88%E6%81%AF%E5%8D%A0%E4%BD%8D%E7%AC%A6%E7%AD%89%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/33-%E5%B7%A5%E5%85%B7%E7%9A%84%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F%E4%B8%8E%E6%95%B4%E4%BD%93%E6%89%A7%E8%A1%8C%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/34-%E4%B8%8D%E4%BD%BF%E7%94%A8@tool%E6%96%B9%E5%BC%8F%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/35-%E4%BD%BF%E7%94%A8@tool%E8%A3%85%E9%A5%B0%E5%99%A8%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7%EF%BC%9Adescription%E5%92%8Cname.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/36-%E4%BD%BF%E7%94%A8@tool%E8%A3%85%E9%A5%B0%E5%99%A8%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7%EF%BC%9Aargs_schema.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/37-%E6%A1%88%E4%BE%8B1%E5%92%8C2%EF%BC%9A%E4%BD%BF%E7%94%A8args_schema%E5%92%8Cdocstring.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/38-%E6%A1%88%E4%BE%8B3-4%EF%BC%9A%E5%A4%9A%E5%B7%A5%E5%85%B7%E7%9A%84%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/39-tool_choice%E5%8F%82%E6%95%B0%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/40-%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8%E7%9A%84%E5%AE%9E%E8%B7%B5%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/41-%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA%E7%9A%84%E7%90%86%E8%A7%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/42-Pydantic%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/43-Pydantic%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7%EF%BC%9A%E5%8F%AF%E9%80%89%E5%AD%97%E6%AE%B5%E3%80%81%E9%BB%98%E8%AE%A4%E5%80%BC%E3%80%81%E6%9E%9A%E4%B8%BE%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/44-Pydantic%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7%EF%BC%9A%E5%88%97%E8%A1%A8%E6%8F%90%E5%8F%96%E3%80%81%E5%B5%8C%E5%A5%97%E3%80%81%E9%99%90%E5%88%B6%E6%9D%A1%E4%BB%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/45-Pydantic%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%9B%BE%E8%A7%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/46-TypedDict%E6%A0%BC%E5%BC%8F%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/47-JSON%20Schema%E6%A0%BC%E5%BC%8F%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/48-@dataclass%E6%A0%BC%E5%BC%8F%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/49-%E5%9B%9B%E7%A7%8D%E4%B8%8D%E5%90%8C%E6%A8%A1%E5%BC%8F%E7%9A%84%E7%B1%BB%E5%9E%8B%E6%A0%A1%E9%AA%8C%E6%83%85%E5%86%B5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/50-%E4%B8%A4%E7%A7%8D%E8%8E%B7%E5%8F%96%E7%BB%93%E6%9E%84%E5%8C%96%E7%BB%93%E6%9E%9C%E7%9A%84%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/51-Agent%E7%9A%84%E6%A6%82%E8%BF%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/52-Agent%E5%AE%9E%E4%BE%8B%E5%8C%96%E4%B8%AD%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%B8%A4%E7%A7%8D%E4%BC%A0%E5%85%A5%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/53-Agent%E9%80%9A%E8%BF%87invoke()%E6%96%B9%E5%BC%8F%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/54-Agent%E7%BB%91%E5%AE%9A%E5%B7%A5%E5%85%B7%E5%B9%B6%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/55-%E5%B7%A5%E5%85%B7%E8%B0%83%E7%94%A8%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90_%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/56-%E8%AE%BE%E7%BD%AEagent%E7%9A%84name%E5%92%8Csystem_prompt.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/57-agent%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA%E7%9A%844%E7%A7%8D%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/58-ToolStrategy%E7%9A%84schema%E8%AE%BE%E7%BD%AE%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA-Pydantic%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/59-ToolStrategy%E7%9A%84schema%E8%AE%BE%E7%BD%AE%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA-%E5%85%B6%E5%AE%83%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/60-ToolStrategy%E7%9A%84tool_message_content%E5%8F%82%E6%95%B0%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/61-Agent%E7%9A%84%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95%EF%BC%9A%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/62-%E8%AE%BE%E7%BD%AEAgent%E7%9A%84%E6%B5%81%E5%BC%8F%E8%BE%93%E5%87%BA%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/63-Agent%E7%9A%84%E5%AE%9E%E6%88%98%EF%BC%9A%E5%A4%9A%E5%8A%9F%E8%83%BD%E6%99%BA%E8%83%BD%E5%8A%A9%E6%89%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/64-%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E4%B8%AD%E9%97%B4%E4%BB%B6_%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E5%88%86%E7%B1%BB.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/65-SummarizationMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/66-HumanInTheLoopMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/67-PIIMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/68-TodoListMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/69-ModelCallLimitMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/70-ToolCallLimitMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/71-ModelFallbackMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/72-LLMToolSelectorMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/73-ToolRetryMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/74-ModelRetryMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/75-LLMToolEmulator%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/76-ContextEditingMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/77-FilesystemFileSearchMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/78-%E5%A4%9A%E4%B8%AA%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%BB%84%E5%90%88%E5%8F%8A%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/79-hook%E5%87%BD%E6%95%B0%E7%9A%84%E7%90%86%E8%A7%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/80-%E5%9F%BA%E4%BA%8E%E8%A3%85%E9%A5%B0%E5%99%A8%E5%AE%9A%E4%B9%89Node-style%E7%9A%84%E9%92%A9%E5%AD%90%E5%87%BD%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/81-%E5%9F%BA%E4%BA%8E%E7%B1%BB%E5%AE%9A%E4%B9%89Node-style%E7%9A%84%E9%92%A9%E5%AD%90%E5%87%BD%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/82-%E8%A3%85%E9%A5%B0%E5%99%A8%E5%8F%82%E6%95%B0can_jump_to%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/83-wrap_model_call%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%92%8C%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/84-wrap_tool_call%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%92%8C%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/85-%E8%A3%85%E9%A5%B0%E5%99%A8%E5%92%8C%E7%B1%BB%E6%96%B9%E5%BC%8F%E7%9A%84%E9%80%89%E6%8B%A9_hook%E5%87%BD%E6%95%B0%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/86-%E8%AE%B0%E5%BF%86%E7%9A%84%E6%A6%82%E5%BF%B5%E5%92%8C%E8%AE%B0%E5%BF%86%E7%9A%84%E5%88%86%E7%B1%BB.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/87-%E7%9F%AD%E6%9C%9F%E8%AE%B0%E5%BF%86%E4%B9%8B%E5%9F%BA%E4%BA%8E%E5%86%85%E5%AD%98%E7%9A%84%E6%8C%81%E4%B9%85%E5%8C%96%E5%99%A8%E7%9A%84%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/88-%E5%9F%BA%E4%BA%8E%E5%86%85%E5%AD%98%E5%AD%98%E5%82%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%92%8C%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/89-%E8%85%BE%E8%AE%AF%E4%BA%91%E9%83%A8%E7%BD%B2Linux%E6%9C%8D%E5%8A%A1%E5%99%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/90-PostgreSQL%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%AE%89%E8%A3%85.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/91-%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9E%E6%8E%A5%E9%A2%9D%E5%A4%96%E6%93%8D%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/92-%E7%9F%AD%E6%9C%9F%E8%AE%B0%E5%BF%86%E4%B9%8BPostgreSQL%E5%AE%9E%E7%8E%B0%E6%8C%81%E4%B9%85%E5%8C%96%E5%AD%98%E5%82%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/93-%E5%AF%B9%E6%AF%94%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F%E7%9A%84%E4%B8%8D%E5%90%8C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/94-%E6%B6%88%E6%81%AF%E8%A3%81%E5%89%AA%E7%9A%84%E6%B2%BB%E7%90%86%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/95-%E6%B6%88%E6%81%AF%E5%88%A0%E9%99%A4%E3%80%81%E6%91%98%E8%A6%81%E7%9A%84%E6%B2%BB%E7%90%86%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/96-%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%E7%9A%84%E4%BB%8B%E7%BB%8D%E5%92%8C%E5%AD%98%E5%82%A8%E6%9E%B6%E6%9E%84.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/97-put()%E5%92%8Cget()%E6%93%8D%E4%BD%9C%E7%9A%84%E7%9A%84%E6%BC%94%E7%A4%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/98-search()%E6%93%8D%E4%BD%9C%E7%9A%84%E6%BC%94%E7%A4%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/99-%E5%9C%A8%E5%B7%A5%E5%85%B7%E4%B8%AD%E8%AE%BF%E9%97%AE%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%EF%BC%88%E5%9F%BA%E4%BA%8EInMemoryStore%EF%BC%89.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/100-%E5%9C%A8%E5%B7%A5%E5%85%B7%E4%B8%AD%E8%AE%BF%E9%97%AE%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%EF%BC%88%E5%9F%BA%E4%BA%8EPostgresStore%EF%BC%89.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/101-%E5%9C%A8%E4%B8%AD%E9%97%B4%E4%BB%B6%E4%B8%AD%E8%AE%BF%E9%97%AE%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/102-RAG%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BF%85%E8%A6%81%E6%80%A7.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/103-RAG%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%92%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/104-TextLoader%E5%92%8CCSVLoader%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/105-JSONLoader%E5%8A%A0%E8%BD%BDJSON%E6%96%87%E4%BB%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/106-PyPDFLoader%E5%92%8CMinerU%E5%8A%A0%E8%BD%BDpdf%E6%96%87%E4%BB%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/107-%E5%85%B6%E5%AE%83%E6%A0%BC%E5%BC%8F%E6%96%87%E4%BB%B6%E7%9A%84%E5%8A%A0%E8%BD%BD%E5%99%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/108-%E5%88%87%E5%88%86%E7%AD%96%E7%95%A5%E5%8F%8ATextSplitter%E4%B8%AD%E7%9A%84%E4%B8%89%E4%B8%AA%E6%A0%B8%E5%BF%83%E6%96%B9%E6%B3%95.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/109-CharacterTextSplitter%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/110-RecursiveCharacterTextSplitter%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/111-%E5%85%B6%E5%AE%83%E5%A4%9A%E7%A7%8DTextSplitter%E7%9A%84%E4%BD%BF%E7%94%A8%E6%BC%94%E7%A4%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/112-%E5%B5%8C%E5%85%A5%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8F%8A%E6%96%87%E6%A1%A3%E5%90%91%E9%87%8F%E5%8C%96%E4%B8%BE%E4%BE%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/113-%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%8B%E7%BB%8D_docker%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E8%AE%BE%E7%BD%AE.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/114-Milvus%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B%E8%AF%B4%E6%98%8E.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/115-Milvus%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84DDL%E6%93%8D%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/116-Milvus%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84DML%E5%92%8CDQL%E6%93%8D%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/117-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE_%E5%88%9D%E5%A7%8B%E5%8C%96Milvus.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/118-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E6%96%87%E6%A1%A3%E5%88%87%E5%88%86_%E5%90%91%E9%87%8F%E5%8C%96%E5%B9%B6%E5%86%99%E5%85%A5Milvus.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/119-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E5%88%9D%E5%A7%8B%E5%8C%96Agent_%E6%A3%80%E7%B4%A2%E5%87%BD%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/120-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E7%94%9F%E4%BA%A7%E4%B8%8E%E5%9B%9E%E7%AD%94%E7%94%9F%E6%88%90.html
  • 炮哥-Transfomer架构

    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/1.1%E3%80%81%E8%AF%BE%E7%A8%8B%E5%85%88%E5%AF%BC.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.10%E3%80%81%E6%8E%A9%E7%A0%81%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.11%E3%80%81%E5%B1%82%E5%BD%92%E4%B8%80%E5%8C%96.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.12%E3%80%81%E5%89%8D%E9%A6%88%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.13%E3%80%81Transormer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%8E%A8%E7%90%86%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.14%E3%80%81Transormer%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%AE%AD%E7%BB%83%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.15%E3%80%81%E5%9B%A0%E6%9E%9C%E6%8E%A9%E7%A0%81%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6-%E8%AE%AD%E7%BB%83%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.16%E3%80%81%E5%9B%A0%E6%9E%9C%E6%8E%A9%E7%A0%81%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6-%E6%8E%A8%E7%90%86%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.17%E3%80%81%E4%BA%A4%E5%8F%89%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.18%E3%80%81Transformer%E6%9E%B6%E6%9E%84%E6%80%BB%E7%BB%93.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.1%E3%80%81Transformer%E7%AE%97%E6%B3%95%E8%83%8C%E6%99%AF.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.2%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.3%E3%80%81%E8%BE%93%E5%85%A5%E6%96%87%E6%9C%AC%E6%95%B0%E6%8D%AE%E6%95%B0%E5%80%BC%E8%BD%AC%E6%8D%A2.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.4%E3%80%81%E8%AF%8D%E5%B5%8C%E5%85%A5%E6%96%B9%E6%B3%95.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.5%E3%80%81%E4%BD%8D%E7%BD%AE%E7%BC%96%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.6%E3%80%81%E8%87%AA%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E5%85%88%E5%AF%BC.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.7%E3%80%81%E8%87%AA%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E7%9A%84%E7%AE%97%E6%B3%95%E6%B5%81%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.8%E3%80%81%E8%87%AA%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E7%9F%A9%E9%98%B5%E7%90%86%E8%A7%A3%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.9%E3%80%81%E5%A4%9A%E5%A4%B4%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.10%E3%80%81%E7%BC%96%E7%A0%81%E5%99%A8%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.11%E3%80%81%E8%A7%A3%E7%A0%81%E5%99%A8%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.12%E3%80%81%E7%94%9F%E6%88%90%E5%99%A8%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.13%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%9C%80%E7%BB%88%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.14%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%AE%AD%E7%BB%83.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.15%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%8E%A8%E7%90%86%E4%B8%8E%E5%BA%94%E7%94%A8.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.1%E3%80%81%E5%AE%9E%E6%88%98%E5%85%88%E5%AF%BC.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.2%E3%80%81%E7%8E%AF%E5%A2%83%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E4%BB%A3%E7%A0%81%E6%B5%8B%E8%AF%95.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.3%E3%80%81%E6%95%B0%E6%8D%AE%E9%9B%86%E7%9A%84%E4%BB%8B%E7%BB%8D%E4%B8%8E%E5%88%86%E6%9E%90.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.4%E3%80%81%E8%AF%8D%E8%A1%A8%E7%9A%84%E6%9E%84%E5%BB%BA%E4%B8%8E%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.5%E3%80%81%E8%AF%8D%E5%B5%8C%E5%85%A5%E4%B8%8E%E4%BD%8D%E7%BD%AE%E7%BC%96%E7%A0%81%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.6%E3%80%81attention%E4%BB%A3%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.7%E3%80%81%E5%A4%9A%E5%A4%B4%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E4%BB%A3%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.8%E3%80%81%E5%B1%82%E5%BD%92%E4%B8%80%E5%8C%96%E5%92%8C%E5%89%8D%E9%A6%88%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E4%BB%A3%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.9%E3%80%81%20SublayerConnection%E4%BB%A3%E7%A0%81.html
  • 黑马-NLP最新版

    • NLP自然语言处理课程导学
    • NLP 阶段大纲介绍
    • NLP 发展简史介绍
    • NLP 应用场景介绍
    • 文本预处理的主要模块介绍
    • 如何创建沙箱及关联 PyCharm
    • jieba 分词 - 精确模式介绍
    • jieba 分词 - 全模式介绍
    • jieba 分词 - 搜索引擎模式介绍
    • jieba 分词 - 繁体字
    • jieba 分词 - 用户自定义词典
    • 文本预处理 - NER 和 POS 解释
    • 文本张量表示法 - one-hot 编码介绍
    • one-hot 编码 - 获取
    • one-hot 编码 - 使用
    • one-hot 编码 - 简单实现思路
    • Word2Vec - CBOW 原理介绍
    • Word2Vec 之 Skip-Gram 词向量解释
    • FastText 环境搭建
    • FastText 词向量模型的训练和保存
    • FastText 模型的加载、查看与效果检验
    • FastText 模型参数设定
    • WordEmbedding 和 Word2Vec 的区别
    • WordEmbedding 获取词向量
    • WordEmbedding 查看词向量的相似性
    • 文本分析 - 标签数据分布查看
    • 扩展 - map() 函数功能介绍
    • 文本分析 - 句子长度分布分析
    • 文本分析 - 正负样本长度散点分布
    • 扩展 - chain() 函数介绍
    • 文本分析 - 词汇统计
    • 文本分析 - 高频形容词词云
    • 扩展 - zip() 函数用法解释
    • 文本特征处理 - n-gram 代码演示
    • 扩展 - 如何计算两个文本的相似度
    • 文本长度规范 - 代码实现
    • 回译数据增强法介绍
    • RNN 模型简介
    • RNN 的分类介绍
    • RNN 的模型结构
    • RNN 代码 - 基础版
    • RNN 代码 - 修改句子长度
    • RNN 代码 - 修改隐藏层及总结
    • LSTM 模型 - 原理图解(上)
    • LSTM 模型 - 原理图解(下)
    • Bi-LSTM 模型介绍
    • LSTM 模型 - 代码实现
    • GRU 模型 - 原理图解
    • GRU 模型 - 代码演示
    • RNN 人名分类案例 - 需求介绍
    • RNN 人名分类案例 - 获取全局字母表和国家名
    • RNN 人名分类案例 - 读取数据到内存
    • RNN 人名分类案例 - 构建数据集对象
    • RNN 人名分类案例 - 构建数据加载器对象
    • 扩展 - LogSoftmax() 函数讲解
    • 全球人名分类案例 - 搭建 RNN 模型
    • 全球人名分类案例 - 测试 RNN 模型
    • 全球人名分类案例 - 搭建 LSTM 和 GRU 模型
    • 全球人名分类案例 - 测试三种模型
    • 全球人名分类案例 - RNN 模型训练
    • 全球人名分类案例 - LSTM 模型训练
    • 全球人名分类案例 - GRU 模型训练
    • 全球人名分类案例 - 三种模型可视化
    • 全球人名分类案例 - RNN 模型预测
    • 全球人名分类案例 - 思路总结
    • 注意力机制介绍
    • 注意力机制 - QKV 简介
    • 注意力机制 - 实现步骤介绍
    • Seq2Seq 架构 - 任务介绍
    • Seq2Seq 架构 - 加入注意力机制
    • 扩展1 - 普通的 Encoder-Decoder 框架
    • 扩展2 - 加入注意力机制的 Encoder-Decoder 框架
    • 扩展3 - 注意力概率分布的计算方式
    • 扩展4 - 软注意力、硬注意力、自注意力机制简介
    • 常见的注意力计算规则介绍
    • 扩展 - bmm() 函数简介
    • 注意力机制 - 代码实现
    • 注意力机制 - 测试代码
    • 注意力机制 - 参数解释
    • 英译法案例 - 需求介绍
    • 英译法案例 - 如何配置 CUDA 环境及测试(上)
    • 英译法案例 - 如何配置 CUDA 环境(实操)
    • 扩展 - 配置 CUDA 环境总结
    • 英译法案例 - 数据清洗函数
    • 英译法案例 - 数据预处理函数
    • 英译法案例 - 构建数据集对象
    • 英译法案例 - 获取数据加载器对象
    • 英译法案例 - 构建基于 GRU 的编码器
    • 英译法案例 - 测试基于 GRU 的编码器
    • 英译法案例 - 基于 GRU 的无 Attention 的解码器思路分析
    • 英译法案例 - 构建基于 GRU 解码器(无 Attention)
    • 英译法案例 - 测试基于 GRU 的无 Attention 解码器
    • 英译法案例 - 基于 GRU 有 Attention 的解码器思路分析
    • 英译法案例 - 基于 GRU 有 Attention 的解码器代码实现(上)
    • 英译法案例 - 基于 GRU 有 Attention 的解码器代码实现(下)
    • 英译法案例 - 带注意力机制的解码器层测试代码
    • 英译法案例 - 模型搭建总结
    • Teacher Forcing - 教师强制
    • 英译法案例 - 模型训练总结
    • 英译法案例 - 模型预测代码实现
    • 英译法案例 - 模型预测代码测试
    • 英译法案例 - 绘制张量图
    • Transformer 框架 - 由来介绍
    • Transformer 架构介绍 - 文字版
    • Transformer 架构图(上)
    • Transformer 架构图(下)
    • 学习 Transformer 架构的路线
    • Transformer 架构 - 词嵌入层代码实现
    • Transformer 架构 - 位置编码层原理介绍
    • Transformer 架构 - 位置编码总结
    • Transformer 架构 - 位置编码层代码实现
    • Transformer 架构 - 位置编码层代码测试
    • 扩展 - 上三角矩阵演示
    • 扩展 - 下三角矩阵演示
    • 扩展 - 掩码张量的可视化
    • 扩展 - masked_fill() 函数介绍
    • Transformer 架构 - 注意力机制代码实现及测试
    • 多头注意力机制 - 原理图(上)
    • 多头注意力机制 - 原理图(下)
    • 多头注意力机制 - 代码实现
    • 多头注意力机制 - 代码测试
    • 前馈全连接层 - 代码实现及测试
    • 规范化层 - 代码实现
    • 规范化层 - 代码测试
    • 扩展 - BN 和 LN 的区别
    • 子层结构搭建 - 代码实现
    • 子层结构搭建 - 代码测试
    • 编码器层 - 代码实现
    • 编码器层 - 代码测试
    • 编码器 - 代码实现及测试
    • 解码器层 - 代码实现
    • 解码器层 - 代码测试
    • 解码器 - 代码实现及测试
    • 输出部分 - 代码实现
    • 输出部分 - 代码测试
    • 完整的 Transformer 架构搭建(上)
    • 完整的 Transformer 架构搭建(下)
    • Transformer 架构测试(上)
    • Transformer 架构组件介绍
    • Transformer 架构测试(下)
    • Fasttext - 简介及环境搭建
    • Fasttext - 哈夫曼树介绍
    • Fasttext - 负采样介绍
    • Fasttext - 直接训练 - 代码实现
    • Fasttext 优化 - 数据预处理
    • Fasttext 优化 - 调整训练轮数和学习率
    • Fasttext 优化 - 调整 NGram 和损失函数
    • Fasttext 优化 - 自动调参
    • Fasttext 优化 - 多分类多标签任务
    • Fasttext - 模型保存和加载
    • Fasttext - 词向量迁移介绍
    • 迁移学习介绍
    • 常见的预训练 NLP 模型介绍
    • Transformers 库介绍及环境搭建
    • NLP 任务 - Pipeline 方式 - 文本分类
    • NLP 任务 - Pipeline 方式 - 特征提取
    • NLP 任务 - Pipeline 方式 - 完形填空
    • Pipeline 方式 - 阅读理解任务
    • Pipeline 方式 - 文本摘要任务
    • Pipeline 方式 - NER 任务
    • 自动模型方式 - 文本分类任务
    • 自动模型方式 - 特征提取任务
    • 自动模型方式 - 完形填空任务
    • 自动模型方式 - 阅读理解任务
    • 自动模型方式 - 文本摘要任务
    • 自动模型方式 - NER 任务
    • 具体模型方式 - 完形填空任务
    • 迁移学习 - 中文分类案例 - 数据加载
    • 迁移学习 - 中文分类案例 - 数据预处理
    • 迁移学习 - 中文分类案例 - 模型搭建
    • 迁移学习 - 中文分类案例 - 模型训练
    • 迁移学习 - 中文分类案例 - 模型评估
    • 迁移学习 - 中文填空案例 - 数据预处理
    • 迁移学习 - 中文填空案例 - 模型搭建
    • 迁移学习 - 中文填空案例 - 模型训练
    • 迁移学习 - 中文填空案例 - 模型评估
    • 迁移学习 - NSP 案例 - 自定义数据集对象
    • 迁移学习 - NSP 案例 - 数据预处理
    • 迁移学习 - NSP 案例 - 模型搭建
    • 迁移学习 - NSP 案例 - 模型训练和评估
    • BERT 模型介绍
    • BERT 模型架构介绍
    • BERT 预训练任务 - MLM 和 NSP 介绍
    • BERT 模型总结
    • ELMo 模型介绍
    • GPT 模型介绍
  • 黑马-机器学习

    • 机器学习课程导学
    • 机器学习大纲介绍
    • 机器学习相关概述目录介绍
    • 人工智能三大概念:AI、ML、DL介绍
    • 基于规则和模型的学习介绍
    • 机器学习应用领域和发展史介绍
    • 机器学习核心名词介绍
    • 机器学习算法分类
    • 机器学习建模流程
    • 特征工程介绍
    • 上午内容回顾
    • 模型拟合问题
    • 机器学习环境搭建
    • KNN算法简介
    • KNN算法思路分析
    • KNN算法分类思想代码实现
    • KNN算法回归思想代码实现
    • 常用的距离度量方式
    • 特征预处理之归一化
    • 特征预处理之标准化
    • 鸢尾花案例之查看数据集
    • 鸢尾花案例之数据集可视化
    • 鸢尾花案例之切分训练集和测试集
    • 鸢尾花案例之模型评估和预测
    • 交叉验证和网格搜索介绍
    • 交叉验证和网格搜索之代码实现
    • 手写数字识别之数据集介绍
    • 手写数字识别之绘制数字
    • 手写数字识别之训练和保存模型
    • 手写数字识别之加载和使用模型
    • 解决预测错误的Bug
    • 线性回归之今日内容大纲介绍
    • 线性回归简介
    • 线性回归API入门
    • 损失函数介绍
    • 导数复习
    • 偏导数复习
    • 上午内容回顾
    • 矩阵复习
    • 一元线性回归之正规方程法
    • 多元线性回归之正规方程法(上)
    • 多元线性回归之正规方程法(下)
    • 补充:为什么转换时是XW
    • 单变量梯度下降法
    • 多变量梯度下降法
    • 银行信贷案例之梯度下降法
    • 梯度下降算法分类
    • 回归模型评估方法
    • 正规方程与线性回归对象API介绍
    • 梯度下降线性回归对象API介绍
    • 代码演示之欠拟合
    • 代码演示之正好拟合
    • 代码演示之过拟合
    • L1和L2正则化解释
    • 逻辑回归之今日内容大纲介绍
    • 逻辑回归之简介
    • 逻辑回归之概率相关知识回顾
    • 逻辑回归之原理介绍
    • 逻辑回归案例之癌症预测
    • 混淆矩阵及精确率、召回率、F1值介绍
    • 混淆矩阵、精确率、召回率、F1值代码演示
    • 混淆矩阵总结
    • ROC曲线和AUC指标介绍(了解)
    • ROC曲线案例(了解)
    • 逻辑回归案例:电信用户流失预测 - 数据预处理
    • 逻辑回归案例:电信用户流失预测 - 数据可视化
    • 逻辑回归案例:电信用户流失预测 - 模型训练预测评估
    • 决策树简介
    • 决策树之信息熵简介
    • 决策树之信息增益计算
    • ID3决策树搭建
    • 上午内容回顾
    • C4.5树之信息增益率
    • Cart树原理介绍
    • 三种决策树总结
    • 泰坦尼克号案例之数据集介绍
    • 泰坦尼克号案例之代码演示
    • CART决策树之回归用法
    • 回归决策树和线性回归对比
    • 决策树之剪枝介绍
    • 集成学习之大纲介绍
    • 集成学习之简介
    • 集成学习之Bagging和Boosting思想介绍
    • Bagging思想之随机森林算法介绍
    • 随机森林API之泰坦尼克号案例
    • Boosting思想之AdaBoost自适应提升树介绍
    • AdaBoost算法之推导过程
    • AdaBoost算法之葡萄酒案例
    • GBDT算法之梯度提升树介绍
    • GBDT算法之推导过程
    • GBDT算法之泰坦尼克号案例
    • XGBoost极限梯度提升树之简介
    • XGBoost极限梯度提升树之推导
    • XGBoost API介绍
    • XGBoost案例之红酒品质分类-数据预处理
    • XGBoost案例之红酒品质分类-模型训练
    • XGBoost案例之红酒品质分类-模型评测
    • 朴素贝叶斯之简介
    • 商品评论情感分析之思路分析
    • 商品评论情感分析之数据预处理
    • 商品评论情感分析之模型训练和预测
    • 聚类算法之简介
    • 聚类算法之API初识
    • 聚类算法之推导流程
    • 聚类算法评估指标之SSE介绍
    • 聚类算法评估指标之SSE代码实现
    • 聚类算法评估指标之SC、CH轮廓系数介绍
    • SC、CH轮廓系数之代码演示
    • 用户分群之求解最优K值
    • 用户分群之代码实现
    • 时序数据介绍
    • 时序数据分类介绍
    • 时序预测之算法介绍
    • 电力负荷预测案例之背景介绍
    • 电力负荷预测案例之项目搭建
    • 电力负荷预测案例之日志功能介绍
    • 电力负荷预测案例之数据预处理
    • 电力负荷预测案例之定义电力负荷模型类
    • 电力负荷预测案例之查看数据整体和各小时负荷分布
    • 电力负荷案例之按照月份、假日可视化数据
    • 电力负荷案例之特征工程-添加小时和月份字段
    • 电力负荷案例之特征工程-添加上n小时(窗口字段)
    • 电力负荷案例之特征工程-昨日同时刻负荷
    • 电力负荷案例之模型训练、评估、保存
    • 电力负荷案例之预测类代码实现
    • 电力负荷案例之解析预测特征(上)
    • 电力负荷案例之解析预测特征(下)
    • 电力负荷案例之结果展示
    • 电力负荷案例之扩展思路
    • 课程完结与AI大模型开发课程介绍

🎯 课程主题

深入学习装饰器参数 can_jump_to,掌握如何在钩子函数中动态改变 Agent 的执行轨迹,实现流程跳转控制。

📝 核心知识点

1. can_jump_to 参数概述

四个 Node-style 钩子函数可以额外接收 can_jump_to 参数,用于改变 Agent 的正常运行轨迹。

值跳转目标说明
"end"流程结尾直接结束 Agent(若有 after_agent 钩子仍会执行)
"tools"工具节点跳转到指定工具节点(若有 before_model 则仍会执行)
"model"模型节点跳转到模型节点重新调用(若有 before_model 则仍会执行)

2. 为什么需要流程跳转?

  • 上下文窗口溢出:检测到 Token 超限,直接 can_jump_to="end" 终止执行
  • 跳过模型调用:已知条件可直接伪造 AIMessage,跳到工具节点节省成本
  • 二次尝试:模型输出不满意时,补充 SystemMessage 后 can_jump_to="model" 重新调用

3. 装饰器方式 vs 类方式使用 can_jump_to

方式用法
装饰器直接在装饰器中传入参数,如 @before_model(can_jump_to="end")
类使用 @hook_configure(can_jump_to="...") 装饰对应方法

4. 类方式中多钩子合并注意事项

类中所有 before_model 方法必须合并为一个,通过分支逻辑区分不同跳转目标(因为类中只有一个 before_model 方法名可用)。

🏗️ 架构与工作流

用户输入
    │
    ▼
before_model(can_jump_to="tools")  ──→ 跳过模型,直接到工具
    │
    ▼
[模型调用]
    │
    ▼
after_model(can_jump_to="model")   ──→ 不满意,重新调用模型
    │
    ▼
[模型再调用]
    │
    ▼
before_model(can_jump_to="end")    ──→ 溢出检测,直接结束
    │
    ▼
after_agent → 流程结束

💻 代码实战

2.1 基于装饰器的实现

from langchain.agents import create_agent
from langchain.agents.middleware import (
    before_model, after_model
)
from langchain_core.messages import HumanMessage, AIMessage, SystemMessage
from langchain_core.tools import tool

# ---- 定义工具 ----
@tool
def get_news(query: str) -> str:
    """查询新闻"""
    return f"关于 {query} 的最新新闻:今日AI领域有重大突破..."

# ---- 钩子函数1: 伪造 AIMessage,跳过模型调用直接到工具 ----
@before_model(can_jump_to="tools")
def fake_ai_message(state, runtime):
    """检测到 direct_to_tools 字段时,伪造 AIMessage 跳过模型调用"""
    messages = state["messages"]
    last_msg = messages[-1]
    if hasattr(last_msg, "content") and "direct_to_tools" in last_msg.content:
        # 伪造一条 AIMessage,包含工具调用
        return {
            "messages": [AIMessage(
                content="",
                tool_calls=[{
                    "name": "get_news",
                    "args": {"query": "AI新闻"},
                    "id": "call_001"
                }]
            )]
        }
    return None

# ---- 钩子函数2: 模型调用后不满意,强制重新调用 ----
@after_model(can_jump_to="model")
def retry_model(state, runtime):
    """检测到 retry_model 字段且未重试过时,追加 SystemMessage 重新调用"""
    messages = state["messages"]
    # 检查用户原始输入是否包含 retry_model
    user_msgs = [m for m in messages if isinstance(m, HumanMessage)]
    if not user_msgs:
        return None
    last_user = user_msgs[-1]
    if "retry_model" not in last_user.content:
        return None
    # 检查是否已经重试过(避免死循环)
    ai_msgs = [m for m in messages if isinstance(m, AIMessage)]
    if ai_msgs and "二次回答" in ai_msgs[-1].content:
        return None  # 已经重试过,不再重复
    # 追加 SystemMessage 要求重试
    return {
        "messages": [SystemMessage(
            content="你必须以'二次回答'开头,并且只用一句话回答。"
        )]
    }

# ---- 钩子函数3: 溢出检测,直接结束 ----
@before_model(can_jump_to="end")
def check_overflow(state, runtime):
    """检测到 overflow 字段时,提前终止 Agent"""
    messages = state["messages"]
    last_msg = messages[-1]
    if hasattr(last_msg, "content") and "overflow" in last_msg.content:
        return {
            "messages": [AIMessage(content="上下文窗口溢出,已终止执行。")]
        }
    return None

# ---- 创建 Agent ----
agent = create_agent(
    model=model,
    tools=[get_news],
    middleware=[
        fake_ai_message,    # before_model: 跳 tools
        retry_model,        # after_model: 跳 model
        check_overflow      # before_model: 跳 end
    ]
)

# ---- 测试用例 ----
def test(query: str):
    print(f"\n{'='*50}")
    print(f"输入: {query}")
    response = agent.invoke({"messages": [HumanMessage(content=query)]})
    for msg in response["messages"]:
        msg.pretty_print()

# Case 1: 跳过模型,直接到工具
test("请帮我查询今日天气 direct_to_tools")

# Case 2: 模型调用后重试
test("请随便介绍一下LangChain retry_model")

# Case 3: 溢出直接结束
test("你好 overflow")

# Case 4: 正常执行
test("今天有什么新闻?")

2.2 基于类的实现(使用 @hook_configure)

from langchain.agents.middleware import AgentMiddleware, hook_configure

class MyMiddleware(AgentMiddleware):

    @hook_configure(can_jump_to="tools")
    @hook_configure(can_jump_to="end")
    def before_model(self, state, runtime):
        """合并两个 before_model 跳转逻辑"""
        messages = state["messages"]
        last_msg = messages[-1]
        content = last_msg.content if hasattr(last_msg, "content") else ""

        # 分支1: 跳转到工具
        if "direct_to_tools" in content:
            return {
                "messages": [AIMessage(
                    content="",
                    tool_calls=[{
                        "name": "get_news",
                        "args": {"query": "AI新闻"},
                        "id": "call_001"
                    }]
                )]
            }
        # 分支2: 溢出直接结束
        if "overflow" in content:
            return {
                "messages": [AIMessage(content="上下文窗口溢出,已终止执行。")]
            }
        return None

    @hook_configure(can_jump_to="model")
    def after_model(self, state, runtime):
        """二次重试逻辑"""
        messages = state["messages"]
        user_msgs = [m for m in messages if isinstance(m, HumanMessage)]
        if not user_msgs:
            return None
        last_user = user_msgs[-1]
        if "retry_model" not in last_user.content:
            return None
        ai_msgs = [m for m in messages if isinstance(m, AIMessage)]
        if ai_msgs and "二次回答" in ai_msgs[-1].content:
            return None
        return {
            "messages": [SystemMessage(
                content="你必须以'二次回答'开头,并且只用一句话回答。"
            )]
        }

# 使用
agent = create_agent(
    model=model,
    tools=[get_news],
    middleware=[MyMiddleware()]
)

⚠️ 常见问题与避坑指南

问题说明
死循环can_jump_to="model" 会导致模型重新调用,务必加终止条件(如标记已重试过的标志)
类方式钩子名冲突类中只有一个 before_model 方法名,多个装饰器的 before_model 钩子必须合并到同一个方法中
跳转后钩子仍执行can_jump_to="model" 跳转后,如果目标节点前有 before_model 钩子,它仍会执行;同理 "end" 后 after_agent 也会执行
忘记 return 跳转信息仅仅设置 can_jump_to 参数不会自动跳转,还需要在函数体内满足条件时返回相应数据

💡 个人总结与延伸

  • can_jump_to 赋予了中间件流程控制能力,从单纯的 Observe/Mutate 扩展到了 Flow Control
  • 典型应用:成本优化(伪造 AIMessage 跳过模型调用)、质量保障(二次调用优化输出)、安全兜底(溢出即终止)
  • 与 LangGraph 原生的 Command(goto=...) 机制一脉相承,是高层 Agent 框架对底层图控制的封装
  • 类方式中使用 @hook_configure 虽可行,但多个跳转目标合并到一个方法中会降低可读性——这也是单钩子优先用装饰器的原因之一
最近更新: 2026/6/23 17:18
Contributors: yangwenguang
Prev
/ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/81-%E5%9F%BA%E4%BA%8E%E7%B1%BB%E5%AE%9A%E4%B9%89Node-style%E7%9A%84%E9%92%A9%E5%AD%90%E5%87%BD%E6%95%B0.html
Next
/ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/83-wrap_model_call%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%92%8C%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF.html