Dataiku DSS文档助理
该项目提供了一个自定义的Dataiku DSS文档助手,使用LangChain的RecursiveUrlLoader来获取和搜索文档内容。
快速开始
运行代理(默认情况下为LLM模式):
source mcp_aiagent/bin/activate
python agent_simple_custom.py --iter-mode llm运行测试比较(余弦、启发式、LLM):
source mcp_aiagent/bin/activate
python test_search.py --max-docs 50 --max-results 3 --force-refresh包括迭代引导爬行比较:
python test_search.py \
--queries "create dataset" "containerized execution" \
--max-docs 50 --max-results 3 \
--include-iterative --iter-steps 2 --iter-branch 3 --iter-modes llm heuristic cosine \
--force-refresh文件
应用
agent_simple_custom.py--交互式CLI代理(仅入口点)
测试
test_search.py--比较三种搜索工具(余弦、启发式、LLM重新排序)
其他
__init__.py-Python包初始化mcp_aiagent/-具有所有必需依赖关系的虚拟环境
用法
运行代理(交互式)
source mcp_aiagent/bin/activate
# Choose iterative mode at startup: llm (default) | heuristic | cosine
python agent_simple_custom.py --iter-mode llm行为:
- 代理使用以下命令对每个查询执行迭代式、相关性引导的扩展
iterative_expand_crawl(steps=2, branch=3, mode=""). - 它只返回
top_overall迭代抓取的URL(无回填)。如果找到的值小于5,则返回更少的值并明确指出。 - 主页和片段URL被过滤。
运行搜索比较测试
此脚本获取一次文档,然后并排运行三个工具并打印顶部结果。您还可以包括跨模式的迭代引导爬行比较。
source mcp_aiagent/bin/activate
python test_search.py \
--queries "create dataset" "containerized execution" "Jupyter notebooks" "visual recipes vs code recipes" \
--max-results 5 \
--max-docs 50 \
--force-refresh包括迭代引导爬行(可选):
python test_search.py \
--queries "create dataset" "containerized execution" \
--max-results 3 \
--max-docs 50 \
--include-iterative \
--iter-steps 2 \
--iter-branch 3 \
--iter-modes cosine heuristic llm \
--force-refresh笔记:
- 主页
https://doc.dataiku.com/dss/latest/被工具过滤掉。 - LLM重新排名需要有效的AWS基岩证书
.env. - 获取行为(深度/超时/排除)在中配置
dataiku_tools.py. - 测试输出列出了每个方法、查询、URL和归一化相关性得分(0-100)。
- 片段URL(带
#...)在爬行和排名过程中被忽略。 - 迭代引导爬行(
iterative_expand_crawl)默认为steps=2,branch=3并返回top_overall(最多5个URL)。代理不会回填——如果发现的数量较少,它返回的数量也会较少。 - 启动时可以选择代理迭代模式
--iter-mode {llm|heuristic|cosine}。默认值为llm. - LLM检查器(
search_dataiku_docs_llm)直接从URL/标题/代码段判断相关性(无余弦预选)。分数是基于排名的(100、90、80等)。
特性
- 自定义文档加载:使用RecursiveUrlLoader获取Dataiku文档
- 智能高速缓存:缓存文档以提高性能
- 智能搜索:内置相关性评分搜索功能
- 网页过滤:可以按特定主题的模式过滤URL
- 错误处理:优雅地处理超时错误和有问题的URL
需求
- Python 3.10+
- 带有所需软件包的虚拟环境(请参见
mcp_aiagent/) - Bedrock的AWS证书(in
.env文件)
运作原理
- 文档获取:使用RecursiveUrlLoader进行爬网https://doc.dataiku.com/dss/latest/
- 内容处理:使用BeautifulSoup从HTML中提取干净的文本
- 缓存:将提取的文档存储在内存中以提高性能
- 搜索:提供对缓存文档的智能搜索
- 回应:根据查询返回相关URL和内容片段
与标准mcp服务器获取工具相比,自定义实现提供了更好的控制、缓存和搜索功能。
