SuperAPI AI 工具集

ydc-langchain-integration

编程与开发

查看项目

更新于 10-16 02:06

技能介绍

用途

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,在测试开始时校验必需环境变量,并对内容长度或关键词进行断言。

关于具体收费、价格、平台支持范围等信息,资料中暂未提供。