Skip to content

This is a Wrapper built on top of Browsers in-built Gemini nano which is window.ai just plug it and start using prompts

Notifications You must be signed in to change notification settings

Rajath2000/gemini-nano-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gemini Nano Wrapper - A client-side built-in AI Model for the web browser [Chrome] Read Google docs

A lightweight wrapper for the Gemini Nano package, designed to simplify interactions and streamline the integration process. This wrapper enhances usability by providing a more intuitive interface for utilizing Gemini Nano's features.

This Wrapper is built on top of the browser's in-built Gemini nano which is window.ai just plug it and start using prompts.

image

Table of Contents

Installation

Since this is an experimental feature, for the initial setup please Refer the documentation, Please make sure the code is running in your local browser this setup is not for the server.

To install the Gemini Nano Wrapper, use npm:

npm install gemini-nano-prompt

Usage

Let's start, It's simple to use:

import GeminiNano from "gemini-nano-prompt";

let geminiNano = new GeminiNano(); // by default topK : 3 and temperature : 0.8

let response = await geminiNano.prompt("Hi What is Gemini Nano");

console.log("This is a Gemini response :", response);

for Fine tuning

import GeminiNano from "gemini-nano-prompt";

let geminiNano = new GeminiNano( { topK : 8 , temperature : 0. 9 } );

let response = await geminiNano.prompt("Hi What is Gemini Nano");

console.log("This is a Gemini response :", response);

API

The following are the API Interface:

constructor

interface CustomCapabilities {
   topK : Number,
   temperature : Number
}

constructor(customCapabilities?: CustomCapabilities )

Methods

Checks environment for required specification and Create a session for prompting( pass assistant) or summarize(pass summarizer) returns session created sucessfully or not

public async createSession(sessionType: "assistant" | "summarizer" = "assistant"): Promise<boolean>

closes a session : please close session every time for better browser performace

public closeSession(): void 

use this for prompting this will automatically checks browser requirement and checks the eligibilty for gemini nano and creates and closes a session for every prompt call

public async prompt(query: string): Promise<{ response: any } | void>

use this for getting summury this will automatically checks browser requirement and checks the eligibilty for gemini nano and creates and closes a session for every prompt call

public async summarizer(query: string): Promise<{ response: any } | void>

Examples

import GeminiNano from "gemini-nano-prompt";

class Prompt {
   constructor() {}
   async getFAQs(listOfTopics, question) {
    let geminiNano = new GeminiNano()
    let prompt = `Answer the Questions Only related topics which is : ${listOfTopics} The Question is : ${question} if is not relavent topics: ${listOfTopics} Rspond with a Apology note`;
    console.log(prompt);

    let result = await geminiNano.prompt(prompt)
    return result;
   }
}

const prompt = new Prompt();
export default prompt

image

Contributing

Thank you for considering contributing to My Project! We appreciate your help in making this project better. Here are some guidelines to help you get started.

How to Contribute

1. Fork the Repository

  1. Click the "Fork" button at the top right of this page.
  2. This will create a copy of the repository in your GitHub account.

2. Clone the Forked Repository

Clone your forked repository to your local machine using the following command:

git clone [https://github.com/your-username/my-project.git](https://github.com/Rajath2000/gemini-nano-web.git)

3. Install dependency

npm install

4.Make changes, commit, create a pull request.

License

This project is licensed under the ISC License.

ISC License

ISC License

Copyright (c) [2024] [Rajath M R]

Permission to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, is hereby granted, free of charge, subject to the following conditions:

THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

This is a Wrapper built on top of Browsers in-built Gemini nano which is window.ai just plug it and start using prompts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published