diff --git a/plugins/tiddlywiki/ai-tools/globals.tid b/plugins/tiddlywiki/ai-tools/globals.tid index 87f18cfbc..85fa33b4d 100644 --- a/plugins/tiddlywiki/ai-tools/globals.tid +++ b/plugins/tiddlywiki/ai-tools/globals.tid @@ -14,49 +14,26 @@ statusTitle - Optional title of a tiddler to which the status of the request wil completionServer - Optional URL of server --> \procedure get-llm-completion(conversationTitle,resultTitlePrefix,resultTags,statusTitle,completionServer) - - \procedure get-llm-completion-callback() - <%if [compare:number:gteq[200]compare:number:lteq[299]] %> - - <$action-createtiddler - $basetitle=<> - tags=<> - type="text/markdown" - role={{{ [jsonget[choices],[0],[message],[role]] }}} - text={{{ [jsonget[choices],[0],[message],[content]] }}} - /> - <%else%> - - <$action-createtiddler - $basetitle=<> - tags=<> - type="text/markdown" - role="error" - text={{{ [[Error:]] [] [jsonget[error],[message]] +[join[]] }}} - /> - <%endif%> - \end get-llm-completion-callback - <$let completionServer={{{ [!is[blank]else] }}} > - <$wikify name="json" text={{{ [get[text]] }}}> - <$action-log message="get-llm-completion"/> - <$action-log/> - <$action-sendmessage - $message="tm-http-request" - url={{{ [get[url]] }}} - body=<> - header-content-type="application/json" - bearer-auth-token-from-store="openai-secret-key" - method="POST" - oncompletion=<> - bind-status=<> - var-resultTitlePrefix=<> - var-resultTags=<> - /> - + <$importvariables filter="[]"> + <$wikify name="json" text=<>> + <$action-log message="get-llm-completion"/> + <$action-log/> + <$action-sendmessage + $message="tm-http-request" + url={{{ [get[url]] }}} + body=<> + header-content-type="application/json" + bearer-auth-token-from-store="openai-secret-key" + method="POST" + oncompletion=<> + bind-status=<> + var-resultTitlePrefix=<> + var-resultTags=<> + /> + + \end get-llm-completion diff --git a/plugins/tiddlywiki/ai-tools/servers/local-llamafile.tid b/plugins/tiddlywiki/ai-tools/servers/local-llamafile.tid index 7ab2b11fb..15ba04e92 100644 --- a/plugins/tiddlywiki/ai-tools/servers/local-llamafile.tid +++ b/plugins/tiddlywiki/ai-tools/servers/local-llamafile.tid @@ -3,6 +3,10 @@ tags: $:/tags/AI/CompletionServer url: http://127.0.0.1:8080/v1/chat/completions caption: Locally running Llamafile server + +\procedure json-prompt() \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html conditional commentblock commentinline { "model": "gpt-4o", @@ -21,4 +25,30 @@ caption: Locally running Llamafile server } ] -} \ No newline at end of file +} +\end json-prompt + + +\procedure completion-callback() + <%if [compare:number:gteq[200]compare:number:lteq[299]] %> + + <$action-createtiddler + $basetitle=<> + tags=<> + type="text/markdown" + role={{{ [jsonget[choices],[0],[message],[role]] }}} + text={{{ [jsonget[choices],[0],[message],[content]] }}} + /> + <%else%> + + <$action-createtiddler + $basetitle=<> + tags=<> + type="text/markdown" + role="error" + text={{{ [[Error:]] [] [jsonget[error],[message]] +[join[]] }}} + /> + <%endif%> +\end completion-callback diff --git a/plugins/tiddlywiki/ai-tools/servers/openai.tid b/plugins/tiddlywiki/ai-tools/servers/openai.tid index c1bef5a7d..65ee9429a 100644 --- a/plugins/tiddlywiki/ai-tools/servers/openai.tid +++ b/plugins/tiddlywiki/ai-tools/servers/openai.tid @@ -3,6 +3,10 @@ tags: $:/tags/AI/CompletionServer url: https://api.openai.com/v1/chat/completions caption: OpenAI Service + +\procedure json-prompt() \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html conditional commentblock commentinline { "model": "gpt-4o", @@ -36,4 +40,30 @@ caption: OpenAI Service } ] -} \ No newline at end of file +} +\end json-prompt + + +\procedure completion-callback() + <%if [compare:number:gteq[200]compare:number:lteq[299]] %> + + <$action-createtiddler + $basetitle=<> + tags=<> + type="text/markdown" + role={{{ [jsonget[choices],[0],[message],[role]] }}} + text={{{ [jsonget[choices],[0],[message],[content]] }}} + /> + <%else%> + + <$action-createtiddler + $basetitle=<> + tags=<> + type="text/markdown" + role="error" + text={{{ [[Error:]] [] [jsonget[error],[message]] +[join[]] }}} + /> + <%endif%> +\end completion-callback