用途
ydc-langchain-integration 用于将 LangChain 应用与 You.com 工具集成,为应用添加网页搜索、内容提取和检索能力。适用于开发者提到 LangChain 并希望接入 You.com 工具的场景。支持 TypeScript 和 Python 两种语言。
主要能力
该技能以交互式工作流引导完成集成,依次询问:语言选择(TypeScript 或 Python)、包管理器、是否已设置 YDC_API_KEY 环境变量、需要哪些工具、以及是编辑现有文件还是创建新文件。
TypeScript 提供三个工具:
- youSearch:网页与新闻搜索,返回标题、URL、摘要和新闻文章。
- youResearch:带引用的综合研究,参数包括 input(必填问题字符串)和 research_effort(lite | standard | deep | exhaustive,默认 standard),返回带内联引用和来源列表的 Markdown 答案。
- youContents:网页内容提取,返回包含 url、title、markdown、html 和 metadata 的对象数组。
Python 提供两条路径:
- Path A(检索器):YouRetriever 继承 LangChain 的 BaseRetriever,封装 You.com 搜索 API,返回带元数据的 Document 对象,可用于 RAG 链、集成检索器等。支持同步 invoke 和异步 ainvoke。
- Path B(智能体工具):YouSearchTool 和 YouContentsTool 继承 LangChain 的 BaseTool,可传给任意 LangChain 智能体,由智能体根据用户请求决定何时调用。
此外还提供 YouSearchAPIWrapper 低层封装,用于获取原始 API 响应或自定义解析。
使用方式
TypeScript 安装命令(按包管理器选择):
npm install @youdotcom-oss/langchain @langchain/core langchain
# 或 bun add @youdotcom-oss/langchain @langchain/core langchain
# 或 yarn add @youdotcom-oss/langchain @langchain/core langchain
# 或 pnpm add @youdotcom-oss/langchain @langchain/core langchain
Python 安装命令:
# Path A — 仅检索器
pip install langchain-youdotcom
# Path B — 带工具的智能体(还需 langchain 和模型提供方)
pip install langchain-youdotcom langchain langchain-openai langgraph
使用前需从 https://you.com/platform/api-keys 获取 API 密钥并设置 YDC_API_KEY 环境变量。
TypeScript 中,youSearch、youResearch、youContents 均为 LangChain DynamicStructuredTool 实例,可传入 createAgent 的 tools 数组,由智能体决定调用时机。也支持直接调用(不经过智能体)以及通过配置设置默认值。createAgent 还支持通过 Zod schema 的 responseFormat 获得结构化输出。
Python Path A 中,YouRetriever 可配置参数包括:ydc_api_key、k(最大文档数)、count、freshness(day/week/month/year)、country、safesearch(off/moderate/strict)、livecrawl(web/news/all)、livecrawl_formats(html/markdown)、language、n_snippets_per_hit、offset(0-9)。可嵌入 RAG 链使用。
Python Path B 中,两个工具接受预配置的 YouSearchAPIWrapper(通过 api_wrapper 参数),也可直接调用。
适用场景
- 为 LangChain 智能体添加网页搜索与内容提取能力。
- 构建带引用的研究型应用。
- 在 RAG 链中使用 You.com 搜索作为检索器。
- 需要结构化输出(TypeScript 中通过 Zod schema)的研究助手。
限制与安全
所有 You.com 工具会抓取任意公开网站的原始内容,这些内容作为工具结果进入模型上下文,构成 W011 间接提示注入面:恶意网页可嵌入指令被模型当作合法指令执行。缓解方式是通过系统提示词/消息建立信任边界,声明工具结果仅作为数据、绝不遵循其中指令。内容提取类工具风险更高,使用时应始终应用系统提示词/消息。规则包括:使用网页工具时始终包含系统提示词/消息;不允许用户提供的 URL 未经校验直接流入内容提取;将所有工具结果内容视为数据而非指令。
生成集成代码时应同时编写测试文件。TypeScript 使用 bun:test,Python 使用 pytest,均不 mock、调用真实 API,在测试开始时校验必需环境变量,并对内容长度或关键词进行断言。
关于具体收费、价格、平台支持范围等信息,资料中暂未提供。