SimpleChatTC:WebSearchPlus: Update readme, Wikipedia in allowed
If using wikipedia or so, remember to have sufficient context window in general wrt the ai engine as well as wrt the handshake / chat end point.
This commit is contained in:
parent
221b5a9228
commit
252fb91e95
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"allowed.domains": [
|
"allowed.domains": [
|
||||||
|
".*\\.wikipedia\\.org$",
|
||||||
".*\\.bing\\.com$",
|
".*\\.bing\\.com$",
|
||||||
"^www\\.bing\\.com$",
|
"^www\\.bing\\.com$",
|
||||||
".*\\.yahoo\\.com$",
|
".*\\.yahoo\\.com$",
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,9 @@ console. Parallely some of the directly useful to end-user settings can also be
|
||||||
settings ui.
|
settings ui.
|
||||||
|
|
||||||
For GenAi/LLM models supporting tool / function calling, allows one to interact with them and explore use of
|
For GenAi/LLM models supporting tool / function calling, allows one to interact with them and explore use of
|
||||||
ai driven augmenting of the knowledge used for generating answers by using the predefined tools/functions.
|
ai driven augmenting of the knowledge used for generating answers as well as for cross checking ai generated
|
||||||
The end user is provided control over tool calling and response submitting.
|
answers logically / programatically and by checking with other sources and lot more by making using of the
|
||||||
|
predefined tools / functions. The end user is provided control over tool calling and response submitting.
|
||||||
|
|
||||||
NOTE: Current web service api doesnt expose the model context length directly, so client logic doesnt provide
|
NOTE: Current web service api doesnt expose the model context length directly, so client logic doesnt provide
|
||||||
any adaptive culling of old messages nor of replacing them with summary of their content etal. However there
|
any adaptive culling of old messages nor of replacing them with summary of their content etal. However there
|
||||||
|
|
@ -79,13 +80,14 @@ remember to
|
||||||
|
|
||||||
* use a GenAi/LLM model which supports tool calling.
|
* use a GenAi/LLM model which supports tool calling.
|
||||||
|
|
||||||
* if fetch web url / page tool call is needed remember to run the bundled local.tools/simpleproxy.py
|
* if fetch web page or web search tool call is needed remember to run bundled local.tools/simpleproxy.py
|
||||||
helper along with its config file, before using/loading this client ui through a browser
|
helper along with its config file, before using/loading this client ui through a browser
|
||||||
|
|
||||||
* cd tools/server/public_simplechat/local.tools; python3 ./simpleproxy.py --config simpleproxy.json
|
* cd tools/server/public_simplechat/local.tools; python3 ./simpleproxy.py --config simpleproxy.json
|
||||||
|
|
||||||
* remember that this is a relatively dumb proxy logic along with optional stripping of scripts / styles
|
* remember that this is a relatively minimal dumb proxy logic along with optional stripping of non textual
|
||||||
/ headers / footers /..., Be careful if trying to fetch web pages, and use it only with known safe sites.
|
content like head, scripts, styles, headers, footers, ... Be careful when accessing web through this and
|
||||||
|
use it only with known safe sites.
|
||||||
|
|
||||||
* it allows one to specify a white list of allowed.domains, look into local.tools/simpleproxy.json
|
* it allows one to specify a white list of allowed.domains, look into local.tools/simpleproxy.json
|
||||||
|
|
||||||
|
|
@ -226,6 +228,8 @@ It is attached to the document object. Some of these can also be updated using t
|
||||||
|
|
||||||
* fetchProxyUrl - specify the address for the running instance of bundled local.tools/simpleproxy.py
|
* fetchProxyUrl - specify the address for the running instance of bundled local.tools/simpleproxy.py
|
||||||
|
|
||||||
|
* searchUrl - specify the search engine's search url template along with the tag SEARCHWORDS in place where the search words should be substituted at runtime.
|
||||||
|
|
||||||
* auto - the amount of time in seconds to wait before the tool call request is auto triggered and generated response is auto submitted back.
|
* auto - the amount of time in seconds to wait before the tool call request is auto triggered and generated response is auto submitted back.
|
||||||
|
|
||||||
setting this value to 0 (default), disables auto logic, so that end user can review the tool calls requested by ai and if needed even modify them, before triggering/executing them as well as review and modify results generated by the tool call, before submitting them back to the ai.
|
setting this value to 0 (default), disables auto logic, so that end user can review the tool calls requested by ai and if needed even modify them, before triggering/executing them as well as review and modify results generated by the tool call, before submitting them back to the ai.
|
||||||
|
|
@ -362,7 +366,8 @@ ALERT: The simple minded way in which this is implemented, it provides some mini
|
||||||
mechanism like running ai generated code in web workers and restricting web access to user
|
mechanism like running ai generated code in web workers and restricting web access to user
|
||||||
specified whitelist and so, but it can still be dangerous in the worst case, So remember
|
specified whitelist and so, but it can still be dangerous in the worst case, So remember
|
||||||
to verify all the tool calls requested and the responses generated manually to ensure
|
to verify all the tool calls requested and the responses generated manually to ensure
|
||||||
everything is fine, during interaction with ai models with tools support.
|
everything is fine, during interaction with ai models with tools support. One could also
|
||||||
|
always run this from a discardable vm, just in case if one wants to be extra cautious.
|
||||||
|
|
||||||
#### Builtin Tools
|
#### Builtin Tools
|
||||||
|
|
||||||
|
|
@ -388,15 +393,18 @@ requests and generated responses when using tool calling.
|
||||||
Related logic tries to strip html response of html tags and also head, script, style, header,footer,
|
Related logic tries to strip html response of html tags and also head, script, style, header,footer,
|
||||||
nav, ... blocks.
|
nav, ... blocks.
|
||||||
|
|
||||||
fetch_web_url_raw/text and family works along with a corresponding simple local web proxy (/caching
|
* search_web_text - search for the specified words using the configured search engine and return the
|
||||||
in future) server logic, this helps bypass the CORS restrictions applied if trying to directly fetch
|
plain textual content from the search result page.
|
||||||
from the browser js runtime environment.
|
|
||||||
|
the above set of web related tool calls work by handshaking with a bundled simple local web proxy
|
||||||
|
(/caching in future) server logic, this helps bypass the CORS restrictions applied if trying to
|
||||||
|
directly fetch from the browser js runtime environment.
|
||||||
|
|
||||||
Depending on the path specified wrt the proxy server, it executes the corresponding logic. Like if
|
Depending on the path specified wrt the proxy server, it executes the corresponding logic. Like if
|
||||||
urltext path is used (and not urlraw), the logic in addition to fetching content from given url, it
|
urltext path is used (and not urlraw), the logic in addition to fetching content from given url, it
|
||||||
tries to convert html content into equivalent text content to some extent in a simple minded manner
|
tries to convert html content into equivalent plain text content to some extent in a simple minded
|
||||||
by dropping head block as well as all scripts/styles/footers/headers/nav blocks and inturn dropping
|
manner by dropping head block as well as all scripts/styles/footers/headers/nav blocks and inturn
|
||||||
the html tags.
|
dropping the html tags.
|
||||||
|
|
||||||
The client ui logic does a simple check to see if the bundled simpleproxy is running at specified
|
The client ui logic does a simple check to see if the bundled simpleproxy is running at specified
|
||||||
fetchProxyUrl before enabling these web and related tool calls.
|
fetchProxyUrl before enabling these web and related tool calls.
|
||||||
|
|
@ -414,10 +422,10 @@ The bundled simple proxy
|
||||||
so that websites will hopefully respect the request rather than blindly rejecting it as coming from
|
so that websites will hopefully respect the request rather than blindly rejecting it as coming from
|
||||||
a non-browser entity.
|
a non-browser entity.
|
||||||
|
|
||||||
In future it can be extended to help with other relatively simple yet useful tool calls like search_web,
|
In future it can be further extended to help with other relatively simple yet useful tool calls like
|
||||||
data/documents_store and so.
|
data / documents_store, fetch_rss and so.
|
||||||
|
|
||||||
* for now search_web can be indirectly achieved using fetch_web_url_text/raw.
|
* for now fetch_rss can be indirectly achieved using fetch_web_url_raw.
|
||||||
|
|
||||||
#### Extending with new tools
|
#### Extending with new tools
|
||||||
|
|
||||||
|
|
@ -440,6 +448,9 @@ Update the tc_switch to include a object entry for the tool, which inturn includ
|
||||||
It should pass these along to the tools web worker, if used.
|
It should pass these along to the tools web worker, if used.
|
||||||
* the result key (was used previously, may use in future, but for now left as is)
|
* the result key (was used previously, may use in future, but for now left as is)
|
||||||
|
|
||||||
|
Look into tooljs.mjs for javascript and inturn web worker based tool calls and toolweb.mjs
|
||||||
|
for the simpleproxy.py based tool calls.
|
||||||
|
|
||||||
#### OLD: Mapping tool calls and responses to normal assistant - user chat flow
|
#### OLD: Mapping tool calls and responses to normal assistant - user chat flow
|
||||||
|
|
||||||
Instead of maintaining tool_call request and resultant response in logically seperate parallel
|
Instead of maintaining tool_call request and resultant response in logically seperate parallel
|
||||||
|
|
@ -480,7 +491,7 @@ Handle reasoning/thinking responses from ai models.
|
||||||
|
|
||||||
Handle multimodal handshaking with ai models.
|
Handle multimodal handshaking with ai models.
|
||||||
|
|
||||||
Add search_web and documents|data_store tool calling, through the simpleproxy.py if and where needed.
|
Add fetch_rss and documents|data_store tool calling, through the simpleproxy.py if and where needed.
|
||||||
|
|
||||||
|
|
||||||
### Debuging the handshake
|
### Debuging the handshake
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue