| 作者: | Daniel Nastase |
| 语言: | 英文 |
| 出版年份: | 2024 |
| 编程语言: | JavaScript |
| 其他分类: | 人工智能 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
| 章节 | 项目驱动 | 关键技术点 |
|---|---|---|
| 1-2 | Story Maker(儿童故事生成) | 环境搭建、ChatOpenAI 调用、PromptTemplate、LLMChain、LCEL 管道语法、流式输出 |
| 3 | Trivia Game(地理知识竞答) | StringOutputParser、CommaSeparatedListOutputParser、StructuredOutputParser(Zod 方案) |
| 4 | Tea Facts Wiki(茶知识百科) | HumanMessage / AIMessage、MessagesPlaceholder、内存数组手动维护、会话去重 |
| 5-6 | Documents Chatbot(可上传网页/PDF 的问答机器人) | RAG 完整链路:CheerioWebBaseLoader、RecursiveCharacterTextSplitter、OpenAIEmbeddings、MemoryVectorStore、createRetrievalChain |
| 7 | Article Research Agent(记者助手) | ReAct Agent、WikipediaQueryRun、Calculator、AgentExecutor 参数调优、中间步骤追踪 |
.pipe() 替代传统 class 封装,使链式代码更像函数式组合,降低心智负担。handleLLMNewToken 回调 + TextEncoder/TransformStream,让长文本生成“像打字机一样”实时推送到前端,解决等待焦虑。StructuredOutputParser.fromZodSchema(),把“黑盒自然语言”强制转换成可校验 JSON,显著减少前后端联调错误。chatHistory: (HumanMessage|AIMessage)[] 数组,结合 MessagesPlaceholder("chat_history"),在单次会话内实现“多轮追问不重复”。maxIterations、returnIntermediateSteps 等参数防止无限循环与费用失控。page.js + api/route.js 两个文件完成迭代,降低示例复杂度。verbose: true 打印链路与耗时;console.log(tokenUsage) 评估分块大小是否合理;returnIntermediateSteps 追踪 Agent 是否调用错误工具。@langchain/openai 为 @langchain/ollama 等包,无需改动链式代码。fromDocuments 参数。maxIterations 与 prompt 工程双重限制。读完并跟随代码后,你将:
《LangChain for JavaScript developers》是一本“把 AI 魔法变成普通 API”的实战手册:用最小代码量,教会前端工程师把大模型能力拆成 prompt、链、记忆、知识库、Agent 五个可替换零件,快速拼装出可靠、可扩展、可维护的生成式 Web 应用。