Spaces:
Sleeping
Sleeping
File size: 1,769 Bytes
77c3419 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import axios from "axios";
async function feloAI (query, lang) {
const headers = {
Accept: "/",
"User-Agent": "Postify/1.0.0",
"Content-Encoding": "gzip, deflate, br, zstd",
"Content-Type": "application/json",
"Origin": "https://felo.ai",
"Referer": "https://felo.ai/"
};
const generateUUID = () => {
return (
Math.random().toString(16).slice(2) +
Math.random().toString(16).slice(2) +
Math.random().toString(16).slice(2) +
Math.random().toString(16).slice(2)
);
};
const payload = {
query,
search_uuid: generateUUID(),
search_options: {
langcode: lang
},
search_video: true,
};
const request = (badi) => {
const result = {
answer: "",
source: [],
};
badi.split("\n").forEach((line) => {
if (line.startsWith("data:")) {
try {
const data = JSON.parse(line.slice(5).trim());
if (data.data) {
if (data.data.text) {
result.answer = data.data.text
.replace(/\\(.?)\\/g, "$1*")
.replace(/^#{2,3}\s+/g, "")
.split("\n")
.map((line) => line.replace(/^#{2,3}\s+/g, "> "))
.join("\n");
}
if (data.data.sources) {
result.source = data.data.sources;
}
}
} catch (e) {
console.error(e);
}
}
});
return result;
};
try {
const response = await axios.post(
"https://api.felo.ai/search/threads",
payload,
{
headers,
responseType: "text",
},
);
return request(response.data);
} catch (error) {
console.error(error);
return null;
}
};
export { feloAI }; |