-
-
Notifications
You must be signed in to change notification settings - Fork 28.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LLM Tools support for OpenAI integration #117645
Conversation
Hey there @balloob, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
@Shulyaka There seems to be an issue when converting the parameters with I added this to if "properties" not in tool_spec["parameters"]:
tool_spec["parameters"]["properties"] = {} but I think this may be better suited for |
@@ -118,45 +115,67 @@ async def async_step_init( | |||
) -> ConfigFlowResult: | |||
"""Manage the options.""" | |||
if user_input is not None: | |||
return self.async_create_entry(title="OpenAI Conversation", data=user_input) | |||
schema = openai_config_option_schema(self.config_entry.options) | |||
if user_input[CONF_LLM_HASS_API] == "none": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we make "none"
a constant in the LLM helper?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since it's not a value we ever pass to the LLM API, I am not sure? We wouldn't want to just have a stub API returning no tools, as that is a waste of compute.
tool_spec = {"name": tool.name} | ||
if tool.description: | ||
tool_spec["description"] = tool.description | ||
tool_spec["parameters"] = convert(tool.parameters) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As noted in another comment, the request will fail if tool_spec["parameters"]["properties"]
does not exist.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Solved in voluptuous-openapi==0.0.4
Yes, you are right, I will make the fix. |
Breaking change
Proposed change
Implement LLM Tools feature (#115464) for
openai_conversation
.Type of change
Additional information
Checklist
ruff format homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.To help with the load of incoming pull requests: