GraphRAG

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 DesktopNeo4j 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.
  • 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).
    • Bước 3: Cài đặt Java (nếu chưa có):
    • 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ục conf để thay đổi các cài đặt như cổng, đường dẫn lưu trữ, v.v.
    • 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.
  • 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)"
    • 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.
  • 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ặc openjdk-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 (thay 4.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ặc sudo 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.

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

http://127.0.0.1:8080

(base) taipm@Phans-Mac-Studio ~ % brew services start neo4j 
==> Successfully started `neo4j` (label: homebrew.mxcl.neo4j)
(base) taipm@Phans-Mac-Studio ~ % 

NEO4J

QDRANT

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *