Cognee - ์ ํํ๊ณ ์ง์์ ์ธ AI ๋ฉ๋ชจ๋ฆฌ
๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ AI ์์ด์ ํธ๋ฅผ ์ํ ๊ฐ์ธํ๋๊ณ ๋์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์ถํ์ธ์. Cognee๋ฅผ ์ฌ์ฉํ๋ฉด RAG๋ฅผ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋ชจ๋ํ๋ ECL(์ถ์ถ[Extract], ์ธ์งํ[Cognify], ๋ก๋[Load]) ํ์ดํ๋ผ์ธ์ผ๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
Cognee ์๊ฐ
Cognee๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ด์ ํธ๋ฅผ ์ํ ์ง์์ ์ด๊ณ ๋์ ์ธ AI ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณํํ๋ ์คํ ์์ค ๋๊ตฌ์ด์ ํ๋ซํผ์ ๋๋ค. ๋ฒกํฐ ๊ฒ์๊ณผ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฒฐํฉํ์ฌ ๋ฌธ์๋ฅผ ์๋ฏธ์ ์ผ๋ก ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ๊ด๊ณ๋ณ๋ก ์ฐ๊ฒฐํฉ๋๋ค.
Cognee๋ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- Cognee ์คํ ์์ค (์ ํ ํธ์คํ ): ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ์ ์ ์ฅํฉ๋๋ค.
- Cognee Cloud (๊ด๋ฆฌํ): ๊ด๋ฆฌํ ์ธํ๋ผ์์ ๋์ผํ OSS ์คํ์ ์ฌ์ฉํ์ฌ ๋ ์ฝ๊ฒ ๊ฐ๋ฐํ๊ณ ํ๋ก๋์ ํํ ์ ์์ต๋๋ค.
Cognee ์คํ ์์ค (์ ํ ํธ์คํ ):
- ๊ณผ๊ฑฐ ๋ํ, ํ์ผ, ์ด๋ฏธ์ง, ์ค๋์ค ์คํฌ๋ฆฝํธ ๋ฑ ๋ชจ๋ ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ํธ ์ฐ๊ฒฐ
- ๊ธฐ์กด RAG ์์คํ ์ ๊ทธ๋ํ์ ๋ฒกํฐ ๊ธฐ๋ฐ์ ํตํฉ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์ผ๋ก ๋์ฒด
- ํ์ง๊ณผ ์ ๋ฐ๋๋ฅผ ํฅ์์ํค๋ฉด์ ๊ฐ๋ฐ์ ๋ ธ๋ ฅ๊ณผ ์ธํ๋ผ ๋น์ฉ ์ ๊ฐ
- 30๊ฐ ์ด์์ ๋ฐ์ดํฐ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ ์ ์๋ Pythonic ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์ ๊ณต
- ์ฌ์ฉ์ ์ ์ ์์ , ๋ชจ๋์ ํ์ดํ๋ผ์ธ, ๋ด์ฅ ๊ฒ์ ์๋ํฌ์ธํธ๋ฅผ ํตํ ๋์ ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅ์ฑ ์ ๊ณต
Cognee Cloud (๊ด๋ฆฌํ):
- ํธ์คํ ๋ ์น UI ๋์๋ณด๋
- ์๋ ๋ฒ์ ์ ๋ฐ์ดํธ
- ๋ฆฌ์์ค ์ฌ์ฉ๋ ๋ถ์
- GDPR ์ค์, ์ํฐํ๋ผ์ด์ฆ๊ธ ๋ณด์
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ & ๊ธฐ๋ฅ ๊ฐ์ด๋
์์ธํ ๋ด์ฉ์ Colab ํํ ๋ฆฌ์ผ์ ํ์ธํ์ธ์.
๋น ๋ฅธ ์์
๋จ ๋ช ์ค์ ์ฝ๋๋ก Cognee๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์. ์์ธํ ์ค์ ๋ฐ ๊ตฌ์ฑ์ Cognee ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์ ์กฐ๊ฑด
- Python 3.10 ~ 3.14
1๋จ๊ณ: Cognee ์ค์น
pip, poetry, uv ๋๋ ์ ํธํ๋ Python ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ Cognee๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
uv pip install cognee
2๋จ๊ณ: LLM ๊ตฌ์ฑ
import os
os.environ["LLM_API_KEY"] = "YOUR OPENAI_API_KEY"
๋๋ ํ
ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ .env ํ์ผ์ ์์ฑํ์ธ์.
๋ค๋ฅธ LLM ๊ณต๊ธ์๋ฅผ ํตํฉํ๋ ค๋ฉด LLM ๊ณต๊ธ์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
3๋จ๊ณ: ํ์ดํ๋ผ์ธ ์คํ
Cognee๋ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ ์ง์ ๊ทธ๋ํ๋ฅผ ์์ฑํ ๋ค์ ๊ฒฐํฉ๋ ๊ด๊ณ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ทธ๋ํ๋ฅผ ์ฟผ๋ฆฌํฉ๋๋ค.
์ด์ ์ต์ํ์ ํ์ดํ๋ผ์ธ์ ์คํํด ๋ณด๊ฒ ์ต๋๋ค.
import cognee
import asyncio
from pprint import pprint
async def main():
# Cognee์ ํ
์คํธ ์ถ๊ฐ
await cognee.add("Cognee turns documents into AI memory.")
# ์ง์ ๊ทธ๋ํ ์์ฑ
await cognee.cognify()
# ๊ทธ๋ํ์ ๋ฉ๋ชจ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ ์ถ๊ฐ
await cognee.memify()
# ์ง์ ๊ทธ๋ํ ์ฟผ๋ฆฌ
results = await cognee.search("What does Cognee do?")
# ๊ฒฐ๊ณผ ํ์
for result in results:
pprint(result)
if __name__ == '__main__':
asyncio.run(main())
๋ณด์๋ค์ํผ, ์ถ๋ ฅ์ ์ด์ ์ Cognee์ ์ ์ฅํ ๋ฌธ์์์ ์์ฑ๋ฉ๋๋ค.
Cognee turns documents into AI memory.
Cognee CLI ์ฌ์ฉ
๋์์ผ๋ก ๋ค์ ํ์ ๋ช ๋ น์ผ๋ก ์์ํ ์ ์์ต๋๋ค.
cognee-cli add "Cognee turns documents into AI memory."
cognee-cli cognify
cognee-cli search "What does Cognee do?"
cognee-cli delete --all
๋ก์ปฌ UI๋ฅผ ์ด๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
cognee-cli -ui
๋ฐ๋ชจ ๋ฐ ์์
Cognee ์๋ ๋ชจ์ต ํ์ธ:
์ง์์ ์ธ ์์ด์ ํธ ๋ฉ๋ชจ๋ฆฌ
LangGraph ์์ด์ ํธ๋ฅผ ์ํ Cognee ๋ฉ๋ชจ๋ฆฌ
๊ฐ๋จํ GraphRAG
Cognee์ Ollama
์ปค๋ฎค๋ํฐ ๋ฐ ์ง์
๊ธฐ์ฌํ๊ธฐ
์ฌ๋ฌ๋ถ๋ค์ ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ์ฌ๋ฌ๋ถ์ ์๊ฒฌ์ Cognee๋ฅผ ๋ ์ข๊ฒ ๋ง๋๋ ๋ฐ ํฐ ๋์์ด ๋ฉ๋๋ค. ์์ํ๋ ค๋ฉด CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ท์น
์ฐ๋ฆฌ๋ ํฌ์ฉ์ ์ด๊ณ ์กด์คํ๋ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ท์น์ ๊ท์น ๋ฌธ์๋ฅผ ํ์ธํด์ฃผ์ธ์.
์ฐ๊ตฌ ๋ฐ ์ธ์ฉ
์ต๊ทผ LLM ์ถ๋ก ์ ์ํ ์ง์ ๊ทธ๋ํ ์ต์ ํ์ ๊ดํ ์ฐ๊ตฌ ๋ ผ๋ฌธ์ ๋ฐํํ์ต๋๋ค.
@misc{markovic2025optimizinginterfaceknowledgegraphs,
title={Optimizing the Interface Between Knowledge Graphs and LLMs for Complex Reasoning},
author={Vasilije Markovic and Lazar Obradovic and Laszlo Hajdu and Jovan Pavlovic},
year={2025},
eprint={2505.24478},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2505.24478},
}
Source: README_ko.md