Commit Graph

83 Commits (dev)

Author SHA1 Message Date
Erik Montnemery d77a3fca83
Exclude is_new from DeviceEntry snapshots (#149801) 2025-08-01 11:01:26 +02:00
Erik Montnemery 0d7608f7c5
Deprecate DeviceEntry.suggested_area (#149730) 2025-08-01 10:34:34 +02:00
Denis Shulyaka 3e465da892
Add Code Interpreter tool for OpenAI Conversation (#148383) 2025-07-16 14:52:53 +02:00
Paulus Schoutsen 611f86cf8c
OpenAI: Add attachment support to AI task (#148676) 2025-07-13 21:51:46 +02:00
Paulus Schoutsen 23a8442abe
Make attachments native to chat log (#148693)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-13 19:35:11 +02:00
Paulus Schoutsen 017cd0bf45
Update OpenAI conversation max tokens to 3000 (#148623)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 22:59:51 +02:00
Paulus Schoutsen 0e09a47476
Add OpenAI AI Task entity (#148295) 2025-07-10 23:08:56 +02:00
Denis Shulyaka cbe2fbdc34
Encrypted reasoning items support for OpenAI Conversation (#148279) 2025-07-10 10:46:10 +02:00
Denis Shulyaka de849b920a
Enable web search for OpenAI reasoning models (#148393) 2025-07-09 10:54:49 +02:00
Paulus Schoutsen 6d0891e970
OpenAI: Extract file attachment logic (#148288) 2025-07-08 08:01:49 +02:00
Denis Shulyaka 090b8f0659
Bump openai to 1.93.0 (#148350) 2025-07-07 18:07:28 +02:00
Erik Montnemery 7021fe7495
Correct openai conversation config entry migration (#147859) 2025-07-01 10:49:07 +02:00
Joost Lekkerkerker 4bdf3d6f30
Make sure OpenAI integration migration is clean (#147627) 2025-06-26 23:03:11 +02:00
Joost Lekkerkerker 4244d2f66f
Set right model in OpenAI conversation (#147575) 2025-06-26 12:49:33 +02:00
Paulus Schoutsen 8eb906fad9
Migrate OpenAI to config subentries (#147282)
* Migrate OpenAI to config subentries

* Add latest changes from Google subentries

* Update homeassistant/components/openai_conversation/__init__.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-24 15:00:05 -04:00
Denis Shulyaka 8c9acf5a4d
Separate steps for openai_conversation options flow (#141533) 2025-06-11 23:54:01 +02:00
Paulus Schoutsen 2956f4fea1
Ensure that OpenAI tool call deltas have a role (#145085) 2025-05-17 09:36:14 -07:00
Seweryn Zeman 494c7aa3da
Removed unused file_id param from open_ai_conversation request (#143878) 2025-05-11 20:33:17 +02:00
Denis Shulyaka 949225ffeb
Bump openai to 1.76.2 (#143902)
* Bump openai to 1.76.1

* Fix mypy

* Fix coverage

* 1.76.2

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-04-30 12:07:55 -04:00
Denis Shulyaka 7074331461
Preserve reasoning during tool calls for openai_conversation (#143699)
Preserve reasoning after tool calls for openai_conversation
2025-04-25 21:12:23 -04:00
Allen Porter 61e4be4456
Update OpenAI conversation agent to allow multiple LLM APIs (#143189) 2025-04-19 11:43:27 +02:00
Denis Shulyaka 195919b5fb
Add PDF support for `openai_conversation.generate_content` service (#141588)
Add PDF support for openai_conversation.generate_content service
2025-03-27 20:05:54 -04:00
Denis Shulyaka c974285490
Add Web search to OpenAI Conversation integration (#141426)
* Add Web search to OpenAI Conversation integration

* Limit search for gpt-4o models

* Add more tests
2025-03-26 09:36:05 -04:00
Denis Shulyaka cb9692f3fb
Raise error when max tokens reached for openai_conversation (#140214)
* Handle ResponseIncompleteEvent

* Updated error text

* Fix tests

* Update conversation.py

* ruff

* More tests

* Handle ResponseFailed and ResponseError

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-03-24 15:49:34 +01:00
Denis Shulyaka bb7b5b9ccb
OpenAI Responses API (#140713) 2025-03-16 13:18:18 -04:00
Tim Laing 13b6cfa438
Add generate content service for OpenAI to match Google AI (#122818)
* Aded Generate Content Service for OpenAI to match Google AI

* Fixed code for commit checks

* Addressed code review comments

* Address review comments

* Addressed @balloob review comments.

* Address futher review comments from @balloob
2025-03-14 22:54:49 -04:00
Paulus Schoutsen 91668e99e3
OpenAI to report when running out of funds (#139088) 2025-02-23 11:51:25 +02:00
Paulus Schoutsen fa3acde684
Make MockChatLog reusable for other integrations (#138112)
* Make MockChatLog reusable for other integrations

* Update tests/components/conversation/__init__.py
2025-02-09 20:19:28 -05:00
Paulus Schoutsen df307aeb6d
Stream OpenAI messages into the chat log (#137400) 2025-02-09 00:01:24 -05:00
Paulus Schoutsen 9679fc7878
Chat session rev2 (#137209)
* Chat Session rev 2

* Rename session to chat_log

* Simplify typing

* Typing

* Address comments

* Fix anthropic and ollama
2025-02-03 00:05:20 -05:00
Denis Shulyaka 0f36759a38
Add support for OpenAI reasoning models (#137139)
* Add support for OpenAI reasoning models

* Apply suggestions from code review

* Remove o1-mini* and o1-preview* model support

* List unsupported models

* Reenable audio models (they also support text)
2025-02-02 16:55:16 -05:00
Paulus Schoutsen 0c68854fdf
Migrate tests from OpenAI to conversation integration (#135963) 2025-01-19 20:32:59 +01:00
Paulus Schoutsen 754de6f998
Add shared history for conversation agents (#135903)
* Add shared history for conversation agents

* Remove unused code

* Add support for native history items

* Store all assistant responses as assistant in history

* Add history support to DefaultAgent.async_handle_intents

* Make local fallback work

* Add default agent history

* Add history cleanup

* Add tests

* ChatHistory -> ChatSession

* Address comments

* Update snapshots
2025-01-18 22:33:03 -05:00
Joost Lekkerkerker 8db63adc11
Bump ruff to 0.9.1 (#135197) 2025-01-14 11:46:12 +01:00
Paulus Schoutsen d13c14eedb
Add support for extra_system_prompt to OpenAI (#134931) 2025-01-06 23:01:13 +01:00
Paulus Schoutsen ba48a86156
OpenAI to not speak out whole errors (#126409)
* OpenAI to not speak out whole errors

* Update snapshot
2024-09-22 21:26:33 -04:00
epenet 135f15fdc3
Improve type hints in openai_conversation tests (#123811) 2024-08-13 16:01:24 +02:00
Paulus Schoutsen adf8515698
OpenAI make supported features reflect the config entry options (#123047) 2024-08-02 12:08:44 +02:00
Allen Porter 8d0e998e54
Improve conversation agent tracing to help with eval and data collection (#122542) 2024-07-31 14:38:44 +02:00
Denis Shulyaka ee30510b23
Remove deprecated DALL-E image formats (#122388) 2024-07-22 21:57:48 +02:00
Paulus Schoutsen 976cb434c9
Add CONTROL supported feature to OpenAI conversation entities (#121064)
Add CONTROL supported feature to OpenAI
2024-07-03 09:19:46 -05:00
epenet fb1b0058ee
Fix consider-using-tuple pylint warnings in component tests (#119464)
* Fix consider-using-tuple pylint warnings in component tests

* Apply su

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-12 15:50:27 +02:00
Paulus Schoutsen 0ea9581cfc
OpenAI to respect custom conversation IDs (#119307) 2024-06-11 07:49:14 +02:00
Paulus Schoutsen 299c0de968
Update OpenAI prompt on each interaction (#118747) 2024-06-03 22:27:05 +02:00
Denis Shulyaka 46da43d09d
Add OpenAI Conversation system prompt `user_name` and `llm_context` variables (#118512)
* OpenAI Conversation: Add variables to the system prompt

* User name and llm_context

* test for user name

* test for user id

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-31 15:28:23 -04:00
Josef Zweck d956db691a
Migrate openai_conversation to `entry.runtime_data` (#118535)
* switch to entry.runtime_data

* check for missing config entry

* Update homeassistant/components/openai_conversation/__init__.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-31 11:16:39 -04:00
Paulus Schoutsen 6dd01dbff7
Rename llm.ToolContext to llm.LLMContext (#118566) 2024-05-31 11:11:24 -04:00
Josef Zweck eae04bf2e9
Add typing for OpenAI client and fallout (#118514)
* typing for client and consequences

* Update homeassistant/components/openai_conversation/conversation.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-30 22:13:18 -04:00
epenet 166c588cac
Add LogCaptureFixture type hints in tests (#118372) 2024-05-29 14:10:00 +02:00
Paulus Schoutsen 615a1eda51
LLM Assist API to ignore intents if not needed for exposed entities or calling device (#118283)
* LLM Assist API to ignore timer intents if device doesn't support it

* Refactor to use API instances

* Extract ToolContext class

* Limit exposed intents based on exposed entities
2024-05-28 21:29:18 -04:00