Tùy chỉnh nút GaiaNet của bạn
Một mục tiêu chính của dự án GaiaNet 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 3B 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, thu thập vectơ cho cơ sở kiến thức và lời nhắc,
đều nằm 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ố thiết lập sẵn 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 GaiaNet 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ácraw.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.
Bạn PHẢI chạy
Gaianet Init
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 GaiaNet bằng một giải pháp thay thế Mô hình được tinh chỉnh, 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 và tham số độ dài ngữ cảnh mô hình. Các thông số đó khác nhau tùy thuộc vào kiểu máy, nhưng chúng có thể được tìm thấy trên thẻ mô hình của tổ chức GaiaNet Huggingface . Ví dụ: lệnh sau 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 GaiaNet 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 GaiaNet 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 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 vector. Chúng tôi khuyến khích bạn tạo ra cơ sở kiến thức của riêng bạn. Nhưng bạn cũng có thể sử dụng cơ sở kiến thức làm sẵn. Bạn sẽ cần phải làm như sau.
- chỉ định URL cho bộ sưu tập vectơ (tức là
Snapshot
hoặcsnapshot.tar.gz
file) trongSnapshot
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ơ để chúng có thể được 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 gaianet 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
nào
đặ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 Init
Gaianet bắt đầu
Tiếp theo, bạn có thể
- Tạo một cơ sở kiến thức từ kiến thức hoặc kỹ năng độc quyền của bạn.
- Tinh chỉnh LLM của riêng bạn.
Chúc vui vẻ!