SimpleChatTC:SimpleProxy:Pdf2Text: js side initial plumbing
Expose pdf2text tool call to ai server and handshake with simple proxy for the same.
This commit is contained in:
parent
6054ddfb65
commit
f97efb86e4
|
|
@ -269,6 +269,63 @@ async function searchwebtext_setup(tcs) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Pdf2Text
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
let pdf2text_meta = {
|
||||||
|
"type": "function",
|
||||||
|
"function": {
|
||||||
|
"name": "pdf2text",
|
||||||
|
"description": "Fetch pdf from requested web / file url through a proxy server and return its text content after converting pdf to text, in few seconds",
|
||||||
|
"parameters": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"url":{
|
||||||
|
"type":"string",
|
||||||
|
"description":"url of the pdf that will be got and inturn converted to text to some extent"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["url"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of the pdf to text logic.
|
||||||
|
* Expects a simple minded proxy server to be running locally
|
||||||
|
* * listening on a configured port
|
||||||
|
* * expecting http requests
|
||||||
|
* * with a query token named url wrt pdf2text path,
|
||||||
|
* which gives the actual url to fetch
|
||||||
|
* * gets the requested pdf and converts to text, before returning same.
|
||||||
|
* ALERT: Accesses a seperate/external web proxy/caching server, be aware and careful
|
||||||
|
* @param {string} chatid
|
||||||
|
* @param {string} toolcallid
|
||||||
|
* @param {string} toolname
|
||||||
|
* @param {any} obj
|
||||||
|
*/
|
||||||
|
function pdf2text_run(chatid, toolcallid, toolname, obj) {
|
||||||
|
return proxyserver_get_1arg(chatid, toolcallid, toolname, obj, 'pdf2text', 'url', encodeURIComponent(obj.url));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup pdf2text for tool calling
|
||||||
|
* NOTE: Currently the logic is setup for the bundled simpleproxy.py
|
||||||
|
* @param {Object<string, Object<string, any>>} tcs
|
||||||
|
*/
|
||||||
|
async function pdf2text_setup(tcs) {
|
||||||
|
return proxyserver_tc_setup('Pdf2Text', 'pdf2text', 'pdf2text', {
|
||||||
|
"handler": pdf2text_run,
|
||||||
|
"meta": pdf2text_meta,
|
||||||
|
"result": ""
|
||||||
|
}, tcs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to get hold of the web worker to use for running tool/function call related code
|
* Used to get hold of the web worker to use for running tool/function call related code
|
||||||
|
|
@ -284,5 +341,6 @@ export async function init(toolsWorker) {
|
||||||
await fetchweburlraw_setup(tc_switch)
|
await fetchweburlraw_setup(tc_switch)
|
||||||
await fetchweburltext_setup(tc_switch)
|
await fetchweburltext_setup(tc_switch)
|
||||||
await searchwebtext_setup(tc_switch)
|
await searchwebtext_setup(tc_switch)
|
||||||
|
await pdf2text_setup(tc_switch)
|
||||||
return tc_switch
|
return tc_switch
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue