以编程方式使用文档

Nia 是一个搜索和索引 API,持续从文档、研究论文、数据集、代码库等来源提供上下文——因此代理永远不会依赖过时数据。可扩展、成本降低 5 倍,且可靠。

概述

集成详情

可序列化JS 支持版本
NiaToolkitlangchain-nia!PyPI - 版本

工具特性

返回制品原生异步工具包工具数量定价
20提供免费套餐

设置

该集成位于 langchain-nia package.

    pip install -U langchain-nia
    
    uv add langchain-nia
    

凭证

trynia.ai 注册以获取 API 密钥。

if not os.environ.get("NIA_API_KEY"):
    os.environ["NIA_API_KEY"] = getpass.getpass("Nia API key:\n")

It's also helpful (but not needed) to set up LangSmith for best-in-class observability/追踪 的调用。要启用自动追踪,请设置您的 LangSmith API 密钥:

os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"

实例化

使用工具包

NiaToolkit 提供了所有 20 个 Nia 工具,并带有共享 API 包装器。使用 include_* 标志来控制哪些工具组可用:

from langchain_nia import NiaToolkit

toolkit = NiaToolkit(
    include_search=True,        # NiaSearch, NiaWebSearch, NiaDeepResearch, NiaUniversalSearch, NiaAdvisor
    include_sources=True,       # NiaIndex, NiaSourceList, NiaSourceSubscribe, NiaSourceSync, NiaRead, NiaGrep, NiaExplore
    include_github=True,        # NiaGitHubSearch, NiaGitHubRead, NiaGitHubGlob, NiaGitHubTree
    include_contexts=True,      # NiaContextSave, NiaContextSearch
    include_dependencies=True,  # NiaDependencySubscribe, NiaDependencyAnalyze
)
tools = toolkit.get_tools()

使用单独的工具

您也可以直接使用工具:

from langchain_nia import NiaSearch

tool = NiaSearch()

调用

搜索索引源

from langchain_nia import NiaSearch

tool = NiaSearch()
tool.invoke({"query": "how to use React hooks"})

搜索网页

from langchain_nia import NiaWebSearch

tool = NiaWebSearch()
tool.invoke({"query": "latest Python release", "num_results": 5})

从索引源读取文件

from langchain_nia import NiaRead

tool = NiaRead()
tool.invoke({"source_id": "your-source-id", "path": "README.md"})

在代理中

from langchain_nia import NiaToolkit

toolkit = NiaToolkit(include_search=True, include_sources=False, include_github=False, include_contexts=False, include_dependencies=False)
tools = toolkit.get_tools()

# pip install -qU "langchain[anthropic]"
from langchain.agents import create_agent

agent = create_agent(
    model="claude-sonnet-4-6",
    tools=tools,
)

agent.invoke(
    {"messages": [{"role": "user", "content": "Search for React hooks best practices"}]}
)

可用工具

### 搜索工具 - **NiaSearch** - 跨索引仓库、文档、数据集等的语义搜索 - **NiaWebSearch** - 带类别筛选和日期范围的网页搜索 - **NiaDeepResearch** - 多步骤综合研究 - **NiaUniversalSearch** - 同时搜索所有来源 - **NiaAdvisor** - 根据索引文档分析代码

### 来源管理工具 - **NiaIndex** - 为新来源建立索引(仓库、文档、论文、数据集) - **NiaSourceList** - 列出已筛选的索引源 - **NiaSourceSubscribe** - 订阅预索引的公共来源 - **NiaSourceSync** - 重新同步来源以获取最新更改 - **NiaRead** - Read files/pages from indexed sources - **NiaGrep** - 在索引源中进行正则表达式搜索 - **NiaExplore** - 浏览索引源的文件树结构

### GitHub 工具 - **NiaGitHubSearch** - 在 GitHub 仓库中搜索代码 - **NiaGitHubRead** - 从 GitHub 仓库读取文件 - **NiaGitHubGlob** - 查找匹配 glob 模式的文件 - **NiaGitHubTree** - 浏览仓库文件树结构

### 上下文和记忆工具 - **NiaContextSave** - 保存上下文以供跨代理共享 - **NiaContextSearch** - 对保存的上下文进行语义搜索

### 依赖项工具 - **NiaDependencySubscribe** - 自动订阅项目依赖项的文档 - **NiaDependencyAnalyze** - 预览将从清单中索引的内容

API 参考

有关所有 Nia 工具和配置的详细文档,请参阅 langchain-nia GitHub 仓库.