https://microsoft.github.io/graphrag
https://microsoft.github.io/graphrag/get_started
https://github.com/taipm/graphrag-newfriend.git
Bước 01: Cài đặt graphrag
pip install graphrag
Bước 02: Tạo index cho tài liệu
Bước 1: Tạo thư mục docs chứa các tài liệu
Ta sẽ lấy tài liệu từ curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt -o ./ragtest/input/book.txt, đưa vào dự án của chúng ta. Chạy lệnh này ngay trong vscode
Bước 2: Thực hiện index tài liệu
(venv) (base) taipm@Phans-Mac-Studio graphrag-newfriend % curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt -o docs/book.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 184k 100 184k 0 0 127k 0 0:00:01 0:00:01 --:--:-- 127k
graphrag index --root ./ragtest
LÀM VIỆC VỚI GEMINI
Prompt#01
Xây dựng một chatbot telegram đơn giản sử dụng graphrag và ollama, llama3 với mục đích cung cấp thông tin hữu ích về công ty cho nhân viên mới
(base) taipm@Phans-Mac-Studio ~ % ollama list
NAME ID SIZE MODIFIED
codellama:latest 8fdf8f752f6e 3.8 GB About an hour ago
nomic-embed-text:latest 0a109f422b47 274 MB 12 days ago
qwq:latest 46407beda5c0 19 GB 13 days ago
llama3.3:latest a6eb4748fd29 42 GB 13 days ago
llama3.2:latest a80c4f17acd5 2.0 GB 13 days ago
qwen2.5:14b 7cdf5a0187d5 9.0 GB 2 weeks ago
llama3.2-vision:latest 38107a0cd119 7.9 GB 3 weeks ago
llama3:latest 365c0bd3c000 4.7 GB 5 weeks ago
(base) taipm@Phans-Mac-Studio ~ %
CÁC MÔ HÌNH NGÔN NGỮ LỚN
llama3:latest
Đây là bản nhỏ nhất, không có trí nhớ
XÂY DỰNG ĐỒ THỊ TRI THỨC (TÍCH HỢP GRAPHRAG)
CÀI ĐẶT NEOJ4
brew install neo4j
neo4j start
http://localhost:7474
user:neo4j
password:neo4j
Đổi pass: P.....PMT
Neo4j có nhiều phiên bản, bao gồm:
- Neo4j Desktop: Dễ sử dụng, phù hợp cho phát triển và thử nghiệm. Có giao diện đồ họa (GUI).
- Neo4j Server (Community Edition): Miễn phí, phù hợp cho các dự án nhỏ và mục đích học tập.
- Neo4j Server (Enterprise Edition): Phiên bản thương mại, có các tính năng cao cấp như clustering, sao lưu, bảo mật nâng cao, phù hợp cho production.
- Neo4j AuraDB: Dịch vụ Neo4j cloud (DBaaS), không cần cài đặt, dễ dàng mở rộng.
Dưới đây là hướng dẫn cài đặt cho Neo4j Desktop và Neo4j Server Community Edition trên các hệ điều hành phổ biến:
1. Cài đặt Neo4j Desktop (Khuyến nghị cho người mới bắt đầu)
- Bước 1: Tải xuống Neo4j Desktop
- Truy cập trang web: https://neo4j.com/download/
- Chọn phiên bản Neo4j Desktop phù hợp với hệ điều hành của bạn (Windows, macOS, Linux).
- Nhấn nút Download.
- Bước 2: Cài đặt Neo4j Desktop
- Windows: Chạy file
.exe
vừa tải xuống và làm theo hướng dẫn trên màn hình. - macOS: Mở file
.dmg
vừa tải xuống, kéo thả icon Neo4j Desktop vào thư mục Applications. - Linux: Làm theo hướng dẫn trên trang download, thường là giải nén file và chạy script cài đặt.
- Windows: Chạy file
- Bước 3: Khởi động và sử dụng Neo4j Desktop
- Mở Neo4j Desktop.
- Tạo một Project mới.
- Trong Project, tạo một DBMS (Database Management System) mới. Chọn phiên bản Neo4j (ví dụ: 4.x.x) và đặt mật khẩu.
- Nhấn nút Start để khởi động DBMS.
- Nhấn nút Open để mở Neo4j Browser, nơi bạn có thể tương tác với database bằng ngôn ngữ truy vấn Cypher.
- Chú ý: Ghi nhớ user và password của DBMS. Thường user mặc định là
neo4j
.
2. Cài đặt Neo4j Server Community Edition
- Windows:
- Bước 1: Tải xuống:
- Truy cập: [đã xoá URL không hợp lệ]
- Chọn tab Community Edition.
- Chọn Windows và tải xuống file
.zip
.
- Bước 2: Giải nén:
- Giải nén file
.zip
vào một thư mục bạn chọn (ví dụ:C:\neo4j-community
).
- Giải nén file
- Bước 3: Cài đặt Java (nếu chưa có):
- Neo4j yêu cầu Java. Bạn có thể tải và cài đặt Java SE Development Kit (JDK) 8 hoặc 11 từ: https://www.oracle.com/java/technologies/javase-downloads.html1
- Bước 4: Cấu hình (tùy chọn):
- Bạn có thể chỉnh sửa file cấu hình
neo4j.conf
trong thư mụcconf
để thay đổi các cài đặt như cổng, đường dẫn lưu trữ, v.v.
- Bạn có thể chỉnh sửa file cấu hình
- Bước 5: Khởi động Neo4j:
- Mở Command Prompt (chạy với quyền Administrator).
- Di chuyển đến thư mục
bin
trong thư mục cài đặt Neo4j (ví dụ:cd C:\neo4j-community\bin
). - Chạy lệnh:
neo4j start
- Bước 6: Truy cập Neo4j Browser:
- Mở trình duyệt web và truy cập:
http://localhost:7474
- Đăng nhập với user mặc định là
neo4j
và password mặc định làneo4j
. Bạn sẽ được yêu cầu đổi password ngay lần đăng nhập đầu tiên.
- Mở trình duyệt web và truy cập:
- Bước 1: Tải xuống:
- macOS (sử dụng Homebrew):
- Bước 1: Cài đặt Homebrew (nếu chưa có):
- Mở Terminal và chạy lệnh:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Mở Terminal và chạy lệnh:
- Bước 2: Cài đặt Java (nếu chưa có):
brew install openjdk@11
(hoặc phiên bản Java 8:brew install openjdk@8
)
- Bước 3: Cài đặt Neo4j:
brew install neo4j
- Bước 4: Khởi động Neo4j:
neo4j start
- Bước 5: Truy cập Neo4j Browser:
- Mở trình duyệt web và truy cập:
http://localhost:7474
- Đăng nhập với user mặc định là
neo4j
và password mặc định làneo4j
. Bạn sẽ được yêu cầu đổi password ngay lần đăng nhập đầu tiên.
- Mở trình duyệt web và truy cập:
- Bước 1: Cài đặt Homebrew (nếu chưa có):
- Linux (sử dụng
apt
trên Ubuntu/Debian):- Bước 1: Cài đặt Java (nếu chưa có):
sudo apt update
sudo apt install openjdk-11-jdk
(hoặcopenjdk-8-jdk
)
- Bước 2: Thêm repository của Neo4j:
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
echo 'deb https://debian.neo4j.com stable 4.4' | sudo tee /etc/apt/sources.list.d/neo4j.list
(thay4.4
bằng phiên bản bạn muốn cài)
- Bước 3: Cài đặt Neo4j:
sudo apt update
sudo apt install neo4j
- Bước 4: Khởi động Neo4j:
sudo systemctl start neo4j
(hoặcsudo service neo4j start
)
- Bước 5: Truy cập Neo4j Browser:
- Mở trình duyệt web và truy cập:
http://localhost:7474
- Đăng nhập với user mặc định là
neo4j
và password mặc định làneo4j
. Bạn sẽ được yêu cầu đổi password ngay lần đăng nhập đầu tiên.
- Mở trình duyệt web và truy cập:
- Bước 1: Cài đặt Java (nếu chưa có):
Lưu ý:
- Thay đổi các đường dẫn, cổng, phiên bản Neo4j, và phiên bản Java cho phù hợp với hệ thống và nhu cầu của bạn.
- Sau khi cài đặt, bạn cần cấu hình các biến môi trường
NEO4J_URI
,NEO4J_USER
,NEO4J_PASSWORD
trong file.env
của chatbot để kết nối đến database. Ví dụ:NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=your_new_password
Với Neo4j đã được cài đặt và cấu hình, bạn có thể bắt đầu xây dựng đồ thị tri thức và tích hợp nó vào chatbot của mình.
==> Pouring libvpx–1.15.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/libvpx/1.15.0: 22 files, 4.1MB
==> Installing ffmpeg dependency: mpg123
==> Downloading https://ghcr.io/v2/homebrew/core/mpg123/manifests/1.32.10
Already downloaded: /Users/taipm/Library/Caches/Homebrew/downloads/692cc3a4160f69a557151ff579c20ec779fd22cf3862ccaffd16630b309b237f–mpg123-1.32.10.bottle_manifest.json
==> Pouring mpg123–1.32.10.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/mpg123/1.32.10: 34 files, 2.0MB
==> Installing ffmpeg dependency: rubberband
==> Downloading https://ghcr.io/v2/homebrew/core/rubberband/manifests/4.0.0
Already downloaded: /Users/taipm/Library/Caches/Homebrew/downloads/bc9f458d122d070584e4df5d712d01aaa5ba968f72342eb12ff5ec4cc8bb97bb–rubberband-4.0.0.bottle_manifest.json
==> Pouring rubberband–4.0.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/rubberband/4.0.0: 15 files, 2.0MB
==> Installing ffmpeg dependency: sdl2
==> Downloading https://ghcr.io/v2/homebrew/core/sdl2/manifests/2.30.10
Already downloaded: /Users/taipm/Library/Caches/Homebrew/downloads/d87bb9b01d5e6a1c1f72fbc006c1bfacfc93d276b2ca745851a0671585a43bb0–sdl2-2.30.10.bottle_manifest.json
==> Pouring sdl2–2.30.10.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/sdl2/2.30.10: 94 files, 6.4MB
==> Installing ffmpeg dependency: x265
==> Downloading https://ghcr.io/v2/homebrew/core/x265/manifests/4.0_1
Already downloaded: /Users/taipm/Library/Caches/Homebrew/downloads/96e2400c4ee11451373cbd480abc03e8d17f89a349139ca8f612967bd7a5b2db–x265-4.0_1.bottle_manifest.json
==> Pouring x265–4.0_1.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/x265/4.0_1: 12 files, 10.8MB
==> Installing ffmpeg
==> Pouring ffmpeg–7.1_3.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/ffmpeg/7.1_3: 287 files, 52.1MB
==> Running `brew cleanup ffmpeg`…
Removing: /opt/homebrew/Cellar/ffmpeg/7.0.2_1… (287 files, 51.6MB)
Removing: /Users/taipm/Library/Caches/Homebrew/ffmpeg_bottle_manifest–7.0.2_1… (83.1KB)
==> Upgrading code-server
4.93.1 -> 4.96.2
==> Pouring code-server–4.96.2.arm64_sequoia.bottle.tar.gz
==> Caveats
The launchd service runs on http://127.0.0.1:8080. Logs are located at /opt/homebrew/var/log/code-server.log.
To restart code-server after an upgrade:
brew services restart code-server
Or, if you don’t want/need a background service you can just run:
/opt/homebrew/opt/code-server/bin/code-server
==> Summary
🍺 /opt/homebrew/Cellar/code-server/4.96.2: 8,579 files, 329.3MB
==> Running `brew cleanup code-server`…
Removing: /opt/homebrew/Cellar/code-server/4.93.1… (8,425 files, 355.3MB)
Removing: /Users/taipm/Library/Caches/Homebrew/code-server_bottle_manifest–4.93.1… (61.7KB)
==> Checking for dependents of upgraded formulae…
==> No broken dependents found!
==> Caveats
==> neo4j
To start neo4j now and restart at login:
brew services start neo4j
Or, if you don’t want/need a background service you can just run:
/opt/homebrew/opt/neo4j/bin/neo4j console
==> mongodb-atlas-cli
zsh completions have been installed to:
/opt/homebrew/share/zsh/site-functions
==> code-server
The launchd service runs on http://127.0.0.1:8080. Logs are located at /opt/homebrew/var/log/code-server.log.
To restart code-server after an upgrade:
brew services restart code-server
Or, if you don’t want/need a background service you can just run:
/opt/homebrew/opt/code-server/bin/code-server
(base) taipm@Phans-Mac-Studio ~ %
brew services start neo4j
brew services restart code-server
(base) taipm@Phans-Mac-Studio ~ % brew services start neo4j
==> Successfully started `neo4j` (label: homebrew.mxcl.neo4j)
(base) taipm@Phans-Mac-Studio ~ %