Tùy chỉnh nút của bạn

Chúng tôi muốn cho phép bạn tạo và chạy nút dịch vụ đại lý của riêng bạn. Có thể bạn sẽ không sử dụng cơ sở kiến thức mặc định của Phi-3 LLM và Paris guidebook. Vì vậy, chúng tôi sẽ chỉ cho bạn cách tùy chỉnh nút của bạn!

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

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

Chỉ cần truyền một URL tới cấu hình.json tập tin trong của bạn gaianet khởi tạo lệnh, URL tới cấu hình.json phải trỏ tới tệp văn bản thực tế.

Chúng tôi có một số cài đặt trước cấu hình.json các tập tin để lựa chọn trong kho lưu trữ 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

Tiểu lệnh cấu hình

Ngay cả sau khi khởi tạo nút, bạn vẫn có thể thực hiện thay đổi đối với cấu hình của nó bằng cách chỉnh sửa cấu hình.json tập tin. Tuy nhiên, cách tốt nhất là sử dụng gaianet CLI để thực hiện các thay đổi vì nó an toàn và dễ dàng hơn.

Sau khi bất kỳ thay đổi nào được thực hiện đối với cấu hình nút,gaianet khởi tạo lệnh PHẢI được chạy.

danh sách cấu hình gaianet lệnh hiển thị cấu hình.json các trường có thể thay đổi được.

Lựa chọn LLM

Huggingface có hơn 10.000 LLM mã nguồn mở được tinh chỉnh để lựa chọn. Mỗi LLM có kích thước khác nhau (các mô hình lớn hơn có khả năng hơn nhưng đắt hơn để chạy), khả năng độc đáo (ví dụ, một số có thể hỗ trợ độ dài ngữ cảnh lớn, không bị kiểm duyệt hoặc vượt trội về toán học), chuyên môn về lĩnh vực (như mã hóa hoặc y học) và/hoặc phong cách (một số phản hồi bằng mã, có thể nói như cướp biển, v.v.).

Việc thay đổi tệp mô hình, mẫu nhắc nhở và các tham số độ dài ngữ cảnh mô hình sẽ cho phép bạn thay thế LLM mặc định của nút bằng một mô hình tinh chỉnh thay thế. 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 gaianet Huggingface .

Ví dụ, lệnh sau sẽ thay đổi LLM thành mô hình Llama 3 8B:

gaianet config \ --chat-url https://huggingface.co/gaianet/Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q5_K_M.gguf \ --chat-ctx-size 4096 \ --prompt-template llama-3-chat

Mẫu 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 --url-trò-chuyện đối số có thể trỏ đến một tệp cục bộ theo $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.

Lựa 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 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ơ. Bạn có thể sử dụng các cơ sở kiến thức có sẵn, nhưng chúng tôi khuyến khích bạn tạo cơ sở kiến thức của riêng mình . Bạn sẽ cần thực hiện các thao tác sau:

  1. chỉ định URL tới bộ sưu tập vectơ (tức là ảnh chụp nhanh hoặc snapshot.tar.gz tập tin) trong ảnh chụp nhanh lựa chọn.

  2. sử dụng cùng một mô hình nhúng đã tạo ra bộ sưu tập vector này.

  3. sửa đổi nhắc nhở hệ thống để cung cấp kiến thức nền cho mô hình.

  4. sửa đổi rag_prompt để hướng dẫn mô hình trả lời câu hỏi khi ngữ cảnh được lấy từ bộ sưu tập vectơ.

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

gaianet config \ --snapshot 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 \ --embedding-ctx-size 8192 \ --system-prompt "Bạn là hướng dẫn viên du lịch tại London, Vương quốc Anh. Vui lòng trả lời chính xác câu hỏi của một du khách đến London." \ --rag-prompt "Đoạn văn sau là ngữ cảnh cho câu hỏi của người dùng.\n----------------\n"

Các --ảnh chụp nhanh có thể trỏ đến một tập tin cục bộ 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ư.

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

  • qdrant-giới hạn thiết lập 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 văn bản lớn (tức là mỗi chương sách là một vectơ), bạn có thể nên đặt số này là 1 hoặc 2 để giới hạn độ dài lời nhắc ở mức hợp lý.

  • ngưỡng điểm qdrant là "điểm" khớp tối thiểu mà nội dung kiến thức phải đạt được để được coi là "có liên quan". Đ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. Nhìn 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 gaianet trên Huggingface .

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

TRONG cấu hình.json, bạn cũng có thể tùy chỉnh các lời nhắc. Các lời nhắc thường được thiết kế riêng cho LLM được tinh chỉnh hoặc cơ sở kiến thức để 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 bối cảnh và "cá tính" 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 --rag-prompt là lời nhắc được thêm vào sau lời nhắc hệ thống (hoặc truy vấn của người dùng). Nó giới thiệu ngữ cảnh RAG được lấy từ cơ sở dữ liệu vector, theo sau nó.

Các --chính sách-rag tùy chọn chỉ định nơi giẻ rách nhắc nhở và ngữ cảnh nên đi. Theo mặc định, giá trị của nó là tin nhắn hệ thống và nó đặt ngữ cảnh vào 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 stop
gaianet init gaianet bắt đầu

Cập nhật lần cuối