cognee
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOverview
概述
Cognee v0.5.5 — open-source Python AI memory engine that converts raw data into searchable knowledge graphs combining vector search with graph databases.
- Source: topoteretes/cognee @ main
- Language: Python (async/await throughout)
- Forge tier: Deep (AST + gh + QMD)
- Public API exports: 22 | Total extracted: 837 (302 functions, 535 classes)
- Confidence: 837 T1 (AST-verified), 14 T2 (QMD-enriched), T3 (docs supplemental)
Cognee v0.5.5 — 开源Python AI内存引擎,可将原始数据转换为可搜索的知识图谱,结合向量搜索与图数据库。
- 源码地址: topoteretes/cognee @ main分支
- 开发语言: Python(全程使用async/await)
- 深度级别: Deep(AST + gh + QMD)
- 公开API导出数量: 22 | 提取总数量: 837(302个函数,535个类)
- 可信度: 837个T1(AST验证),14个T2(QMD增强),T3(文档补充)
Quick Start
快速开始
python
import cognee
import asyncio
async def main():
# Reset state
await cognee.prune.prune_data()
await cognee.prune.prune_system(metadata=True)
# 1. Ingest data
await cognee.add("Cognee turns documents into AI memory.") # [AST:cognee/api/v1/add/add.py:L22]
# 2. Build knowledge graph
await cognee.cognify() # [AST:cognee/api/v1/cognify/cognify.py:L47]
# 3. Search
results = await cognee.search( # [AST:cognee/api/v1/search/search.py:L26]
query_text="What does Cognee do?"
)
for r in results:
print(r)
asyncio.run(main())All core functions are async — must use inside an async context.
<!-- [MANUAL:additional-notes] -->await[EXT:docs.cognee.ai/getting-started/quickstart]python
import cognee
import asyncio
async def main():
# 重置状态
await cognee.prune.prune_data()
await cognee.prune.prune_system(metadata=True)
# 1. 导入数据
await cognee.add("Cognee turns documents into AI memory.") # [AST:cognee/api/v1/add/add.py:L22]
# 2. 构建知识图谱
await cognee.cognify() # [AST:cognee/api/v1/cognify/cognify.py:L47]
# 3. 搜索
results = await cognee.search( # [AST:cognee/api/v1/search/search.py:L26]
query_text="What does Cognee do?"
)
for r in results:
print(r)
asyncio.run(main())所有核心函数均为异步——必须在异步上下文内使用。
<!-- [MANUAL:additional-notes] -->await[EXT:docs.cognee.ai/getting-started/quickstart]Setup Requirements
安装要求
Python: >=3.10, <3.14. Recommended installer: .
uvbash
uv pip install -e "." # minimal (SQLite + LanceDB + Kuzu)
uv pip install -e ".[postgres,neo4j]" # with PostgreSQL + Neo4jKey installation extras: / , , , , , , , , , , , , , (S3), , , , , , , , , , (Sentry+Langfuse), (Modal), , .
postgrespostgres-binaryneo4jneptunechromadbqdrantredisollamaanthropicgeminimistralgroqhuggingfacellama-cppawslangchainllama-indexgraphitibamldltdoclingcodegraphscrapingdocsmonitoringdistributeddevdebugMinimal .env:
bash
LLM_API_KEY="your_openai_api_key"
LLM_MODEL="openai/gpt-4o-mini"Defaults (no extra setup): SQLite (relational), LanceDB (vector), Kuzu (graph). All stored in by default — override with and .
.venvDATA_ROOT_DIRECTORYSYSTEM_ROOT_DIRECTORYImportant: If you configure only LLM or only embeddings, the other defaults to OpenAI. Always configure both, or ensure a valid OpenAI API key.
<!-- [/MANUAL:additional-notes] -->Python版本: >=3.10,<3.14。推荐安装工具:。
uvbash
uv pip install -e "." # 最小安装(SQLite + LanceDB + Kuzu)
uv pip install -e ".[postgres,neo4j]" # 包含PostgreSQL + Neo4j的安装关键扩展安装选项: / , , , , , , , , , , , , , (S3), , , , , , , , , , (Sentry+Langfuse), (Modal), , 。
postgrespostgres-binaryneo4jneptunechromadbqdrantredisollamaanthropicgeminimistralgroqhuggingfacellama-cppawslangchainllama-indexgraphitibamldltdoclingcodegraphscrapingdocsmonitoringdistributeddevdebug最小化.env配置:
bash
LLM_API_KEY="your_openai_api_key"
LLM_MODEL="openai/gpt-4o-mini"默认配置(无需额外设置):SQLite(关系型)、LanceDB(向量)、Kuzu(图)。所有数据默认存储在目录下——可通过和覆盖默认路径。
.venvDATA_ROOT_DIRECTORYSYSTEM_ROOT_DIRECTORY重要提示: 如果你仅配置了LLM或仅配置了嵌入模型,另一项将默认使用OpenAI。请始终同时配置两者,或确保拥有有效的OpenAI API密钥。
<!-- [/MANUAL:additional-notes] -->Common Workflows
常见工作流
Add and process data:
await cognee.add(data) → await cognee.cognify() → await cognee.search(query_text)Multi-format ingestion:
await cognee.add(["/path/to/file.pdf", "raw text", open("doc.txt","rb")], dataset_name="my_data")Ontology-grounded cognify:
→
config = {"ontology_config": {"ontology_resolver": RDFLibOntologyResolver(ontology_file=path)}}await cognee.cognify(config=config)[EXT:docs.cognee.ai/guides/ontology-support]Session-aware search:
→
await cognee.search(query_text="Q1", session_id="conv_1")await cognee.search(query_text="Follow-up", session_id="conv_1")[EXT:docs.cognee.ai/guides/sessions]Custom data models:
→
class MyEntity(DataPoint): name: str; metadata = {"index_fields": ["name"]}await add_data_points([entity])[EXT:docs.cognee.ai/guides/custom-data-models]添加并处理数据:
await cognee.add(data) → await cognee.cognify() → await cognee.search(query_text)多格式数据导入:
await cognee.add(["/path/to/file.pdf", "raw text", open("doc.txt","rb")], dataset_name="my_data")基于本体的Cognify处理:
→
config = {"ontology_config": {"ontology_resolver": RDFLibOntologyResolver(ontology_file=path)}}await cognee.cognify(config=config)[EXT:docs.cognee.ai/guides/ontology-support]会话感知搜索:
→
await cognee.search(query_text="Q1", session_id="conv_1")await cognee.search(query_text="Follow-up", session_id="conv_1")[EXT:docs.cognee.ai/guides/sessions]自定义数据模型:
→
class MyEntity(DataPoint): name: str; metadata = {"index_fields": ["name"]}await add_data_points([entity])[EXT:docs.cognee.ai/guides/custom-data-models]Key API Summary
核心API汇总
| Function | Purpose | Key Params |
|---|---|---|
| Ingest text, files, binary data | |
| Build knowledge graph from ingested data | |
| Query knowledge graph | |
| Enrich existing graph with custom tasks | |
| Runtime configuration (LLM, DB, vectors) | static methods |
| List, inspect, delete datasets | static methods |
| Clean up data and system resources | |
| Update existing data items | |
| Session history and feedback | |
| Execute custom task pipelines | |
| Enum of 14 search modes | |
| Render knowledge graph to HTML | |
| Enable OpenTelemetry tracing | |
| Run Alembic database migrations | — |
| Launch local Cognee UI (frontend + backend + MCP servers) | |
| Render knowledge graph to interactive HTML | |
| Module re-export: Task, run_tasks, run_tasks_parallel, run_pipeline | — |
| 函数 | 用途 | 关键参数 |
|---|---|---|
| 导入文本、文件、二进制数据 | |
| 从导入的数据构建知识图谱 | |
| 查询知识图谱 | |
| 用自定义任务增强现有图谱 | |
| 运行时配置(LLM、数据库、向量存储) | 静态方法 |
| 列出、查看、删除数据集 | 静态方法 |
| 清理数据和系统资源 | |
| 更新现有数据项 | |
| 会话历史与反馈 | |
| 执行自定义任务流水线 | |
| 包含14种搜索模式的枚举类 | |
| 将知识图谱渲染为HTML | |
| 启用OpenTelemetry追踪 | |
| 运行Alembic数据库迁移 | — |
| 启动本地Cognee UI(前端 + 后端 + MCP服务器) | |
| 将知识图谱渲染为交互式HTML | |
| 模块重导出:Task, run_tasks, run_tasks_parallel, run_pipeline | — |
LLM Provider Configuration
LLM提供商配置
Configure via — provider-specific examples:
.envbash
undefined可通过文件配置——以下是不同提供商的示例:
.envbash
undefinedAzure OpenAI
Azure OpenAI
LLM_PROVIDER="azure"
LLM_MODEL="azure/gpt-4o-mini"
LLM_ENDPOINT="https://YOUR-RESOURCE.openai.azure.com/openai/deployments/gpt-4o-mini"
LLM_API_KEY="your_key"
LLM_API_VERSION="2024-12-01-preview"
LLM_PROVIDER="azure"
LLM_MODEL="azure/gpt-4o-mini"
LLM_ENDPOINT="https://YOUR-RESOURCE.openai.azure.com/openai/deployments/gpt-4o-mini"
LLM_API_KEY="your_key"
LLM_API_VERSION="2024-12-01-preview"
Anthropic (requires: pip install cognee[anthropic])
Anthropic(需安装:pip install cognee[anthropic])
LLM_PROVIDER="anthropic"
LLM_MODEL="claude-3-5-sonnet-20241022"
LLM_API_KEY="your_key"
LLM_PROVIDER="anthropic"
LLM_MODEL="claude-3-5-sonnet-20241022"
LLM_API_KEY="your_key"
Ollama (requires: pip install cognee[ollama])
Ollama(需安装:pip install cognee[ollama])
LLM_PROVIDER="ollama"
LLM_MODEL="llama3.1:8b"
LLM_ENDPOINT="http://localhost:11434/v1"
LLM_API_KEY="ollama"
EMBEDDING_PROVIDER="ollama"
EMBEDDING_MODEL="nomic-embed-text:latest"
EMBEDDING_ENDPOINT="http://localhost:11434/api/embed"
HUGGINGFACE_TOKENIZER="nomic-ai/nomic-embed-text-v1.5"
LLM_PROVIDER="ollama"
LLM_MODEL="llama3.1:8b"
LLM_ENDPOINT="http://localhost:11434/v1"
LLM_API_KEY="ollama"
EMBEDDING_PROVIDER="ollama"
EMBEDDING_MODEL="nomic-embed-text:latest"
EMBEDDING_ENDPOINT="http://localhost:11434/api/embed"
HUGGINGFACE_TOKENIZER="nomic-ai/nomic-embed-text-v1.5"
AWS Bedrock (requires: pip install cognee[aws])
AWS Bedrock(需安装:pip install cognee[aws])
LLM_PROVIDER="bedrock"
LLM_MODEL="anthropic.claude-3-sonnet-20240229-v1:0"
AWS_REGION="us-east-1"
LLM_PROVIDER="bedrock"
LLM_MODEL="anthropic.claude-3-sonnet-20240229-v1:0"
AWS_REGION="us-east-1"
Custom / OpenRouter / vLLM
自定义 / OpenRouter / vLLM
LLM_PROVIDER="custom"
LLM_MODEL="openrouter/google/gemini-2.0-flash-lite-preview-02-05:free"
LLM_ENDPOINT="https://openrouter.ai/api/v1"
**Rate limiting:** `LLM_RATE_LIMIT_ENABLED=true`, `LLM_RATE_LIMIT_REQUESTS=60`, `LLM_RATE_LIMIT_INTERVAL=60`
**Structured output:** `STRUCTURED_OUTPUT_FRAMEWORK="instructor"` (default) or `"baml"` (requires `cognee[baml]`). Override instructor mode: `LLM_INSTRUCTOR_MODE="json_schema_mode"`.LLM_PROVIDER="custom"
LLM_MODEL="openrouter/google/gemini-2.0-flash-lite-preview-02-05:free"
LLM_ENDPOINT="https://openrouter.ai/api/v1"
**速率限制:** `LLM_RATE_LIMIT_ENABLED=true`, `LLM_RATE_LIMIT_REQUESTS=60`, `LLM_RATE_LIMIT_INTERVAL=60`
**结构化输出:** `STRUCTURED_OUTPUT_FRAMEWORK="instructor"`(默认)或`"baml"`(需安装`cognee[baml]`)。覆盖instructor模式:`LLM_INSTRUCTOR_MODE="json_schema_mode"`。Database Switching
数据库切换
bash
undefinedbash
undefinedPostgreSQL (requires: pip install cognee[postgres])
PostgreSQL(需安装:pip install cognee[postgres])
DB_PROVIDER=postgres
DB_HOST=localhost DB_PORT=5432 DB_USERNAME=cognee DB_PASSWORD=cognee DB_NAME=cognee_db
DB_PROVIDER=postgres
DB_HOST=localhost DB_PORT=5432 DB_USERNAME=cognee DB_PASSWORD=cognee DB_NAME=cognee_db
PGVector (requires: pip install cognee[postgres])
PGVector(需安装:pip install cognee[postgres])
VECTOR_DB_PROVIDER=pgvector
VECTOR_DB_URL=postgresql://cognee:cognee@localhost:5432/cognee_db
VECTOR_DB_PROVIDER=pgvector
VECTOR_DB_URL=postgresql://cognee:cognee@localhost:5432/cognee_db
Neo4j (requires: pip install cognee[neo4j])
Neo4j(需安装:pip install cognee[neo4j])
GRAPH_DATABASE_PROVIDER=neo4j
GRAPH_DATABASE_URL=bolt://localhost:7687
GRAPH_DATABASE_USERNAME=neo4j GRAPH_DATABASE_PASSWORD=yourpassword
GRAPH_DATABASE_PROVIDER=neo4j
GRAPH_DATABASE_URL=bolt://localhost:7687
GRAPH_DATABASE_USERNAME=neo4j GRAPH_DATABASE_PASSWORD=yourpassword
S3 storage (requires: pip install cognee[aws])
S3存储(需安装:pip install cognee[aws])
STORAGE_BACKEND="s3"
STORAGE_BUCKET_NAME="your-bucket"
DATA_ROOT_DIRECTORY="s3://your-bucket/cognee/data"
undefinedSTORAGE_BACKEND="s3"
STORAGE_BUCKET_NAME="your-bucket"
DATA_ROOT_DIRECTORY="s3://your-bucket/cognee/data"
undefinedSecurity Environment Variables
安全环境变量
bash
ACCEPT_LOCAL_FILE_PATH=True # Allow local file paths in add()
ALLOW_HTTP_REQUESTS=True # Allow HTTP fetches
ALLOW_CYPHER_QUERY=True # Allow raw Cypher in SearchType.CYPHER
REQUIRE_AUTHENTICATION=False # Enable API auth
ENABLE_BACKEND_ACCESS_CONTROL=True # Multi-tenant dataset isolationbash
ACCEPT_LOCAL_FILE_PATH=True # 允许在add()中使用本地文件路径
ALLOW_HTTP_REQUESTS=True # 允许HTTP请求
ALLOW_CYPHER_QUERY=True # 允许在SearchType.CYPHER中使用原始Cypher语句
REQUIRE_AUTHENTICATION=False # 启用API认证
ENABLE_BACKEND_ACCESS_CONTROL=True # 多租户数据集隔离Extension Patterns
扩展模式
Custom pipeline task:
python
from cognee.modules.pipelines.tasks.Task import Task
async def my_task(data):
return process(data)
task = Task(my_task)Direct database access:
python
from cognee.infrastructure.databases.graph import get_graph_engine
from cognee.infrastructure.databases.vector import get_vector_engine
graph_engine = await get_graph_engine()
vector_engine = await get_vector_engine()LLM Gateway (structured output):
python
from cognee.infrastructure.llm.get_llm_client import get_llm_client
llm_client = get_llm_client()
response = await llm_client.acreate_structured_output(
text_input="prompt", system_prompt="instructions", response_model=YourPydanticModel
)自定义流水线任务:
python
from cognee.modules.pipelines.tasks.Task import Task
async def my_task(data):
return process(data)
task = Task(my_task)直接数据库访问:
python
from cognee.infrastructure.databases.graph import get_graph_engine
from cognee.infrastructure.databases.vector import get_vector_engine
graph_engine = await get_graph_engine()
vector_engine = await get_vector_engine()LLM网关(结构化输出):
python
from cognee.infrastructure.llm.get_llm_client import get_llm_client
llm_client = get_llm_client()
response = await llm_client.acreate_structured_output(
text_input="prompt", system_prompt="instructions", response_model=YourPydanticModel
)MCP Server Transport Modes
MCP服务器传输模式
bash
python src/server.py # stdio (default)
python src/server.py --transport sse # SSE
python src/server.py --transport http --host 127.0.0.1 --port 8000 --path /mcpbash
python src/server.py # 标准输入输出(默认)
python src/server.py --transport sse # SSE
python src/server.py --transport http --host 127.0.0.1 --port 8000 --path /mcpAPI mode (connect to running Cognee API):
API模式(连接到运行中的Cognee API):
python src/server.py --transport sse --api-url http://localhost:8000 --api-token TOKEN
Docker: `docker run -e TRANSPORT_MODE=sse --env-file .env -p 8000:8000 cognee/cognee-mcp:main`python src/server.py --transport sse --api-url http://localhost:8000 --api-token TOKEN
Docker命令:`docker run -e TRANSPORT_MODE=sse --env-file .env -p 8000:8000 cognee/cognee-mcp:main`Common Troubleshooting
常见问题排查
- Ollama + OpenAI embeddings NoDataError — configure both LLM and embedding to same provider, or set
HUGGINGFACE_TOKENIZER - LM Studio structured output — set
LLM_INSTRUCTOR_MODE="json_schema_mode" - Default provider fallback — configuring only LLM or only embeddings defaults the other to OpenAI
- Permission denied on search — returns empty list (not error) to prevent info leakage; check dataset permissions
- Docker DB connections — use for local databases
DB_HOST=host.docker.internal - Debug logging — ,
LITELLM_LOG="DEBUG",ENV="development"TELEMETRY_DISABLED=1
- Ollama + OpenAI嵌入出现NoDataError — 将LLM和嵌入模型配置为同一提供商,或设置
HUGGINGFACE_TOKENIZER - LM Studio结构化输出问题 — 设置
LLM_INSTRUCTOR_MODE="json_schema_mode" - 默认提供商回退 — 仅配置LLM或仅配置嵌入模型时,另一项将默认使用OpenAI
- 搜索权限被拒绝 — 返回空列表(而非错误)以防止信息泄露;检查数据集权限
- Docker数据库连接问题 — 对于本地数据库,使用
DB_HOST=host.docker.internal - 调试日志 — ,
LITELLM_LOG="DEBUG",ENV="development"TELEMETRY_DISABLED=1
Migration & Deprecation Warnings
迁移与弃用警告
- deprecated since v0.3.9 — use
delete()insteaddatasets.delete_data()[SRC:cognee/api/v1/delete/__init__.py:L13] - default pipeline changed — coding rules replaced with triplet embedding (Mar 2026)
memify()[QMD:cognee-temporal:prs.md] - bug — PATCH updates timestamps but GET raw may return old data
update()[QMD:cognee-temporal:issues.md] - frontend — open bug #2442: missing component in UI mode
visualize_graph()[QMD:cognee-temporal:issues.md] - v0.5.5 bug — pip-installed frontend fails with 500 errors due to missing npm deps (react-markdown, ngraph.graph)
start_ui()[QMD:cognee-temporal:issues.md]
See Full API Reference for migration details.
- 自v0.3.9起弃用——请使用
delete()替代datasets.delete_data()[SRC:cognee/api/v1/delete/__init__.py:L13] - 默认流水线变更 — 编码规则已被三元组嵌入替代(2026年3月)
memify()[QMD:cognee-temporal:prs.md] - bug — PATCH更新会修改时间戳,但GET原始数据可能返回旧数据
update()[QMD:cognee-temporal:issues.md] - 前端问题 — 开放bug #2442:UI模式下缺少组件
visualize_graph()[QMD:cognee-temporal:issues.md] - v0.5.5 bug — 通过pip安装的前端因缺少npm依赖(react-markdown、ngraph.graph)而出现500错误
start_ui()[QMD:cognee-temporal:issues.md]
有关迁移详情,请参阅完整API参考文档。
Key Types
核心类型定义
SearchType (14 modes) :
(default), , , , , , , , , , , , ,
[AST:cognee/modules/search/types/SearchType.py:L4]GRAPH_COMPLETIONRAG_COMPLETIONCHUNKSSUMMARIESTRIPLET_COMPLETIONGRAPH_SUMMARY_COMPLETIONCYPHERNATURAL_LANGUAGEGRAPH_COMPLETION_COTGRAPH_COMPLETION_CONTEXT_EXTENSIONFEELING_LUCKYTEMPORALCODING_RULESCHUNKS_LEXICALTask — wraps any callable (async/sync/generator) for pipeline execution
[AST:cognee/modules/pipelines/tasks/task.py]DataPoint — base class for custom graph nodes; inherit and add typed fields
[EXT:docs.cognee.ai/guides/custom-data-models]ChunkStrategy — , ,
PARAGRAPHSENTENCELANGCHAIN_CHARACTER[AST:cognee/shared/data_models.py:L83]SearchType(14种模式) :
(默认), , , , , , , , , , , , ,
[AST:cognee/modules/search/types/SearchType.py:L4]GRAPH_COMPLETIONRAG_COMPLETIONCHUNKSSUMMARIESTRIPLET_COMPLETIONGRAPH_SUMMARY_COMPLETIONCYPHERNATURAL_LANGUAGEGRAPH_COMPLETION_COTGRAPH_COMPLETION_CONTEXT_EXTENSIONFEELING_LUCKYTEMPORALCODING_RULESCHUNKS_LEXICALTask — 为流水线执行包装任何可调用对象(异步/同步/生成器)
[AST:cognee/modules/pipelines/tasks/task.py]DataPoint — 自定义图节点的基类;继承并添加类型化字段
[EXT:docs.cognee.ai/guides/custom-data-models]ChunkStrategy — , ,
PARAGRAPHSENTENCELANGCHAIN_CHARACTER[AST:cognee/shared/data_models.py:L83]Architecture at a Glance
架构概览
- Storage: Relational (SQLite/Postgres) + Vector (LanceDB/PGVector/Qdrant/Redis/ChromaDB/FalkorDB) + Graph (Kuzu/Neo4j/Neptune/Memgraph)
- LLM Providers: OpenAI, Azure OpenAI, Gemini, Anthropic, Ollama, custom (vLLM)
- Embedding: OpenAI, Azure, Gemini, Mistral, Ollama, Fastembed
- Pipeline: Tasks → Pipelines → run_pipeline (orchestration with async generators)
- Observability: OpenTelemetry tracing via /
enable_tracing()disable_tracing() - MCP Server: 7 tools (cognify, search, list_data, delete, prune, cognify_status, save_interaction)
[AST:cognee-mcp/src/server.py]
- 存储层: 关系型(SQLite/Postgres) + 向量(LanceDB/PGVector/Qdrant/Redis/ChromaDB/FalkorDB) + 图(Kuzu/Neo4j/Neptune/Memgraph)
- LLM提供商: OpenAI、Azure OpenAI、Gemini、Anthropic、Ollama、自定义(vLLM)
- 嵌入模型: OpenAI、Azure、Gemini、Mistral、Ollama、Fastembed
- 流水线: 任务 → 流水线 → run_pipeline(使用异步生成器进行编排)
- 可观测性: 通过/
enable_tracing()实现OpenTelemetry追踪disable_tracing() - MCP服务器: 7个工具(cognify、search、list_data、delete、prune、cognify_status、save_interaction)
[AST:cognee-mcp/src/server.py]
CLI
命令行工具(CLI)
bash
cognee --add "data" # Ingest data
cognee --cognify # Build knowledge graph
cognee --search "query" # Search
cognee --debug # Enable debug logging
cognee --ui # Launch local UI[AST:cognee/cli/_cognee.py:L32]bash
cognee --add "data" # 导入数据
cognee --cognify # 构建知识图谱
cognee --search "query" # 搜索
cognee --debug # 启用调试日志
cognee --ui # 启动本地UI[AST:cognee/cli/_cognee.py:L32]Full API Reference
完整API参考
See references/full-api-reference.md for complete signatures with parameters, return types, and T2 annotations for all 22 exports.
请参阅references/full-api-reference.md获取包含参数、返回类型及所有22个导出项的T2注释的完整签名。
Full Type Definitions
完整类型定义
SearchType [AST:cognee/modules/search/types/SearchType.py:L4]
[AST:cognee/modules/search/types/SearchType.py:L4]SearchType [AST:cognee/modules/search/types/SearchType.py:L4]
[AST:cognee/modules/search/types/SearchType.py:L4]python
class SearchType(str, Enum):
SUMMARIES = "SUMMARIES" # Vector similarity on TextSummary nodes
CHUNKS = "CHUNKS" # Vector similarity on DocumentChunk nodes
RAG_COMPLETION = "RAG_COMPLETION" # LLM-backed with chunk context
TRIPLET_COMPLETION = "TRIPLET_COMPLETION" # Graph triplet-based retrieval
GRAPH_COMPLETION = "GRAPH_COMPLETION" # Default — LLM + graph traversal
GRAPH_SUMMARY_COMPLETION = "GRAPH_SUMMARY_COMPLETION"
CYPHER = "CYPHER" # Raw Cypher query
NATURAL_LANGUAGE = "NATURAL_LANGUAGE" # NL → Cypher translation
GRAPH_COMPLETION_COT = "GRAPH_COMPLETION_COT" # Chain-of-thought graph
GRAPH_COMPLETION_CONTEXT_EXTENSION = "GRAPH_COMPLETION_CONTEXT_EXTENSION"
FEELING_LUCKY = "FEELING_LUCKY" # Single best result
TEMPORAL = "TEMPORAL" # Time-aware search
CODING_RULES = "CODING_RULES" # Code rule retrieval
CHUNKS_LEXICAL = "CHUNKS_LEXICAL" # BM25 keyword search on chunkspython
class SearchType(str, Enum):
SUMMARIES = "SUMMARIES" # 针对TextSummary节点的向量相似度
CHUNKS = "CHUNKS" # 针对DocumentChunk节点的向量相似度
RAG_COMPLETION = "RAG_COMPLETION" # 基于LLM并结合文本块上下文
TRIPLET_COMPLETION = "TRIPLET_COMPLETION" # 基于图三元组的检索
GRAPH_COMPLETION = "GRAPH_COMPLETION" # 默认——LLM + 图遍历
GRAPH_SUMMARY_COMPLETION = "GRAPH_SUMMARY_COMPLETION"
CYPHER = "CYPHER" # 原始Cypher查询
NATURAL_LANGUAGE = "NATURAL_LANGUAGE" # 自然语言转Cypher翻译
GRAPH_COMPLETION_COT = "GRAPH_COMPLETION_COT" # 思维链图检索
GRAPH_COMPLETION_CONTEXT_EXTENSION = "GRAPH_COMPLETION_CONTEXT_EXTENSION"
FEELING_LUCKY = "FEELING_LUCKY" # 返回单个最佳结果
TEMPORAL = "TEMPORAL" # 时间感知搜索
CODING_RULES = "CODING_RULES" # 编码规则检索
CHUNKS_LEXICAL = "CHUNKS_LEXICAL" # 针对文本块的BM25关键词搜索DataPoint [EXT:docs.cognee.ai/guides/custom-data-models]
[EXT:docs.cognee.ai/guides/custom-data-models]DataPoint [EXT:docs.cognee.ai/guides/custom-data-models]
[EXT:docs.cognee.ai/guides/custom-data-models]Base class for all graph nodes. Inherits from Pydantic BaseModel. Set for vector indexing. Use for weighted relationships.
metadata = {"index_fields": ["field"]}Edge(weight, relationship_type)Notable subclasses: , , , , , , , .
DocumentChunkTextSummaryCodeSummaryDatabaseSchemaSchemaTableTranslatedContentGraphitiNodeWebPage所有图节点的基类,继承自Pydantic BaseModel。设置以进行向量索引。使用定义带权重的关系。
metadata = {"index_fields": ["field"]}Edge(weight, relationship_type)主要子类:, , , , , , , 。
DocumentChunkTextSummaryCodeSummaryDatabaseSchemaSchemaTableTranslatedContentGraphitiNodeWebPageTask [AST:cognee/modules/pipelines/tasks/task.py]
[AST:cognee/modules/pipelines/tasks/task.py]Task [AST:cognee/modules/pipelines/tasks/task.py]
[AST:cognee/modules/pipelines/tasks/task.py]python
class Task:
def __init__(self, executable, *args, task_config=None, **kwargs)Wraps any callable (async/sync function, generator, async generator). Use for parallel processing. Decorate with for pipeline reporting.
task_config={"batch_size": N}@task_summary("Processed {n} items")python
class Task:
def __init__(self, executable, *args, task_config=None, **kwargs)包装任何可调用对象(异步/同步函数、生成器、异步生成器)以用于流水线执行。使用进行并行处理。使用装饰器进行流水线报告。
task_config={"batch_size": N}@task_summary("Processed {n} items")Pipeline Exports [SRC:cognee/modules/pipelines/__init__.py:L1]
[SRC:cognee/modules/pipelines/__init__.py:L1]流水线导出项 [SRC:cognee/modules/pipelines/__init__.py:L1]
[SRC:cognee/modules/pipelines/__init__.py:L1]Taskrun_tasksrun_tasks_parallelrun_pipelineTaskrun_tasksrun_tasks_parallelrun_pipelineFull Integration Patterns
完整集成模式
Co-import Patterns
协同导入模式
- pydantic — for graph models,
BaseModelfor configBaseSettings - sqlalchemy — relational storage layer (async sessions)
- fastapi — HTTP API server for deployment
- uuid — dataset and data item identifiers
- asyncio — all core operations are async
- pydantic — 用于图模型,
BaseModel用于配置BaseSettings - sqlalchemy — 关系型存储层(异步会话)
- fastapi — 用于部署的HTTP API服务器
- uuid — 数据集和数据项标识符
- asyncio — 所有核心操作均为异步
MCP Server Integration [AST:cognee-mcp/src/server.py]
[AST:cognee-mcp/src/server.py]MCP服务器集成 [AST:cognee-mcp/src/server.py]
[AST:cognee-mcp/src/server.py]7 MCP tools: , , , , , , .
cognify(data, graph_model_file, graph_model_name, custom_prompt)search(search_query, search_type, top_k)save_interaction(...)list_data(dataset_id)delete(data_id, dataset_id, mode)prune()cognify_status()Runs via . Supports SSE and streamable HTTP transports with CORS.
FastMCP("Cognee")7个MCP工具:, , , , , , 。
cognify(data, graph_model_file, graph_model_name, custom_prompt)search(search_query, search_type, top_k)save_interaction(...)list_data(dataset_id)delete(data_id, dataset_id, mode)prune()cognify_status()通过运行。支持SSE和可流式传输的HTTP传输,并兼容CORS。
FastMCP("Cognee")Provider Configuration [EXT:docs.cognee.ai/setup-configuration/overview]
[EXT:docs.cognee.ai/setup-configuration/overview]提供商配置 [EXT:docs.cognee.ai/setup-configuration/overview]
[EXT:docs.cognee.ai/setup-configuration/overview]Configure via or methods:
.envcognee.config.*- LLM: ,
LLM_API_KEY,LLM_MODEL(openai/azure/gemini/anthropic/ollama/custom)LLM_PROVIDER - Embedding: ,
EMBEDDING_PROVIDEREMBEDDING_MODEL - Vector: (lancedb/pgvector/qdrant/redis/chromadb/falkordb)
VECTOR_DB_PROVIDER - Graph: (kuzu/neo4j/neptune/memgraph)
GRAPH_DB_PROVIDER - Debug: ,
LOG_LEVEL=DEBUGTELEMETRY_DISABLED=true
通过或方法配置:
.envcognee.config.*- LLM: ,
LLM_API_KEY,LLM_MODEL(openai/azure/gemini/anthropic/ollama/custom)LLM_PROVIDER - 嵌入模型: ,
EMBEDDING_PROVIDEREMBEDDING_MODEL - 向量存储: (lancedb/pgvector/qdrant/redis/chromadb/falkordb)
VECTOR_DB_PROVIDER - 图存储: (kuzu/neo4j/neptune/memgraph)
GRAPH_DB_PROVIDER - 调试: ,
LOG_LEVEL=DEBUGTELEMETRY_DISABLED=true