discourse-ai/lib/personas
Sam 17f04c76d8
FEATURE: add OpenAI image generation and editing capabilities (#1293)
This commit enhances the AI image generation functionality by adding support for:

1. OpenAI's GPT-based image generation model (gpt-image-1)
2. Image editing capabilities through the OpenAI API
3. A new "Designer" persona specialized in image generation and editing
4. Two new AI tools: CreateImage and EditImage

Technical changes include:
- Renaming `ai_openai_dall_e_3_url` to `ai_openai_image_generation_url` with a migration
- Adding `ai_openai_image_edit_url` setting for the image edit API endpoint
- Refactoring image generation code to handle both DALL-E and the newer GPT models
- Supporting multipart/form-data for image editing requests

* wild guess but maybe quantization is breaking the test sometimes

this increases distance

* Update lib/personas/designer.rb

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>

* simplify and de-flake code

* fix, in chat we need enough context so we know exactly what uploads a user uploaded.

* Update lib/personas/tools/edit_image.rb

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>

* cleanup downloaded files right away

* fix implementation

---------

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2025-04-29 17:38:54 +10:00
..
artifact_update_strategies REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
tools FEATURE: add OpenAI image generation and editing capabilities (#1293) 2025-04-29 17:38:54 +10:00
artist.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
bot.rb FEATURE: Personas powered summaries. (#1232) 2025-04-02 12:54:47 -03:00
bot_context.rb FEATURE: Personas powered summaries. (#1232) 2025-04-02 12:54:47 -03:00
creative.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
dall_e_3.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
designer.rb FEATURE: add OpenAI image generation and editing capabilities (#1293) 2025-04-29 17:38:54 +10:00
discourse_helper.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
general.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
github_helper.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
persona.rb FEATURE: add OpenAI image generation and editing capabilities (#1293) 2025-04-29 17:38:54 +10:00
question_consolidator.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
researcher.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
settings_explorer.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
short_summarizer.rb FEATURE: Personas powered summaries. (#1232) 2025-04-02 12:54:47 -03:00
sql_helper.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00
summarizer.rb FEATURE: Personas powered summaries. (#1232) 2025-04-02 12:54:47 -03:00
tool_runner.rb FEATURE: allow tools to amend personas (#1250) 2025-04-09 15:48:25 +10:00
web_artifact_creator.rb REFACTOR: Move personas into its own module. (#1233) 2025-03-31 14:42:33 -03:00