LocalAI

LocalAI là một API thay thế có khả năng tương thích với các đặc tả API của OpenAI để suy luận cục bộ. Nó cho phép bạn chạy các mô hình ngôn ngữ lớn (và không chỉ) cục bộ hoặc tại chỗ với phần cứng cấp người tiêu dùng, hỗ trợ nhiều họ mô hình tương thích với định dạng ggml. Không yêu cầu GPU.

ChatX cho phép tích hợp với LocalAI để triển khai suy luận mô hình ngôn ngữ lớn và các khả năng nhúng cục bộ.

Triển khai LocalAI

Bắt đầu LocalAI

Bạn có thể tham khảo hướng dẫn Bắt đầu chính thức để triển khai, hoặc nhanh chóng tích hợp theo các bước dưới đây:

(Các bước này được lấy từ ví dụ truy vấn dữ liệu LocalAI)

  1. Đầu tiên, clone kho mã LocalAI và điều hướng đến thư mục được chỉ định.

    $ git clone https://github.com/go-skynet/LocalAI
    $ cd LocalAI/examples/langchain-chroma
  2. Tải xuống các mô hình ví dụ về LLM và Embedding.

    $ wget https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-q4_0.bin -O models/bert
    $ wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j

    Ở đây, chúng tôi chọn hai mô hình nhỏ hơn tương thích với tất cả các nền tảng. Dịch vụ ggml-gpt4all-j như mô hình LLM mặc định, và dịch vụ all-MiniLM-L6-v2 như mô hình nhúng mặc định, để triển khai cục bộ nhanh chóng.

  3. Cấu hình file .env.

    $ mv .env.example .env

    LƯU Ý: Đảm bảo rằng giá trị biến THREADS trong .env không vượt quá số lõi CPU trên máy của bạn.

  4. Khởi động LocalAI.

    # start with docker-compose
    $ docker-compose up -d --build
    
    # tail the logs & wait until the build completes
    $ docker logs -f langchain-chroma-api-1
    7:16AM INF Starting LocalAI using 4 threads, with models path: /models
    7:16AM INF LocalAI version: v1.24.1 (9cc8d9086580bd2a96f5c96a6b873242879c70bc)

    API endpoint yêu cầu của LocalAI sẽ có sẵn tại http://127.0.0.1:8080.

    Và nó cung cấp hai mô hình, cụ thể là:

    • Mô hình LLM: ggml-gpt4all-j

      Tên truy cập bên ngoài: gpt-3.5-turbo (Tên này có thể tùy chỉnh và có thể cấu hình trong models/gpt-3.5-turbo.yaml).

    • Mô hình nhúng: all-MiniLM-L6-v2

      Tên truy cập bên ngoài: text-embedding-ada-002 (Tên này có thể tùy chỉnh và có thể cấu hình trong models/embeddings.yaml).

    Nếu bạn sử dụng phương pháp triển khai Docker của ChatX, bạn cần chú ý đến cấu hình mạng để đảm bảo rằng container ChatX có thể truy cập vào endpoint của LocalAI. Container ChatX không thể truy cập localhost bên trong, bạn cần sử dụng địa chỉ IP của máy chủ.

  5. Tích hợp các mô hình vào ChatX.

    Đi tới Cài đặt > Nhà cung cấp Mô hình > LocalAI và điền vào:

    Mô hình 1: ggml-gpt4all-j

    • Loại Mô hình: Text Generation

    • Tên Mô hình: gpt-3.5-turbo

    • URL Máy chủ: http://127.0.0.1:8080

      Nếu ChatX được triển khai qua docker, điền vào tên miền máy chủ: http://<your-LocalAI-endpoint-domain>:8080, có thể là địa chỉ IP LAN, như: http://192.168.1.100:8080

    Nhấp vào "Lưu" để sử dụng mô hình trong ứng dụng.

    Mô hình 2: all-MiniLM-L6-v2

    • Loại Mô hình: Embeddings

    • Tên Mô hình: text-embedding-ada-002

    • URL Máy chủ: http://127.0.0.1:8080

      Nếu ChatX được triển khai qua docker, điền vào tên miền máy chủ: http://<your-LocalAI-endpoint-domain>:8080, có thể là địa chỉ IP LAN, như: http://192.168.1.100:8080

    Nhấp vào "Lưu" để sử dụng mô hình trong ứng dụng.

Để biết thêm thông tin về LocalAI, vui lòng tham khảo: https://github.com/go-skynet/LocalAI

Last updated