Upload files to ''

This commit is contained in:
nodemixaholic 2024-03-17 00:33:57 +00:00
parent 1b6003ced2
commit 2074092648

239
index.mjs
View file

@ -1,114 +1,125 @@
import readline from 'readline';
import Ollama from 'ollama-js-client';
import spawn from 'child_process';
let potentialAnswers = [];
function prompt(q) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
return new Promise((resolve) => {
rl.question(`${q}`, function (a) {
rl.close();
resolve(a);
});
});
}
let problem = await prompt("<What's the project? (no external libs or reqs)>: ");
let lang = await prompt("<What's the lang? (js, python, ppython [panda3d python])>: ");
let generations = await prompt("<How many generations? (more generations = more memory used and more time!)>: ");
generations = Math.ceil(Number(generations))
console.log("coding, this will take a bit of time!");
function langExec(langCode) {
if (lang == "js") {
return eval(langCode);
} else if (lang == "python") {
const pythonProcess = spawn('python', ['-c', langCode]);
// Handle stderr data from the Python process
return pythonProcess.stderr.on('data', (data) => {
return Error(`${data}`);
});
} else if (lang == "ppython") {
const ppythonProcess = spawn('ppython', ['-c', langCode]);
// Handle stderr data from the Python process
return ppythonProcess.stderr.on('data', (data) => {
return Error(`${data}`);
});
} else {
console.error("Language command not found!")
}
}
function getLangID() {
if (lang == "ppython") {
return "panda3d python"
} else {
return lang;
}
}
function replaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}
async function main() {
const instance = new Ollama({
model: "codellama",
url: "http://127.0.0.1:11434/api/",
});
let answer = await instance.prompt(`${problem} - This must be coded in pure ${getLangID()}, no external libraries or requirements. Please provide the code, the full code, and nothing but the code. No chit-chat, no markdown, just code.`);
let problemSolved = false;
while (problemSolved == false) {
try {
let answerParsed = replaceAll(answer.response, "```javascript", "")
answerParsed = replaceAll(answerParsed, "```", "")
langExec(answerParsed);
problemSolved = true;
console.log(answerParsed)
return answerParsed;
} catch (error) {
answer = await instance.prompt(`There was an error: ${error.message}. Please only provide the code, the full code, and nothing but the code. No chit-chat, no markdown, just code. Also, make sure it's written in ${getLangID()} without any libraries besides included.`)
}
}
return 1;
}
async function aThousand() {
const instance = new Ollama({
model: "codellama",
url: "http://127.0.0.1:11434/api/",
});
let potentialAnswersQuestion = `Which answer is best suited for ${problem}?
If there are two or more answers that are about as equal, but one has lower quality code, choose the one with higher quality code.
Pick ONLY ONE ANSWER. MUST BE PROGRAMMED IN THE LANGUAGE ${getLangID}!
INCLUDE THE COMPLETE CODE FOR THE CHOSEN ANSWER, AS WELL AS A SHORT DESCRIPTION ON WHY YOU CHOSE IT AND HOW IT WORKS.
Answers:
`
for (let i = 0; i < generations; i++) {
console.log(`Generation ${i + 1}`)
let potentialAnswer = await main();
potentialAnswers.push(potentialAnswer)
}
potentialAnswers.forEach((answer, index) => {
potentialAnswersQuestion += `
----
Answer ${index + 1}:
${answer}
----
`;
});
let finalAnswer = await instance.prompt(`${potentialAnswersQuestion}`)
let finalAnswerParsed = finalAnswer.response;
return finalAnswerParsed;
}
let a = await aThousand();
console.log(a)
import readline from 'readline';
import Ollama from 'ollama-js-client';
import { spawn } from 'child_process';
let potentialAnswers = [];
function prompt(q) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
return new Promise((resolve) => {
rl.question(`${q}`, function (a) {
rl.close();
resolve(a);
});
});
}
let problem = await prompt("<What's the project? (no external libs or reqs)>: ");
let lang = await prompt("<What's the lang? (js, python, ppython [panda3d python])>: ");
let generations = await prompt("<How many generations? (more generations = more memory used and more time!)>: ");
generations = Math.ceil(Number(generations))
console.log("coding, this will take a bit of time!");
function langExec(langCode) {
if (lang == "js") {
return eval(langCode);
} else if (lang == "python" || lang == "ppython") {
const pythonProcess = spawn(lang, ['-c', langCode]);
return new Promise((resolve, reject) => {
let output = '';
pythonProcess.stdout.on('data', (data) => {
output += data.toString();
});
pythonProcess.stderr.on('data', (data) => {
reject(data.toString());
});
pythonProcess.on('close', (code) => {
if (code === 0) {
resolve(output);
} else {
reject(`Process exited with code ${code}`);
}
});
});
} else {
console.error("Language command not found!")
}
}
function getLangID() {
if (lang == "ppython") {
return "panda3d python"
} else {
return lang;
}
}
function replaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}
async function main() {
const instance = new Ollama({
model: "codellama",
url: "http://127.0.0.1:11434/api/",
});
let answer = await instance.prompt(`${problem} - This must be coded in pure ${getLangID()}, no external libraries or requirements. Please provide the code, the full code, and nothing but the code. No chit-chat, no markdown, just code.`);
let problemSolved = false;
while (!problemSolved) {
try {
let answerParsed = replaceAll(answer.response, "```javascript", "")
answerParsed = replaceAll(answerParsed, "```", "")
await langExec(answerParsed);
problemSolved = true;
console.log(answerParsed)
return answerParsed;
} catch (error) {
answer = await instance.prompt(`There was an error: ${error.message}. Please only provide the code, the full code, and nothing but the code. No chit-chat, no markdown, just code. Also, make sure it's written in ${getLangID()} without any libraries besides included.`)
}
}
return 1;
}
async function aThousand() {
const instance = new Ollama({
model: "codellama",
url: "http://127.0.0.1:11434/api/",
});
let potentialAnswersQuestion = `Which answer is best suited for ${problem}?
If there are two or more answers that are about as equal, but one has lower quality code, choose the one with higher quality code.
Pick ONLY ONE ANSWER. MUST BE PROGRAMMED IN THE LANGUAGE ${getLangID()}!
INCLUDE THE COMPLETE CODE FOR THE CHOSEN ANSWER, AS WELL AS A SHORT DESCRIPTION ON WHY YOU CHOSE IT AND HOW IT WORKS.
Answers:
`
for (let i = 0; i < generations; i++) {
console.log(`Generation ${i + 1}`);
let potentialAnswer = await main();
potentialAnswers.push(potentialAnswer);
}
potentialAnswers.forEach((answer, index) => {
potentialAnswersQuestion += `
----
Answer ${index + 1}:
${answer}
----
`;
});
let finalAnswer = await instance.prompt(`${potentialAnswersQuestion}`);
let finalAnswerParsed = finalAnswer.response;
return finalAnswerParsed;
}
let a = await aThousand();
console.log(a)