See this http://keepachangelog.com link for information on how we want this documented formatted.
Now parentsTools
can now have multiple functions present. This should have worked all along but was overlooked. See changes around MyTool.toolName
below.
No documented usage of MyTool.toolName
. It is still used internally for a Tool's thread meta. The function is still available for use, but it is not recommended.
Caution
It is critical that your tool's function name be unique across its parent's entire set of tool names.
Major Assistant & Tool Constructor Changes
Both Assistant & Tool have removed their (name, description, instructions) ordinal parameters in favor a single options object. Now, the constructor signature is:
// Using Assistant.create() factory.
//
assistant = new Assistant.craete({
name: "My Assistant",
instructions: "My Assistant Instructions",
...
});
// Or using ES6 Classes.
//
class MyAssistant extends Assistant {
constructor() {
super({
name: "My Assistant",
instructions: "My Assistant Instructions",
});
}
})
A new skipUpdate
option to use for deployments such as staging where it might be desirable to use the Assistants remote resource instructions or other properties.
Names are no longer unique when assistants are created. This means the find/recreate by name is no longer needed. Recommend if deployments must track a fixed assistant to use the assistant id environment variable.
OpenAI now seems to validate the tool JSON on Assistant create. Fixed a bug in a test fixture where required
was in the wrong place.
New Assistant run_options
for all Runs created, ex: forcing a tool_choice
. Alternatively, you can pass an options object to the ask
method to be used for the current Run.
await assistant.ask("...", "thread_abc123", {
run: {
tool_choice: { type: "function", function: { name: "..." } },
additional_instructions: "...",
additional_messages: [...],
},
});
All Run create options are supported.
https://platform.openai.com/docs/api-reference/runs/createRun
However, not all make sense with Experts.js.
- Assistant init updates configs after find by name or id.
- Initial Release