Cognitive Kernel-Pro 是腾讯AI实验室开发的一个开源框架,旨在帮助用户构建深度研究智能体和训练智能体基础模型。它集成了网页浏览、文件处理和代码执行等功能,支持用户完成复杂的研究任务。框架强调使用免费工具,确保开源性和可访问性。用户可以通过简单的设置,在本地部署并运行智能体,处理实时信息、文件管理和代码生成等任务。项目在 GAIA 基准测试中表现出色,性能媲美甚至超越部分闭源系统。代码和模型已完全开源,托管在 GitHub 上,鼓励社区贡献和进一步研究。
功能列表
- 网页浏览:智能体可通过控制浏览器执行点击、输入等操作,获取实时网页信息。
- 文件处理:支持读取和处理本地文件,提取关键数据或生成报告。
- 代码执行:自动生成并运行 Python 代码,完成数据分析或任务自动化。
- 模块化设计:提供多模块架构,允许用户自定义智能体的功能组合。
- 开源模型支持:集成 Qwen3-8B-CK-Pro 等开源模型,降低使用成本。
- 任务规划:智能体能根据用户指令生成任务计划,分解复杂任务。
- 安全沙箱运行:支持在沙箱环境中执行代码,确保运行安全。
使用帮助
安装流程
要使用 Cognitive Kernel-Pro,用户需要在本地环境中完成以下安装和配置步骤。以下是详细的安装流程,确保用户能够快速上手。
1. 环境准备
首先,确保你的系统安装了 Python 3.8 或以上版本,并具备 Git 工具。推荐在 Linux 或 macOS 系统上运行,Windows 用户需额外安装一些依赖。以下是基本步骤:
- 安装依赖:运行以下命令安装必要的 Python 包:
pip install boto3 botocore openai duckduckgo_search rich numpy openpyxl biopython mammoth markdownify pandas pdfminer-six python-pptx pdf2image puremagic pydub SpeechRecognition bs4 youtube-transcript-api requests transformers protobuf openai langchain_openai langchain selenium helium smolagents
- 安装系统依赖(Linux 系统):
apt-get install -y poppler-utils default-jre libreoffice-common libreoffice-java-common libreoffice ffmpeg
这些工具支持文件转换和多媒体处理。
- 设置 Python 路径:将项目路径添加到环境变量:
export PYTHONPATH=/your/path/to/CogKernel-Pro
- 克隆项目:从 GitHub 克隆 Cognitive Kernel-Pro 仓库:
git clone https://github.com/Tencent/CognitiveKernel-Pro.git cd CognitiveKernel-Pro
2. 配置模型服务
Cognitive Kernel-Pro 支持 vLLM 或 TGI 模型服务器运行开源模型。以下以 vLLM 为例:
- 安装 vLLM:
pip install vllm
- 启动模型服务:假设你已下载 Qwen3-8B-CK-Pro 模型权重,运行以下命令启动服务:
python -m vllm.entrypoints.openai.api_server --model /path/to/downloaded/model --worker-use-ray --tensor-parallel-size 8 --port 8080 --host 0.0.0.0 --trust-remote-code --max-model-len 8192 --served-model-name ck
3. 配置网页浏览器服务
项目使用 Playwright 提供网页浏览功能。运行以下脚本启动浏览器服务:
sh ck_pro/ck_web/_web/run_local.sh
确保服务运行在默认端口 localhost:3001
。
4. 运行主程序
准备好模型和浏览器服务后,运行主程序以执行任务:
NO_NULL_STDIN=1 python3 -u -m ck_pro.ck_main.main --updates "{'web_agent': {'model': {'call_target': 'http://localhost:8080/v1/chat/completions'}, 'web_env_kwargs': {'web_ip': 'localhost:3001'}}, 'file_agent': {'model': {'call_target': 'http://localhost:8080/v1/chat/completions'}}}" --input /path/to/simple_test.jsonl --output /path/to/simple_test.output.jsonl |& tee _log_simple_test
--input
指定任务输入文件,格式为 JSON Lines,每行包含一个任务描述。--output
指定输出文件路径,用于保存智能体执行结果。
5. 注意事项
- 安全性:建议在沙箱环境中运行,禁用 sudo 权限以避免潜在风险:
echo "${USER}" 'ALL=(ALL) NOPASSWD: !ALL' | tee /etc/sudoers.d/${USER}-rule chmod 440 /etc/sudoers.d/${USER}-rule deluser ${USER} sudo
- 调试模式:可添加
-mpdb
参数以进入调试模式,便于排查问题。
主要功能操作
网页浏览
Cognitive Kernel-Pro 的网页浏览功能允许智能体像人类一样与网页交互。用户提供任务描述(如“查找 GitHub 上某个仓库的最新提交”),智能体会自动打开浏览器,执行点击、输入等操作,获取所需信息。操作步骤如下:
- 在输入文件中定义任务,例如:
{"task": "find the latest commit details of a popular GitHub repository"}
- 智能体生成任务计划,调用 Playwright 浏览器,访问目标网页。
- 提取网页内容并返回结果,保存至输出文件。
文件处理
文件处理功能支持读取和分析多种格式文件(如 PDF、Excel、Word)。用户可指定文件路径和任务,例如提取 PDF 中的表格数据:
- 准备输入文件,指定文件路径和任务:
{"task": "extract table data from /path/to/document.pdf"}
- 智能体调用文件处理模块,解析文件并提取数据。
- 结果以结构化格式(如 JSON 或 CSV)保存至输出文件。
代码执行
代码执行功能允许智能体生成并运行 Python 代码,完成数据分析或自动化任务。例如,分析 CSV 文件中的数据:
- 输入任务描述:
{"task": "analyze sales data in /path/to/sales.csv and generate a summary"}
- 智能体生成 Python 代码,使用 pandas 等库处理数据。
- 代码在沙箱环境中执行,结果保存至输出文件。
任务规划
智能体会根据任务复杂度生成执行计划。例如,对于“查找并总结某论文内容”:
- 智能体分解任务为子步骤:搜索论文、下载 PDF、提取关键信息、生成总结。
- 每个子步骤调用相应模块(网页浏览、文件处理等)执行。
- 最终结果以用户指定格式输出。
特色功能操作
开源模型支持
Cognitive Kernel-Pro 集成了 Qwen3-8B-CK-Pro 模型,性能在 GAIA 基准测试中表现优异。用户可直接下载模型权重,无需依赖闭源 API,降低使用成本。模型支持多模态任务(如图像处理),用户可通过配置 VLM_URL 使用多模态功能。
安全沙箱运行
为防止代码执行带来的风险,框架推荐在沙箱环境中运行。用户可通过 Docker 部署,确保代码隔离:
docker run --rm -v /path/to/CogKernel-Pro:/app -w /app python:3.8 bash -c "pip install -r requirements.txt && python -m ck_pro.ck_main.main"
应用场景
- 学术研究
用户可以利用 Cognitive Kernel-Pro 搜索学术论文、提取关键信息并生成总结。例如,输入“查找 AI 领域的最新论文并总结”,智能体会自动搜索 arXiv,下载论文 PDF,提取摘要和结论,生成简洁报告。 - 数据分析
企业用户可使用框架分析本地数据文件。例如,处理销售数据 CSV 文件,生成统计图表和趋势分析报告,适合快速生成商业洞察。 - 自动化任务
开发者可利用智能体自动化重复性任务,如批量下载网页数据、整理文件内容或执行代码测试,提高工作效率。 - 开源社区开发
社区开发者可基于框架定制智能体,扩展功能模块,例如添加新的文件解析器或集成其他开源模型,参与框架的持续改进。
QA
- Cognitive Kernel-Pro 是否需要付费 API?
不需要。框架使用完全开源的工具和模型(如 Qwen3-8B-CK-Pro),无需依赖付费 API。用户只需下载模型权重并在本地部署即可。 - 如何确保代码执行安全?
建议在沙箱环境(如 Docker)中运行,禁用 sudo 权限,并限制网络访问。项目文档提供了详细的安全配置指南。 - 支持哪些文件格式?
支持 PDF、Excel、Word、Markdown、PPTX 等常见格式,可通过文件处理模块提取文本、表格或图像数据。 - 如何处理复杂任务?
智能体会将复杂任务分解为子任务,生成执行计划,调用网页浏览、文件处理或代码执行模块逐步完成。 - 是否支持多模态任务?
是的,支持多模态任务,如图像处理或视频分析。用户需配置 VLM_URL 并提供多模态模型支持。