Merge branch 'development-ai' into development
This commit is contained in:
commit
3511e62e01
3 changed files with 32 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,3 +2,4 @@
|
||||||
/bin
|
/bin
|
||||||
/gui/styles/external/
|
/gui/styles/external/
|
||||||
/config/config.json
|
/config/config.json
|
||||||
|
test.js
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
// Import the file module.
|
// Import the file module.
|
||||||
// import file from `./net.js`;
|
// import file from `./net.js`;
|
||||||
|
|
||||||
|
// Don't forget to set the class as export default.
|
||||||
export default class gemini {
|
export default class gemini {
|
||||||
#key;
|
#key;
|
||||||
#request;
|
#request;
|
||||||
|
@ -10,8 +11,9 @@ export default class gemini {
|
||||||
|
|
||||||
@param {string} key the API key. Remember to not commit your API keys.
|
@param {string} key the API key. Remember to not commit your API keys.
|
||||||
@param {string} model the model to use
|
@param {string} model the model to use
|
||||||
|
@param {object} version the API and bot version
|
||||||
*/
|
*/
|
||||||
constructor (key, model) {
|
constructor (key, model, version = {"API": "v1beta"}) {
|
||||||
if ((key) ? (((typeof key).includes(`str`)) ? !(key.trim()) : true) : true) {
|
if ((key) ? (((typeof key).includes(`str`)) ? !(key.trim()) : true) : true) {
|
||||||
throw new Error(`The API key is required.`);
|
throw new Error(`The API key is required.`);
|
||||||
};
|
};
|
||||||
|
@ -31,7 +33,7 @@ export default class gemini {
|
||||||
this.model[`name`] = ((typeof model).includes(`str`) && model) ? ((model.includes(`models/`)) ? model : `models/`.concat(model)) : 'gemini-pro';
|
this.model[`name`] = ((typeof model).includes(`str`) && model) ? ((model.includes(`models/`)) ? model : `models/`.concat(model)) : 'gemini-pro';
|
||||||
|
|
||||||
// Set the request location.
|
// Set the request location.
|
||||||
this.#request[`location`] = `https://generativelanguage.googleapis.com/v1beta/`.concat(this.model.name);
|
this.#request[`location`] = `https://generativelanguage.googleapis.com/`.concat(((version != null && !Array.isArray(version) && typeof(version).includes(`obj`)) ? version[`API`] : false) ? version[`API`] : `v1beta`, `/`, this.model.name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
27
scripts/product.js
Normal file
27
scripts/product.js
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
/* ask.js
|
||||||
|
Ask product information to Google Gemini. */
|
||||||
|
|
||||||
|
// Import the storage management module.
|
||||||
|
const secretariat = await import(chrome.runtime.getURL("scripts/secretariat.js"));
|
||||||
|
|
||||||
|
// Don't forget to set the class as export default.
|
||||||
|
class product {
|
||||||
|
/* Initialize a new product with its details.
|
||||||
|
|
||||||
|
@param {object} details the product details
|
||||||
|
*/
|
||||||
|
constructor (details) {
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Get the product information.
|
||||||
|
|
||||||
|
@param {object} options the options
|
||||||
|
@returns {object} the analysis
|
||||||
|
*/
|
||||||
|
analyze(options) {
|
||||||
|
const gemini = (await import('./AI/gemini.js')).default;
|
||||||
|
let analyzer = new gemini ((typeof(options).includes(`obj`) && !Array.isArray(options) && options != null) ? options[`API Key`] : await secretariat.read([`settings`,`analysis`,`api`,`key`], 1), `gemini-pro`);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue