| 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> | ||
|---|---|---|
| .github/workflows | ||
| admin/assets/javascripts/discourse | ||
| app | ||
| assets | ||
| config | ||
| db | ||
| discourse_automation | ||
| evals | ||
| lib | ||
| public/ai-share | ||
| spec | ||
| svg-icons | ||
| test/javascripts | ||
| tokenizers | ||
| .discourse-compatibility | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.cjs | ||
| .rubocop.yml | ||
| .streerc | ||
| .template-lintrc.cjs | ||
| Gemfile | ||
| Gemfile.lock | ||
| LICENSE | ||
| README.md | ||
| about.json | ||
| eslint.config.mjs | ||
| package.json | ||
| plugin.rb | ||
| pnpm-lock.yaml | ||
| stylelint.config.mjs | ||
| translator.yml | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	Discourse AI Plugin
Plugin Summary
For more information, please see: https://meta.discourse.org/t/discourse-ai/259214?u=falco
Evals
The directory evals contains AI evals for the Discourse AI plugin.
You may create a local config by copying config/eval-llms.yml to config/eval-llms.local.yml and modifying the values.
To run them use:
cd evals ./run --help
Usage: evals/run [options]
    -e, --eval NAME                  Name of the evaluation to run
        --list-models                List models
    -m, --model NAME                 Model to evaluate (will eval all models if not specified)
    -l, --list                       List evals
To run evals you will need to configure API keys in your environment:
OPENAI_API_KEY=your_openai_api_key ANTHROPIC_API_KEY=your_anthropic_api_key GEMINI_API_KEY=your_gemini_api_key