Triển khai quy trình cho bất kỳ nền tảng lưu trữ ứng dụng nào

Bạn có thể triển khai các quy trình của Firebase Genkit dưới dạng dịch vụ web bằng cách sử dụng bất kỳ dịch vụ nào có thể lưu trữ tệp nhị phân Go. Ví dụ: trang này sẽ hướng dẫn bạn về quy trình chung của việc triển khai quy trình mẫu mặc định và chỉ ra những việc bạn phải thực hiện các thao tác dành riêng cho nhà cung cấp.

  1. Tạo thư mục cho dự án mẫu Genkit:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project
    

    Nếu bạn định dùng một IDE, hãy mở IDE vào thư mục này.

  2. Khởi chạy một mô-đun Go trong thư mục dự án:

    go mod init example/cloudrun
    
  3. Khởi chạy Genkit trong dự án của bạn:

    genkit init
    

    Chọn nhà cung cấp mô hình bạn muốn sử dụng.

    Chấp nhận chế độ mặc định cho các câu lệnh còn lại. Công cụ genkit sẽ tạo một tệp nguồn mẫu để giúp bạn bắt đầu phát triển các luồng AI của riêng mình. Tuy nhiên, trong phần còn lại của hướng dẫn này, bạn sẽ chỉ triển khai luồng mẫu.

  4. Chỉnh sửa tệp mẫu (main.go hoặc genkit.go) để chỉ định rõ cổng mà máy chủ luồng cần theo dõi:

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    Nếu nhà cung cấp yêu cầu bạn phải nghe trên một cổng cụ thể, hãy nhớ định cấu hình Genkit tương ứng.

  5. Triển khai một số hình thức xác thực và uỷ quyền để kiểm soát quyền truy cập vào các quy trình mà bạn dự định triển khai.

    Vì hầu hết các dịch vụ AI tạo sinh đều có đo lượng dữ liệu, nên rất có thể bạn không muốn cấp quyền truy cập mở vào bất kỳ điểm cuối nào gọi chúng. Một số dịch vụ lưu trữ cung cấp một lớp xác thực dưới dạng giao diện người dùng cho các ứng dụng được triển khai trên các dịch vụ đó. Bạn có thể dùng lớp này cho mục đích này.

  6. Cung cấp thông tin đăng nhập API cho chức năng bạn đã triển khai. Hãy thực hiện một trong các thao tác sau, tuỳ thuộc vào nhà cung cấp mô hình mà bạn đã chọn:

    Gemini (AI của Google)

    1. Hãy đảm bảo AI của Google được cung cấp ở khu vực của bạn.

    2. Tạo khoá API cho Gemini API bằng Google AI Studio.

    3. Cung cấp khoá API trong môi trường đã triển khai.

      Hầu hết các máy chủ lưu trữ ứng dụng đều cung cấp một số hệ thống để xử lý các bí mật một cách an toàn, chẳng hạn như khoá API. Thông thường, những bí mật này được cung cấp cho ứng dụng của bạn ở dạng các biến môi trường. Nếu bạn có thể chỉ định khoá API cho biến GOOGLE_GENAI_API_KEY, thì Genkit sẽ tự động sử dụng khoá đó. Nếu không, bạn cần sửa đổi lệnh gọi googleai.Init() để đặt khoá một cách rõ ràng. (Nhưng đừng nhúng trực tiếp khoá vào mã! Hãy sử dụng các phương tiện quản lý bí mật do nhà cung cấp dịch vụ lưu trữ của bạn cung cấp.)

    Gemini (AI Vertex)

    1. Trong bảng điều khiển Cloud, hãy Bật Vertex AI API cho dự án của bạn.

    2. Trên trang IAM, hãy tạo một tài khoản dịch vụ để truy cập vào Vertex AI API nếu bạn không có.

      Cấp cho tài khoản vai trò Người dùng Vertex AI.

    3. Thiết lập Thông tin xác thực mặc định của ứng dụng trong môi trường lưu trữ của bạn.

    4. Định cấu hình trình bổ trợ bằng mã dự án trên Google Cloud và vị trí Vertex AI API mà bạn muốn sử dụng. Bạn có thể thực hiện việc này bằng cách đặt các biến môi trường GCLOUD_PROJECTGCLOUD_LOCATION trong môi trường lưu trữ hoặc trong lệnh gọi vertexai.Init().

    Bí quyết duy nhất bạn cần thiết lập cho hướng dẫn này là cho trình cung cấp mô hình, nhưng nhìn chung, bạn phải làm điều tương tự cho từng dịch vụ mà flow của bạn sử dụng.

  7. Không bắt buộc: Hãy thử quy trình của bạn trong giao diện người dùng dành cho nhà phát triển:

    1. Thiết lập môi trường cục bộ cho nhà cung cấp mô hình mà bạn đã chọn:

      Gemini (AI của Google)

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (AI Vertex)

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. Khởi động giao diện người dùng:

      genkit start
      
    3. Trong giao diện người dùng dành cho nhà phát triển (http://localhost:4000/), hãy chạy flow:

      1. Nhấp vào menusuggestedionFlow.

      2. Trên thẻ Input JSON, hãy cung cấp một chủ thể cho mô hình:

        "banana"
        
      3. Nhấp vào Run (Chạy).

  8. Nếu cho đến thời điểm này mọi thứ đều hoạt động như mong đợi, bạn có thể xây dựng và triển khai quy trình này bằng các công cụ của nhà cung cấp.