Bắt đầu

Để bắt đầu sử dụng Firebase Genkit, hãy cài đặt Genkit CLI và chạy genkit init trong dự án Node.js. Phần còn lại của trang này sẽ hướng dẫn bạn cách thực hiện.

Yêu cầu

Node.js 20 trở lên.

Cách thực hiện

  1. Cài đặt Genkit CLI bằng cách chạy lệnh sau:

    npm i -g genkit
    
  2. Tạo một dự án Nút mới:

    mkdir genkit-intro && cd genkit-intro
    npm init -y
    

    Xem package.json và đảm bảo trường main được đặt thành lib/index.js.

  3. Khởi động dự án Genkit:

    genkit init
    
    1. Chọn Node.js làm lựa chọn nền tảng triển khai (bạn cũng có thể sử dụng các mẫu cho Firebase Cloud Functions và Google Cloud Run).

    2. Chọn mô hình của bạn:

      Gemini (AI của Google)

      Cách đơn giản nhất để bắt đầu là sử dụng API Gemini của Google AI. Hãy đảm bảo ứng dụng đó có ở khu vực của bạn.

      Tạo khoá API cho APIGemini bằng Google AI Studio. Sau đó, hãy đặt biến môi trường GOOGLE_GENAI_API_KEY thành khoá của bạn:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Nếu API Google AI Gemini không có ở khu vực của bạn, hãy cân nhắc sử dụng Vertex AI API, API này cũng cung cấp Gemini và các mô hình khác. Bạn sẽ cần có một dự án Google Cloud có hỗ trợ thanh toán, bật API Nền tảng AI và đặt thêm một số biến môi trường:

      gcloud services enable aiplatform.googleapis.com
      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      

      Truy cập https://cloud.google.com/vertex-ai/generative-ai/pricing để biết giá của Vertex AI.

    3. Chọn câu trả lời mặc định cho các câu hỏi còn lại. Việc này sẽ khởi động thư mục dự án của bạn bằng một số mã mẫu.

    Lệnh genkit init tạo một tệp nguồn mẫu, index.ts. Đây là điểm bắt đầu của dự án, nơi bạn định cấu hình Genkit cho dự án của mình, định cấu hình các trình bổ trợ bạn muốn tải và xuất luồng AI cũng như các tài nguyên khác mà bạn đã xác định. Tệp mẫu chứa một cấu hình tải một trình bổ trợ để hỗ trợ nhà cung cấp mô hình mà bạn đã chọn trước đó. Lớp này cũng chứa một flow duy nhất là menuSuggestionFlow, nhắc một LLM đề xuất mặt hàng cho một nhà hàng theo chủ đề cụ thể.

    configureGenkit({
      plugins: [googleAI()],
      logLevel: 'debug',
      enableTracingAndMetrics: true,
    });
    
    export const menuSuggestionFlow = defineFlow(
      {
        name: 'menuSuggestionFlow',
        inputSchema: z.string(),
        outputSchema: z.string(),
      },
      async (subject) => {
        const llmResponse = await generate({
          prompt: `Suggest an item for the menu of a {subject} themed restaurant`,
          model: geminiPro,
          config: {
            temperature: 1,
          },
        });
    
        return llmResponse.text();
      }
    );
    
    startFlowsServer();
    

    Khi xây dựng các tính năng AI của ứng dụng bằng Genkit, có thể bạn sẽ tạo các quy trình với nhiều bước như xử lý trước dữ liệu đầu vào, tạo câu lệnh tinh vi hơn, tích hợp các nguồn thông tin bên ngoài để tạo hệ thống tăng cường truy xuất (RAG), v.v.

  4. Giờ đây, bạn có thể chạy và khám phá các tính năng của Genkit cũng như dự án mẫu cục bộ trên máy của mình. Tải xuống và khởi động giao diện người dùng dành cho nhà phát triển Genkit:

    genkit start
    

    Chào mừng bạn đến với giao diện người dùng dành cho nhà phát triển Genkit

    Giao diện người dùng dành cho nhà phát triển Genkit hiện đang chạy trên máy của bạn. Khi bạn chạy các mô hình hoặc luồng ở bước tiếp theo, máy của bạn sẽ thực hiện các nhiệm vụ điều phối cần thiết để các bước trong luồng của bạn hoạt động cùng nhau; các lệnh gọi đến các dịch vụ bên ngoài như Gemini API sẽ tiếp tục được thực hiện trên các máy chủ đang hoạt động.

    Ngoài ra, vì bạn đang trong môi trường phát triển nên Genkit sẽ lưu trữ dấu vết và trạng thái luồng trong các tệp cục bộ.

  5. Giao diện người dùng dành cho nhà phát triển Genkit sẽ tự động tải xuống và mở khi bạn chạy lệnh genkit start.

    Giao diện người dùng dành cho nhà phát triển cho phép bạn xem luồng nào bạn đã xác định và mô hình bạn đã định cấu hình, chạy các luồng đó cũng như kiểm tra dấu vết của các lần chạy trước đó. Hãy thử một số tính năng sau:

    • Trên thẻ Run (Chạy), bạn sẽ thấy danh sách gồm tất cả các flow mà bạn đã xác định, cũng như mọi mô hình được định cấu hình bằng trình bổ trợ.

      Hãy nhấp vào menusuggestedionFlow và thử chạy trình đơn này với một số văn bản nhập (ví dụ: "cat"). Nếu mọi việc đều suôn sẻ, bạn sẽ nhận được phần đề xuất về thực đơn dành cho nhà hàng theo chủ đề mèo.

    • Trên thẻ Kiểm tra, bạn sẽ thấy lịch sử thực thi luồng. Đối với mỗi luồng, bạn có thể thấy các tham số được truyền vào flow và dấu vết của từng bước khi chúng chạy.

Các bước tiếp theo

Hãy xem cách tạo và triển khai ứng dụng Genkit bằng Firebase, Cloud Run hoặc nền tảng Node.js bất kỳ.