Chuyển đến nội dung chính
Phiên bản: 2.0.0

Tùy chỉnh Gaia Node của bạn

Một mục tiêu chính của dự án Gaia là cho phép mỗi cá nhân tạo và chạy nút dịch vụ đại lý của riêng mình bằng cách sử dụng LLM tinh chỉnh và kiến thức độc quyền. Rất có thể, bạn sẽ không chạy một nút với cơ sở kiến thức LLM 3.2 LLM và hướng dẫn Paris mặc định .

Trong chương này, chúng ta sẽ thảo luận về các cách tùy chỉnh nút của bạn.

Cấu hình đặt trước

Tất cả các tùy chọn cấu hình nút, chẳng hạn như cài đặt LLM, bộ sưu tập vectơ cho cơ sở kiến thức và lời nhắc, đều có trong Gaianet/config.json tệp. Bạn có thể chỉnh sửa tệp này trực tiếp để sử dụng các mô hình và bộ sưu tập vector của mình.

Hoặc, bạn có thể chọn một cái khác config.json khi bạn khởi tạo nút. Chỉ cần chuyển URL vào config.json tệp trong Gaianet Init lệnh.

Chúng tôi có một số cài đặt trước config.json Tệp để lựa chọn trong repo này.

Ví dụ, lệnh sau khởi tạo một nút Gaia bằng mô hình Llama 3 8B.

gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-8b-instruct/config.json

URL đến config.json phải trỏ đến tệp văn bản thực tế. (tức là các raw.githubusercontent.com URL cho các liên kết GitHub) thay vì trang HTML GitHub cho tệp đó.

Lệnh con cấu hình

Sau khi bạn đã khởi tạo nút, bạn vẫn có thể thay đổi cấu hình của nút bằng cách chỉnh sửa nút config.json tệp trực tiếp. Nhưng nó dễ dàng hơn và an toàn hơn để sử dụng Gaianet CLI để thực hiện thay đổi.

ghi

Bạn PHẢI chạy Gaianet InitGaianet bắt đầu một lần nữa sau khi bạn thực hiện bất kỳ thay đổi nào đối với cấu hình nút.

Lệnh sau đây hiển thị config.json các trường bạn có thể thực hiện thay đổi.

Danh sách cấu hình Gaianet

Bây giờ, chúng ta hãy xem xét một số ví dụ.

Chọn một LLM

Có hơn 10.000 LLM mã nguồn mở được tinh chỉnh mà bạn có thể chọn trên Huggingface. Mỗi mô hình có kích thước khác nhau (mô hình lớn hơn có khả năng chạy nhiều hơn nhưng đắt hơn), khả năng độc đáo (ví dụ: không bị kiểm duyệt, vượt trội về toán học hoặc lý luận, hỗ trợ độ dài ngữ cảnh lớn, v.v.), chuyên môn về miền (ví dụ: y học, mã hóa) và / hoặc phong cách (ví dụ: nói như giáo viên hoặc cướp biển, trả lời bằng mã, theo dõi các cuộc hội thoại).

Để thay thế LLM mặc định của nút Gaia bằng một mô hình tinh chỉnh thay thế, bạn sẽ cần thực hiện các thay đổi đối với tệp mô hình, mẫu nhắc nhở và các tham số độ dài ngữ cảnh mô hình. Các tham số đó thay đổi tùy thuộc vào mô hình, nhưng chúng có thể được tìm thấy trên các thẻ mô hình của tổ chức Gaia Huggingface . Ví dụ, lệnh sau đây thay đổi LLM thành mô hình Llama 3 8B.

Cấu hình Gaianet \
--chat-url https://huggingface.co/gaianet/Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q5_K_M.gguf \
--chat-ctx-kích thước 4096 \
--prompt-template llama-3-chat

Mô hình llama 3 8B yêu cầu ít nhất 16GB RAM.

Nếu không có mô hình tinh chỉnh nào được công bố là hoàn hảo cho trường hợp sử dụng của bạn, bạn cũng có thể tinh chỉnh LLM của riêng mình bằng cách làm theo các hướng dẫn này . Nút Gaia của bạn có thể chạy các mô hình tinh chỉnh của riêng bạn.

Các --chat-url Đối số có thể trỏ đến một tệp cục bộ bên dưới $HOME/gaianet thay vì URL công khai. Điều đó cho phép bạn sử dụng tệp mô hình LLM được đào tạo riêng hoặc tinh chỉnh.

Chọn cơ sở kiến thức

