Nia 是一个搜索和索引 API,持续从文档、研究论文、数据集、代码库等来源提供上下文——因此代理永远不会依赖过时数据。可扩展、成本降低 5 倍,且可靠。
概述
集成详情
| 类 | 包 | 可序列化 | JS 支持 | 版本 |
|---|---|---|---|---|
NiaToolkit | langchain-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 仓库.