SuperAPI AI 工具集

cognee-install

智能体与模型

查看项目

更新于 10-16 03:38

技能介绍

用途:本技能用于安装 cognee 并运行首次 remember → recall 流程,覆盖全新环境搭建、虚拟环境、可选依赖(extras)选择与基础配置。

安装:需要 Python 3.10–3.14。推荐使用 uv:uv venv && source .venv/bin/activate,然后 uv pip install cognee(从 PyPI 安装);在仓库内开发时可用 uv pip install -e .。按需添加 extras,例如 cognee[postgres]、cognee[neo4j]、cognee[docling](office/HTML 文档解析,轻量)、cognee[docs](unstructured)、cognee[anthropic]、cognee[ollama]、cognee[aws];完整列表见 pyproject.toml 的 [project.optional-dependencies]。

配置:唯一必需设置是 LLM API 密钥。在工作目录创建 .env(或导出该变量):LLM_API_KEY="your_openai_api_key"。默认无需外部服务:SQLite(关系型)、LanceDB(向量)与 Ladybug(图)均本地存储。OpenAI 是默认 LLM 与嵌入提供方;若只配置了其他 LLM 而未配置嵌入(或相反),另一方会静默保持 OpenAI。其他提供方与数据库需使用 cognee-integrations 技能。

首次运行:自 cognee 1.x 起,记忆 API(remember、recall、forget、improve)是主接口,所有 SDK 函数均为异步。最小示例: import asyncio import cognee

async def main(): await cognee.remember("Cognee turns documents into AI memory.") results = await cognee.recall("What does cognee do?") print(results)

asyncio.run(main())

remember() 一次调用完成整个摄取路径:执行 add() + cognify(),再执行 improve() 为图建立索引(默认 self_improvement=True)。它接受文本、文件路径、URL 和二进制流,可传 dataset_name="my_project";recall() 传 datasets=["my_project"] 可限定在单个数据集内。recall() 默认自动路由查询到某种搜索策略;可传 query_type=SearchType.CHUNKS 等固定策略,或 auto_route=False 回退到 GRAPH_COMPLETION。

会话记忆:remember(..., session_id="chat_1") 写入快速会话缓存,而非内联执行 add+cognify;recall(..., session_id="chat_1") 读取(命中会话则跳过图搜索)。默认 self_improvement=True 时,仍会在后台把数据桥接进永久图;improve(dataset=..., session_ids=[...]) 可显式执行。会话缓存默认开启(CACHING=true);设为 CACHING=false 会完全禁用它,并使 remember(session_id=...) 报错。

底层原语 add() / cognify() / search() / memify() 仍然存在,是 remember/recall/improve 的底层实现,仅在需要单独驱动某个阶段(如自定义管线任务)时使用。cognee.delete 自 0.3.9 起正式弃用,forget() 是 1.x 统一替代。recall() 与底层 search() 的取舍见 docs/recall-vs-search.md。

验证与排错:可用 cognee-cli remember "hello" && cognee-cli recall "hello" 在 shell 中走通同一流程;清空本地状态用 cognee-cli forget --all(或 await cognee.forget(everything=True))。读取慢或每次查询都消耗 token,可设 AUTO_FEEDBACK=false(保留 CACHING=true),因为默认每次回答都会发起一次结构化输出 LLM 调用以自调优记忆。结构化 LLM 输出报错通常说明模型/提供方需要显式 instructor 模式:LLM_INSTRUCTOR_MODE="json_schema_mode"。