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
|
||||
/gui/styles/external/
|
||||
/config/config.json
|
||||
test.js
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
// Import the file module.
|
||||
// import file from `./net.js`;
|
||||
|
||||
// Don't forget to set the class as export default.
|
||||
export default class gemini {
|
||||
#key;
|
||||
#request;
|
||||
|
@ -10,8 +11,9 @@ export default class gemini {
|
|||
|
||||
@param {string} key the API key. Remember to not commit your API keys.
|
||||
@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) {
|
||||
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';
|
||||
|
||||
// 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