Q&A from April 20, 2023
Building a Human + AI Workflow
WHAT IS A "PACLET"?
WHAT IS A "PACLET"?
Standard way of bundling functions, data, etc. for Wolfram Language code.
ARE THESE PRESENTATIONS RECORDED?
ARE THESE PRESENTATIONS RECORDED?
Yes you will receive an email with a link to the recording. You can also view the recordings at https://www.bigmarker.com/series/daily-study-group-chatgpt-wsg39
WILL THE CHATGPT-PACLET BE UPDATED TO INCLUDE WOLFRAM ALPHA ACCESS?
WILL THE CHATGPT-PACLET BE UPDATED TO INCLUDE WOLFRAM ALPHA ACCESS?
The Plugin has access to both Wolfram Language and Wolfram Alpha technologies. See the earlier sessions this week for more Wolfram Alpha examples.
The question is about the paclet, not the plugin. Are you talking about Christopher Wolfram's paclet on the Paclet Repository?
Wolfram language has built in access to Wolfram Alpha. You do not need a paclet. (https://reference.wolfram.com/language/workflow/CallWolframAlphaFromAProgram.html)
DOES CHATGPT REMEMBER FROM IT'S PREVIOUS SESSIONS AND GET BETTER AT GENERATING CODE?
DOES CHATGPT REMEMBER FROM IT'S PREVIOUS SESSIONS AND GET BETTER AT GENERATING CODE?
The short answer is no, that each session is independent.
WHAT VERSION OF MATHEMATICA DO I NEED FOR THIS? I AM RUNNING 12.2
WHAT VERSION OF MATHEMATICA DO I NEED FOR THIS? I AM RUNNING 12.2
The current compatibility requirement is listed as 13.2 at the bottom of the page. https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/ChatGPTPluginKit/
THE INTERFACE BETWEEN WOLFRAM ALPHA AND CHATGPT MAY BE NATURAL LANGUAGE, DOES CHATGPT DO ANYTHING SPECIAL FOR W|A WHEN GENERATING LANGUAGE?
THE INTERFACE BETWEEN WOLFRAM ALPHA AND CHATGPT MAY BE NATURAL LANGUAGE, DOES CHATGPT DO ANYTHING SPECIAL FOR W|A WHEN GENERATING LANGUAGE?
The core prompt for the Wolfram plugin includes a number of suggestions for the LLM to follow when interacting with Wolfram Alpha — one is to generally try to simplify queries as much as possible (i.e. send "france population" instead of "how many people live in france") as well as a number of suggestions around handling variables, units, etc. We're also in the process of revising the prompt to give ChatGPT some guidance in how to use the assumptions that are returned by Wolfram Alpha (i.e. whenever there are multiple possible interpretations of a given input, name, etc.)
thanks!
thanks!
IS THE DEBUG OPTION ALSO AVAILABLE FOR USERS OF THE PLUGIN, OR IS IT JUST FOR DEVELOPERS AT WOLFRAM?
IS THE DEBUG OPTION ALSO AVAILABLE FOR USERS OF THE PLUGIN, OR IS IT JUST FOR DEVELOPERS AT WOLFRAM?
Only for developers
CAN YOU SHOW AN EXAMPLE OF CHATGPT EXPLAINING IN SIMPLE LANGUAGE WHAT A WL LINE OF CODE IS DOING? FOR EXAMPLE, EXPLAIN: MAP[(# + 1)^2 &, {1, 2, 3, 6}]
CAN YOU SHOW AN EXAMPLE OF CHATGPT EXPLAINING IN SIMPLE LANGUAGE WHAT A WL LINE OF CODE IS DOING? FOR EXAMPLE, EXPLAIN: MAP[(# + 1)^2 &, {1, 2, 3, 6}]
response from ChatGPT:
The given line of code is written in the Wolfram Language (Mathematica), and it applies a function to each element of a list. Let’s break it down:
Map: This is a built-in function in the Wolfram Language that applies a specified function to each element of a list (or other expression). The first argument of Map is the function to be applied, and the second argument is the list to which the function is applied.
(#+1)^2&: This is a pure (or anonymous) function that represents the mathematical expression (x + 1)^2, where x is the input to the function. In this expression, # is a placeholder for the input argument, and & indicates the end of the pure function definition.
{1, 2, 3, 6}: This is the list of elements to which the function (#+1)^2& will be applied.
The code Map[(# + 1)^2 &, {1, 2, 3, 6}] applies the function (#+1)^2& to each element of the list {1, 2, 3, 6}. The result is a new list containing the squares of the numbers obtained by adding 1 to each element of the original list.
To see the result of this code, we can evaluate it using the Wolfram Cloud API.
The result of evaluating the code Map[(# + 1)^2 &, {1, 2, 3, 6}] is the list {4, 9, 16, 49}. This means that the function (x + 1)^2 was applied to each element of the list {1, 2, 3, 6}, producing the following results:
(1 + 1)^2 = 4
(2 + 1)^2 = 9
(3 + 1)^2 = 16
(6 + 1)^2 = 49
These results are collected into the output list {4, 9, 16, 49}.
Map: This is a built-in function in the Wolfram Language that applies a specified function to each element of a list (or other expression). The first argument of Map is the function to be applied, and the second argument is the list to which the function is applied.
(#+1)^2&: This is a pure (or anonymous) function that represents the mathematical expression (x + 1)^2, where x is the input to the function. In this expression, # is a placeholder for the input argument, and & indicates the end of the pure function definition.
{1, 2, 3, 6}: This is the list of elements to which the function (#+1)^2& will be applied.
The code Map[(# + 1)^2 &, {1, 2, 3, 6}] applies the function (#+1)^2& to each element of the list {1, 2, 3, 6}. The result is a new list containing the squares of the numbers obtained by adding 1 to each element of the original list.
To see the result of this code, we can evaluate it using the Wolfram Cloud API.
The result of evaluating the code Map[(# + 1)^2 &, {1, 2, 3, 6}] is the list {4, 9, 16, 49}. This means that the function (x + 1)^2 was applied to each element of the list {1, 2, 3, 6}, producing the following results:
(1 + 1)^2 = 4
(2 + 1)^2 = 9
(3 + 1)^2 = 16
(6 + 1)^2 = 49
These results are collected into the output list {4, 9, 16, 49}.
Request to Wolfram:
{"input":"Map[(# + 1)^2 &, {1, 2, 3, 6}]"}
Following questions were answered live in the session
Following questions were answered live in the session
Watch the recording at https://www.bigmarker.com/wolfram-u/wsg39-human-ai-workflow
As the Wolfram (Language) documentation is arguably the best on the planet of any language, programming system, API or whatsoever, wouldn't it be a perfect candidate to have it included in full 5+GB size to the openAI live model (not just via Plugin)? The RSA example is extremely impressive, imho. Think openssl mess, have it debug :)
How did ChatGPT know that your plug-in would be useful in finding a city's population? What if you had labeled it simply "PopFinder"?
How does ChatGPT decide to call a plugin or not? How does the decision engine work?
How did it know what to do simply from "docs"?
The Wolfram Language Documentation is publicly available online, so much of it is a part of GPT's training data.
Is it learning from "Description" in your plug-in's code?
There is more than one flavor ChatGPT Plugin Store. I don't currently have the option to install any PlugIns except for the boilerplate set. I guess I need to ask OpenAI to change my permissions?
I am creating my own plugin, Is it possible to use mine and Wolfram simultaneously and if so, how does that work? For example, sharing libraries, etc.
How general is the ability of ChatGPT to search and deliver queries about the structure and content of the complete Wolfram Language documentation?
Question from Tuesday attendee: "Do the Wolfram OpenAI paclet and resource function allow to track the number of tokens sent and cost incurred from using the API ?"
If you write a plug-in, you must essentially host it on a webserver, and tell ChatGPT the URL it can use to send text to the plug-in and expect to get a reply... right?