diff --git a/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings b/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings new file mode 100644 index 000000000..73666d353 --- /dev/null +++ b/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings @@ -0,0 +1,46 @@ +{ + "file_version": 2, + "max_length": 2048, + "ikmax": 3000, + "genamt": 80, + "ikgen": 200, + "rep_pen": 1.17, + "rep_pen_slope": 0.2, + "rep_pen_range": 1024, + "temp": 0.43, + "top_p": 0.96, + "top_k": 0, + "top_a": 0.0, + "tfs": 0.68, + "typical": 1.0, + "numseqs": 1, + "fp32_model": false, + "modeldim": 2560, + "sampler_order": [ + 6, + 0, + 1, + 2, + 3, + 4, + 5 + ], + "newlinemode": "n", + "lazy_load": true, + "revision": null, + "selected_preset": "", + "horde_wait_time": 0, + "horde_queue_position": 0, + "horde_queue_size": 0, + "model": "pygmalion-2.7b", + "model_type": "gpt_neo", + "url": "https://api.inferkit.com/v1/models/standard/generate", + "oaiurl": "", + "oaiengines": "https://api.openai.com/v1/engines", + "colaburl": "/request", + "apikey": "", + "oaiapikey": "", + "configname": "pygmalion-2.7b", + "online_model": "", + "alt_multi_gen": false +} \ No newline at end of file diff --git a/public/KoboldAI Settings/Classic-Pygmalion-6b.settings b/public/KoboldAI Settings/Classic-Pygmalion-6b.settings new file mode 100644 index 000000000..74747f473 --- /dev/null +++ b/public/KoboldAI Settings/Classic-Pygmalion-6b.settings @@ -0,0 +1,46 @@ +{ + "file_version": 2, + "max_length": 2048, + "ikmax": 3000, + "genamt": 80, + "ikgen": 200, + "rep_pen": 1.1, + "rep_pen_slope": 0.7, + "rep_pen_range": 1024, + "temp": 0.5, + "top_p": 0.9, + "top_k": 0, + "top_a": 0.0, + "tfs": 0.9, + "typical": 1.0, + "numseqs": 1, + "fp32_model": false, + "modeldim": 4096, + "sampler_order": [ + 6, + 0, + 1, + 2, + 3, + 4, + 5 + ], + "newlinemode": "n", + "lazy_load": true, + "revision": null, + "selected_preset": "", + "horde_wait_time": 0, + "horde_queue_position": 0, + "horde_queue_size": 0, + "model": "pygmalion-6b", + "model_type": "gptj", + "url": "https://api.inferkit.com/v1/models/standard/generate", + "oaiurl": "", + "oaiengines": "https://api.openai.com/v1/engines", + "colaburl": "/request", + "apikey": "", + "oaiapikey": "", + "configname": "pygmalion-6b", + "online_model": "", + "alt_multi_gen": false +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 28f427d36..48c68a5d9 100644 --- a/public/index.html +++ b/public/index.html @@ -28,11 +28,12 @@ diff --git a/readme.md b/readme.md index dcdba0497..0b9ecf0e6 100644 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ Examples of interface and output:
-[@@@Download TavernAI@@@](https://github.com/TavernAI/TavernAI/archive/refs/heads/main.zip) +[@@@Download TavernAI@@@](https://github.com/TavernAI/TavernAI/archive/refs/heads/main.zip) (Last version) ## Features * Creating characters with personality setup * Choosing name and avatar for your character @@ -31,6 +31,8 @@ If the message is not finished, you can simply send the request again, TavernAI
## Additional materials https://www.reddit.com/user/Crataco/comments/zuowi9/opensource_chatbot_companions/ +## For contacts +* Discord: Humi#5044 ## For thanks and support TavernAI is being developed with love and care on a voluntary basis. If you like the project and want to support it, your donation would make a huge impact! diff --git a/server.js b/server.js index c15029888..c92ec11dc 100644 --- a/server.js +++ b/server.js @@ -3,6 +3,7 @@ var app = express(); var fs = require('fs'); var rimraf = require("rimraf"); const multer = require("multer"); +const https = require('https'); var Client = require('node-rest-client').Client; var client = new Client(); @@ -24,11 +25,38 @@ var response_edit; var response_dw_bg; var response_getstatus; var response_getstatus_novel; +var response_getlastversion; var api_key_novel; const jsonParser = express.json(); const urlencodedParser = express.urlencoded({extended: false}); + + + +app.post("/getlastversion", jsonParser, function(request, response_getlastversion = response){ + if(!request.body) return response_getlastversion.sendStatus(400); + + const repo = 'TavernAI/TavernAI'; + + https.request({ + hostname: 'github.com', + path: `/${repo}/releases/latest`, + method: 'HEAD' + }, (res) => { + if(res.statusCode === 302) { + const glocation = res.headers.location; + const versionStartIndex = glocation.lastIndexOf('@')+1; + const version = glocation.substring(versionStartIndex); + //console.log(version); + response_getlastversion.send({version: version}); + }else{ + response_getlastversion.send({version: 'error'}); + } + }).end(); + + +}); app.use(express.static(__dirname + "/public")); app.use(multer({dest:"uploads"}).single("avatar")); app.get("/", function(request, response){ @@ -152,7 +180,7 @@ app.post("/getchat", jsonParser, function(request, response){ }); app.post("/getstatus", jsonParser, function(request, response_getstatus = response){ - if(!request.body) return response.sendStatus(400); + if(!request.body) return response_getstatus.sendStatus(400); api_server = request.body.api_server; if(api_server.indexOf('localhost') != -1){ @@ -562,7 +590,7 @@ return new Date(fs.statSync(path + '/' + a).mtime) - new Date(fs.statSync(path + //***********Novel.ai API app.post("/getstatus_novelai", jsonParser, function(request, response_getstatus_novel =response){ - if(!request.body) return response_generate.sendStatus(400); + if(!request.body) return response_getstatus_novel.sendStatus(400);     api_key_novel = request.body.key; var data = {}; var args = { @@ -662,7 +690,7 @@ app.post("/generate_novelai", jsonParser, function(request, response_generate_no app.listen(server_port, function() { - console.log('Server started: http://127.0.0.1:'+server_port); + console.log('TavernAI started: http://127.0.0.1:'+server_port); });