>백엔드 개발 >Golang >aiplatformb.PredictRequest.Instances에는 *structpb.Value 유형이 필요합니다(GCP golang 클라이언트 라이브러리, aiplatform).

aiplatformb.PredictRequest.Instances에는 *structpb.Value 유형이 필요합니다(GCP golang 클라이언트 라이브러리, aiplatform).

王林
王林앞으로
2024-02-10 15:00:09532검색

aiplatformb.PredictRequest.Instances 需要类型 *structpb.Value (GCP golang 客户端库;aiplatform)

php 편집기 Apple AI Platform B는 structpb.Value 유형의 매개변수가 필요한 강력한 예측 요청 인스턴스입니다. aiplatform용으로 특별히 설계된 GCP(Google Cloud Platform)용 Go 언어 클라이언트 라이브러리입니다. 개발 과정에서 모델 예측을 빠르게 할 수 있도록 편리한 예측 기능을 사용자에게 제공합니다. 이 라이브러리를 사용하면 사용자는 AI 기술을 애플리케이션에 쉽게 통합하고 정확하고 효율적인 예측 결과를 얻을 수 있습니다.

질문 내용

Golang 웹 애플리케이션(클라우드 실행 + 빌드에서 실행되는 웹 서버/애플리케이션)에서 Vertex AI 엔드포인트에 액세스하려고 합니다. 웹 애플리케이션에는 세부 정보를 제출하는 양식이 있습니다. 제 질문은 웹 애플리케이션에서 수신된 구조를 어떻게 가져와 aiplatformb.PredictRequest 구조의 인스턴스 필드에서 허용되는 유형으로 변환할 수 있느냐는 것입니다. 으아악

Postman을 사용하여 외부에서 이 엔드포인트에 액세스하려고 시도했는데 아래 요청을 통해 엔드포인트가 실행 중임을 확인합니다. 이 값은 세부정보에서 제출한 값입니다

type Submission struct {
        MonthlyIncome                 int
        Age                           int
        Passport                      int
    }

    var Details = Submission{}


    Ctx := context.Background()
        C, err := aiplatform.NewPredictionClient(Ctx)
    
        if err != nil {
            log.Fatalf("Error 1: %v", err)
        }

        defer C.Close()

        reqs := &aiplatformpb.PredictRequest{
            Endpoint:  "{{my endpoint that is formatted correctly}",
            Instances: []*structpb.Value{},

해결 방법

클라이언트 라이브러리를 사용하고 설명서를 참조한 후 여러 번 시도한 후에 [PredictionClient 유형에 대한 포인터로 작동하는] .Predict() 메서드를 사용하면 정점 AI 모델 엔드포인트의 스키마를 지정할 수 없습니다. 따라서 해결책은 .RawPredict() 메서드를 통해 요청을 보내는 것입니다. 따라서 직렬화된 JSON(structpb) 요청은 golang GCP 클라이언트 라이브러리에 의해 구현된 스키마가 배포된 모델과 일치하는 경우에만 작동합니다. PredictionClient에 대한 GCP 문서는 다음과 같습니다.

https://cloud.google.com/go/docs/reference/cloud.google.com/go/aiplatform/1.0.0/apiv1#cloud_google_com_go_aiplatform_apiv1_PredictionClient

다음은 RawPredict() 메서드를 형성하고 사용하는 데 필요한 라이브러리입니다.

으아악

코드는 다음과 같습니다:

으아악

위 내용은 aiplatformb.PredictRequest.Instances에는 *structpb.Value 유형이 필요합니다(GCP golang 클라이언트 라이브러리, aiplatform).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제