Một tính năng chính của Gaia là người dùng có thể tạo và triển khai cơ sở kiến thức độc quyền trên nút để bổ sung cho LLM. Mỗi cơ sở kiến thức là một tệp ảnh chụp nhanh cho một bộ sưu tập vectơ. Chúng tôi khuyến khích bạn tạo cơ sở kiến thức của riêng mình . Nhưng bạn cũng có thể sử dụng các cơ sở kiến thức có sẵn. Bạn sẽ cần thực hiện các bước sau.

  • chỉ định URL cho bộ sưu tập vectơ (tức là Snapshot hoặc snapshot.tar.gz file) trong Snapshot sự quyết định.
  • Sử dụng cùng một mô hình nhúng đã tạo ra bộ sưu tập vectơ này.
  • Sửa đổi system_prompt để cung cấp kiến thức nền tảng cho mô hình.
  • Sửa đổi rag_prompt để hướng dẫn mô hình trả lời câu hỏi khi ngữ cảnh được truy xuất từ tập hợp vector.

Ví dụ sau đây thay đổi cơ sở kiến thức trong nút từ "Sách hướng dẫn Paris" thành "Sách hướng dẫn Luân Đôn".

Cấu hình Gaianet \
--ảnh chụp nhanh https://huggingface.co/datasets/gaianet/london/resolve/main/london_768_nomic-embed-text-v1.5-f16.snapshot.tar.gz \
--embedding-url https://huggingface.co/gaianet/Nomic-embed-text-v1.5-Embedding-GGUF/resolve/main/nomic-embed-text-v1.5.f16.gguf \
--nhúng-ctx-size 8192 \
--system-prompt "Bạn là một hướng dẫn viên du lịch ở London, Vương quốc Anh. Vui lòng trả lời chính xác câu hỏi từ một vị khách ở London." \
--rag-prompt "Văn bản sau đây là ngữ cảnh cho câu hỏi của người dùng.\n----------------\n"

Các --Snapshot có thể trỏ đến một tệp cục bộ bên dưới $HOME/gaianet thay vì URL công khai. Điều đó cho phép bạn sử dụng ảnh chụp nhanh bộ sưu tập vector riêng.

Tùy thuộc vào chất lượng và kích thước của các vector, bạn cũng có thể cần phải thay đổi QDRANT- Các tùy chọn để Tùy chỉnh hành vi truy xuất.

  • Giới hạn Qdrant Đặt số lượng tối đa ngữ cảnh có liên quan để thêm vào lời nhắc. Nếu cơ sở kiến thức của bạn bao gồm các phần lớn của văn bản (tức là, mỗi chương sách là một vector), có lẽ bạn nên thực hiện điều này 1 hoặc 2 để giới hạn độ dài lời nhắc ở một kích thước hợp lý.
  • qdrant-điểm-ngưỡng là min match "score" mà nội dung kiến thức phải đáp ứng để được coi là "phù hợp". Điều này phụ thuộc vào chất lượng của văn bản kiến thức và mô hình nhúng. Nói chung, điểm này phải trên 0,5 để giảm ngữ cảnh không liên quan trong lời nhắc.

Mô hình nhúng mã hóa và chuyển đổi văn bản thành các vectơ để có thể lưu trữ, tìm kiếm và truy xuất. Đối với các tài liệu ngữ cảnh khác nhau, bạn có thể cần một mô hình nhúng khác để đạt được hiệu suất tối ưu. Bảng xếp hạng MTEB là nơi tốt để xem các điểm chuẩn hiệu suất của các mô hình nhúng. Bạn có thể tìm thấy nhiều điểm chuẩn trong tổ chức gaia trên Huggingface .

Tùy chỉnh lời nhắc

Trong config.json, bạn cũng có thể tùy chỉnh lời nhắc. Lời nhắc thường được điều chỉnh cho LLM tinh chỉnh hoặc kiến thức cơ sở để tạo ra các phản hồi tối ưu từ nút.

Các --hệ thống-nhắc nhở Tùy chọn đặt lời nhắc hệ thống. Nó cung cấp nền tảng và "tính cách" của nút. Mỗi yêu cầu API có thể đặt lời nhắc hệ thống riêng.

Các --giẻ rách nhắc nhở là lời nhắc được nối vào sau dấu nhắc hệ thống (hoặc truy vấn người dùng). Nó giới thiệu ngữ cảnh RAG được truy xuất từ cơ sở dữ liệu vector, theo sau nó.

Các --Chính sách giẻ rách tùy chọn chỉ định nơi giẻ rách nhắc nhở và bối cảnh nên đi. Theo mặc định, giá trị của nó là thông điệp hệ thống Và nó đặt bối cảnh trong dấu nhắc hệ thống. Nhưng bạn cũng có thể đặt nó thành tin nhắn người dùng cuối cùng, mà đặt giẻ rách nhắc nhở và ngữ cảnh trước tin nhắn mới nhất từ người dùng.

Các bước tiếp theo

Hãy nhớ khởi tạo lại và khởi động lại nút sau khi bạn thực hiện thay đổi cấu hình.

# Nếu nút đang chạy
# gaianet dừng lại

gaianet khởi tạo

gaianet bắt đầu

Tiếp theo, bạn có thể

Chúc vui vẻ!