From ebce8adc3bf2b5cac03df6a1bbf99c015df0c2cb Mon Sep 17 00:00:00 2001 From: Rohan Date: Thu, 13 Mar 2025 00:26:27 +0530 Subject: [PATCH 1/3] added sentiment analysis sample --- .changeset/cold-melons-type.md | 5 +++++ samples/sentiment_analysis.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .changeset/cold-melons-type.md create mode 100644 samples/sentiment_analysis.js diff --git a/.changeset/cold-melons-type.md b/.changeset/cold-melons-type.md new file mode 100644 index 000000000..01ce2840b --- /dev/null +++ b/.changeset/cold-melons-type.md @@ -0,0 +1,5 @@ +--- +"@google/generative-ai": minor +--- + +added a sample that shows text analysis using javascript and gemini diff --git a/samples/sentiment_analysis.js b/samples/sentiment_analysis.js new file mode 100644 index 000000000..5cdfbde1b --- /dev/null +++ b/samples/sentiment_analysis.js @@ -0,0 +1,34 @@ +import { + GoogleGenerativeAI +} from "@google/generative-ai"; + +async function runSentimentAnalysis(text) { + // [START runSentimentAnalysis] + // Make sure to include these imports: + // import { GoogleGenerativeAI } from "@google/generative-ai"; + const genAI = new GoogleGenerativeAI(process.env.API_KEY); + const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" }, {apiVersion: "v1alpha"},); + + try { + // Define the prompt for sentiment analysis + const prompt = `Analyze the sentiment of the following text and classify it as "positive", "negative", or "neutral". Provide a brief explanation. + +Text: "${text}"`; + + // Generate content using the model + const result = await model.generateContent(prompt); + const response = await result.response; + const sentimentAnalysis = await response.text(); + + // Output the result + console.log("Sentiment Analysis Result:"); + console.log(sentimentAnalysis); + } catch (error) { + console.error("Error performing sentiment analysis:", error); + } + // [runSentimentAnalysis] +} + +// Example usage +const sampleText = "I absolutely love this product! It's amazing and works perfectly."; +runSentimentAnalysis(sampleText); \ No newline at end of file From 8a7f4661105895286a2c1f2c09838fdab109873a Mon Sep 17 00:00:00 2001 From: Rohan Date: Thu, 13 Mar 2025 00:35:19 +0530 Subject: [PATCH 2/3] added license --- samples/sentiment_analysis.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/samples/sentiment_analysis.js b/samples/sentiment_analysis.js index 5cdfbde1b..cca228103 100644 --- a/samples/sentiment_analysis.js +++ b/samples/sentiment_analysis.js @@ -1,3 +1,20 @@ +/** + * @license + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { GoogleGenerativeAI } from "@google/generative-ai"; From f4ae42420530095f306a22dbcf917955bd39c2c4 Mon Sep 17 00:00:00 2001 From: Rohan Dwivedi <165134541+ROHANDWIVEDI2005@users.noreply.github.com> Date: Sat, 5 Apr 2025 21:53:20 +0530 Subject: [PATCH 3/3] Update sentiment_analysis.js minor update --- samples/sentiment_analysis.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/sentiment_analysis.js b/samples/sentiment_analysis.js index cca228103..f2d284f18 100644 --- a/samples/sentiment_analysis.js +++ b/samples/sentiment_analysis.js @@ -43,9 +43,9 @@ Text: "${text}"`; } catch (error) { console.error("Error performing sentiment analysis:", error); } - // [runSentimentAnalysis] + // [END runSentimentAnalysis] } // Example usage const sampleText = "I absolutely love this product! It's amazing and works perfectly."; -runSentimentAnalysis(sampleText); \ No newline at end of file +runSentimentAnalysis(sampleText);