无法在SAPUI5 App中调用Google Gemini API函数

问题描述 投票:0回答:1

我已经在 SAPUI5 应用程序中集成了 Gemini API,结果也出来了。插入 API 密钥后,我能够获取响应 JSON,并且可以查看可用的模型。但无法将提示发送给模型并获得响应。 我不知道如何在UI5中使用async和await,因为UI5默认调用async中的函数

这是代码,我正在尝试只是一个基本提示。 askGemini() 是我调用来获取结果的函数

checkGoogleConnection: function() {
            const vBox = this.getView().byId("vb1")
            const APIBtn = this.getView().byId("checkGoogleConn");
            const APIField = this.getView().byId("checkGoogleKey");
            vBox.removeItem(APIBtn);
            vBox.removeItem(APIField);

            const gemKey = this.getView().byId("checkGoogleKey").getValue();
            console.log(gemKey);
            this.GOOGLE_API_KEY = gemKey;
            console.log(this.GOOGLE_API_KEY);

            // call Gemini AI API to check models. 
            const gen_ai = new GenAI.GoogleGenerativeAI(gemKey);
            console.log(gen_ai);
            const models = gen_ai.getGenerativeModel({ model: "gemini-1.5-flash"});
            console.log(models);

            var labelText = "";

            if (models){
                console.log("pass");
                labelText = "available models: " + models.model;
            }else{
                console.log("fail");
                labelText = "no models available right now!!";
            }

            const geminiConnSuccessInfoLabel = new InfoLabel("gcsil1", {
                text: labelText,
                colorScheme: 5
            })
            vBox.addItem(geminiConnSuccessInfoLabel);

        },

        // call Gemini and get resolution. 
        askGemini: function() {
            sap.m.MessageToast.show("Fetching from Gemini!!");

            const gen_ai2 = new GenAI.GoogleGenerativeAI(this.GOOGLE_API_KEY);
            console.log(gen_ai2);
            const models2 = gen_ai2.getGenerativeModel({ model: "gemini-1.5-flash"});
            console.log(models2);

            const prompt = "Write a story about an AI and magic"
            const result = models2.generateContent(prompt);
            const response = result.response;
            //const text = response.text();
            console.log(response);
            //console.log(text);
        },

这里做错了什么?如果我使用异步和等待,错误会显示在控制台中。

这是应用程序。 “询问”按钮调用上面的函数。 This is the current app

javascript sapui5 google-gemini google-generativeai
1个回答
0
投票

这篇文章可能对你有帮助,它涵盖了 SAPUI5 中 async/await 的用法。

© www.soinside.com 2019 - 2024. All rights reserved.