|
import express from 'express';
|
|
const app = express()
|
|
const port = 8080
|
|
import { Client } from "@gradio/client";
|
|
|
|
let HfToken = process.env.HF_TOKEN;
|
|
|
|
process.on('uncaughtException', err => log('Exception:', err))
|
|
|
|
app.use(express.json());
|
|
|
|
function log(m){
|
|
let d = new Date();
|
|
let diso = d.toISOString();
|
|
|
|
console.log(`${diso} ${m}`)
|
|
}
|
|
|
|
|
|
let SpaceSql = null;
|
|
|
|
app.post('/v1/embeddings', async (req, res) => {
|
|
|
|
console.log(req.body);
|
|
|
|
let model = req.body.model;
|
|
let text = req.body.input;
|
|
|
|
if(SpaceSql == null){
|
|
SpaceSql = await Client.connect("rrg92/sqlserver-lib-assistant", {hf_token: HfToken})
|
|
}
|
|
|
|
let result = await SpaceSql.predict("/embed",{
|
|
text: text
|
|
}
|
|
)
|
|
console.log(result)
|
|
|
|
res.json({
|
|
object: "list"
|
|
,data: [{
|
|
object: "embeddings"
|
|
,embedding: JSON.parse(result.data[0])
|
|
,index:0
|
|
}]
|
|
,model
|
|
,usage:{
|
|
prompt_tokens: 0
|
|
,total_tokens: 0
|
|
}
|
|
})
|
|
})
|
|
|
|
app.get("/test", async (req,res) =>{
|
|
|
|
|
|
|
|
})
|
|
|
|
app.get('/', async (req, res) => {
|
|
res.send('on!')
|
|
})
|
|
|
|
app.use(function(err, req, res, next) {
|
|
console.log('error!');
|
|
console.log(err);
|
|
console.error(err.stack);
|
|
res.json({error:'Server error, admin must check logs',status:res.status})
|
|
});
|
|
|
|
|
|
app.listen(port, () => {
|
|
log(`Server started`)
|
|
}) |