| @@ -1,5 +1,18 @@ | |||||
| # 2026-02-04 | # 2026-02-04 | ||||
| ## baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter) | |||||
| **TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities. | |||||
| These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations: | |||||
| ```yaml | |||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_web_search: true | |||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_code_interpreter: true | |||||
| ``` | |||||
| Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details. | |||||
| ## Whoami-based sync worker routing for improved sticky sessions for Synapse | ## Whoami-based sync worker routing for improved sticky sessions for Synapse | ||||
| Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami)). | Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami)). | ||||
| @@ -243,6 +243,12 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: "YOUR_ | |||||
| # If you'd like to use another text-generation agent, uncomment and adjust: | # If you'd like to use another text-generation agent, uncomment and adjust: | ||||
| # matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4.1 | # matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4.1 | ||||
| # Uncomment below to enable OpenAI's built-in tools. | |||||
| # These tools are disabled by default. Enabling them may incur additional costs. | |||||
| # See: https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only | |||||
| # matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_web_search: true | |||||
| # matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_code_interpreter: true | |||||
| ``` | ``` | ||||
| Because this is a [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration)-defined agent, it will be given a `static/` ID prefix and will be named `static/openai`. | Because this is a [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration)-defined agent, it will be given a `static/` ID prefix and will be named `static/openai`. | ||||
| @@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio | |||||
| matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src" | matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src" | ||||
| # renovate: datasource=docker depName=ghcr.io/etkecc/baibot | # renovate: datasource=docker depName=ghcr.io/etkecc/baibot | ||||
| matrix_bot_baibot_version: v1.13.0 | |||||
| matrix_bot_baibot_version: v1.14.0 | |||||
| matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" | matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" | ||||
| matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}" | matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}" | ||||
| matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}" | matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}" | ||||
| @@ -395,6 +395,11 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation | |||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: ~ | matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: ~ | ||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: 128000 | matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: 128000 | ||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 400000 | matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 400000 | ||||
| # Built-in tools configuration (OpenAI only). | |||||
| # These tools extend the model's capabilities but are disabled by default following upstream defaults. | |||||
| # See: https://github.com/etkecc/baibot/blob/main/docs/features.md#%EF%B8%8F-built-in-tools-openai-only | |||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_web_search: false | |||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_code_interpreter: false | |||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true | matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true | ||||
| matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_model_id: whisper-1 | matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_model_id: whisper-1 | ||||
| @@ -15,6 +15,9 @@ text_generation: | |||||
| max_completion_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens | int | to_json }} | max_completion_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens | int | to_json }} | ||||
| {% endif %} | {% endif %} | ||||
| max_context_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens | int | to_json }} | max_context_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens | int | to_json }} | ||||
| tools: | |||||
| web_search: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_web_search | to_json }} | |||||
| code_interpreter: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_code_interpreter | to_json }} | |||||
| {% endif %} | {% endif %} | ||||
| {% if matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled %} | {% if matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled %} | ||||