370 lines
9.5 KiB
YAML
370 lines
9.5 KiB
YAML
discourse_ai:
|
|
discourse_ai_enabled:
|
|
default: true
|
|
client: true
|
|
|
|
ai_toxicity_enabled:
|
|
default: false
|
|
client: true
|
|
ai_toxicity_inference_service_api_endpoint:
|
|
default: "https://disorder-testing.demo-by-discourse.com"
|
|
ai_toxicity_inference_service_api_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_toxicity_inference_service_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_toxicity_inference_service_api_model:
|
|
type: enum
|
|
default: unbiased
|
|
choices:
|
|
- unbiased
|
|
- multilingual
|
|
- original
|
|
ai_toxicity_flag_automatically:
|
|
default: false
|
|
client: false
|
|
ai_toxicity_flag_threshold_toxicity:
|
|
default: 80
|
|
client: false
|
|
ai_toxicity_flag_threshold_severe_toxicity:
|
|
default: 30
|
|
client: false
|
|
ai_toxicity_flag_threshold_obscene:
|
|
default: 80
|
|
client: false
|
|
ai_toxicity_flag_threshold_identity_attack:
|
|
default: 60
|
|
client: false
|
|
ai_toxicity_flag_threshold_insult:
|
|
default: 60
|
|
client: false
|
|
ai_toxicity_flag_threshold_threat:
|
|
default: 60
|
|
client: false
|
|
ai_toxicity_flag_threshold_sexual_explicit:
|
|
default: 60
|
|
client: false
|
|
ai_toxicity_groups_bypass:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3" # 3: @staff
|
|
allow_any: false
|
|
refresh: true
|
|
|
|
ai_sentiment_enabled:
|
|
default: false
|
|
client: true
|
|
ai_sentiment_inference_service_api_endpoint:
|
|
default: "https://sentiment-testing.demo-by-discourse.com"
|
|
ai_sentiment_inference_service_api_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_sentiment_inference_service_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_sentiment_models:
|
|
type: list
|
|
list_type: compact
|
|
default: "emotion"
|
|
allow_any: false
|
|
choices:
|
|
- sentiment
|
|
- emotion
|
|
|
|
ai_nsfw_detection_enabled: false
|
|
ai_nsfw_inference_service_api_endpoint:
|
|
default: "https://nsfw-testing.demo-by-discourse.com"
|
|
ai_nsfw_inference_service_api_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_nsfw_inference_service_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_nsfw_flag_automatically: true
|
|
ai_nsfw_flag_threshold_general: 60
|
|
ai_nsfw_flag_threshold_drawings: 60
|
|
ai_nsfw_flag_threshold_hentai: 60
|
|
ai_nsfw_flag_threshold_porn: 60
|
|
ai_nsfw_flag_threshold_sexy: 70
|
|
ai_nsfw_models:
|
|
type: list
|
|
list_type: compact
|
|
default: "opennsfw2"
|
|
allow_any: false
|
|
choices:
|
|
- opennsfw2
|
|
- nsfw_detector
|
|
|
|
ai_openai_gpt35_url: "https://api.openai.com/v1/chat/completions"
|
|
ai_openai_gpt35_16k_url: "https://api.openai.com/v1/chat/completions"
|
|
ai_openai_gpt4o_url: "https://api.openai.com/v1/chat/completions"
|
|
ai_openai_gpt4_url: "https://api.openai.com/v1/chat/completions"
|
|
ai_openai_gpt4_32k_url: "https://api.openai.com/v1/chat/completions"
|
|
ai_openai_gpt4_turbo_url: "https://api.openai.com/v1/chat/completions"
|
|
ai_openai_dall_e_3_url: "https://api.openai.com/v1/images/generations"
|
|
ai_openai_embeddings_url: "https://api.openai.com/v1/embeddings"
|
|
ai_openai_organization: ""
|
|
ai_openai_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_anthropic_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_anthropic_native_tool_call_models:
|
|
type: list
|
|
list_type: compact
|
|
default: "claude-3-sonnet|claude-3-haiku"
|
|
allow_any: false
|
|
choices:
|
|
- claude-3-opus
|
|
- claude-3-sonnet
|
|
- claude-3-haiku
|
|
- claude-3-5-sonnet
|
|
ai_cohere_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_stability_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_stability_api_url:
|
|
default: "https://api.stability.ai"
|
|
ai_stability_engine:
|
|
default: "stable-diffusion-xl-1024-v1-0"
|
|
type: enum
|
|
choices:
|
|
- "sd3"
|
|
- "sd3-turbo"
|
|
- "stable-diffusion-xl-1024-v1-0"
|
|
- "stable-diffusion-768-v2-1"
|
|
- "stable-diffusion-v1-5"
|
|
ai_hugging_face_api_url:
|
|
default: ""
|
|
ai_hugging_face_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_hugging_face_token_limit:
|
|
default: 4096
|
|
ai_hugging_face_model_display_name:
|
|
default: ""
|
|
ai_hugging_face_tei_endpoint:
|
|
default: ""
|
|
ai_hugging_face_tei_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_hugging_face_tei_api_key: ""
|
|
ai_hugging_face_tei_reranker_endpoint:
|
|
default: ""
|
|
ai_hugging_face_tei_reranker_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_hugging_face_tei_reranker_api_key: ""
|
|
ai_google_custom_search_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_google_custom_search_cx:
|
|
default: ""
|
|
ai_bedrock_access_key_id:
|
|
default: ""
|
|
secret: true
|
|
ai_bedrock_secret_access_key:
|
|
default: ""
|
|
secret: true
|
|
ai_bedrock_region:
|
|
default: "us-east-1"
|
|
ai_cloudflare_workers_account_id:
|
|
default: ""
|
|
secret: true
|
|
ai_cloudflare_workers_api_token:
|
|
default: ""
|
|
secret: true
|
|
ai_gemini_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_vllm_endpoint:
|
|
default: ""
|
|
ai_vllm_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_vllm_api_key: ""
|
|
ai_llava_endpoint:
|
|
default: ""
|
|
ai_llava_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_llava_api_key: ""
|
|
ai_strict_token_counting:
|
|
default: false
|
|
hidden: true
|
|
ai_ollama_endpoint:
|
|
hidden: true
|
|
default: ""
|
|
|
|
composer_ai_helper_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
ai_helper_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3|14" # 3: @staff, 14: @trust_level_4
|
|
allow_any: false
|
|
refresh: true
|
|
ai_helper_allowed_in_pm:
|
|
default: false
|
|
client: true
|
|
ai_helper_model:
|
|
default: ""
|
|
allow_any: false
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::LlmEnumerator"
|
|
validator: "DiscourseAi::Configuration::LlmValidator"
|
|
ai_helper_custom_prompts_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3" # 3: @staff
|
|
allow_any: false
|
|
refresh: true
|
|
post_ai_helper_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3|14" # 3: @staff, 14: @trust_level_4
|
|
allow_any: false
|
|
refresh: true
|
|
ai_helper_automatic_chat_thread_title:
|
|
default: false
|
|
ai_helper_automatic_chat_thread_title_delay:
|
|
default: 5
|
|
ai_helper_illustrate_post_model:
|
|
default: disabled
|
|
type: enum
|
|
choices:
|
|
- stable_diffusion_xl
|
|
- dall_e_3
|
|
- disabled
|
|
ai_helper_enabled_features:
|
|
client: true
|
|
default: "suggestions|context_menu"
|
|
type: list
|
|
list_type: compact
|
|
allow_any: false
|
|
refresh: true
|
|
choices:
|
|
- "suggestions"
|
|
- "context_menu"
|
|
- "image_caption"
|
|
ai_helper_image_caption_model:
|
|
default: "llava"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::LlmVisionEnumerator"
|
|
ai_auto_image_caption_allowed_groups:
|
|
client: true
|
|
type: group_list
|
|
list_type: compact
|
|
default: "10" # 10: @trust_level_0
|
|
allow_any: false
|
|
refresh: true
|
|
|
|
ai_embeddings_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::EmbeddingsModuleValidator"
|
|
ai_embeddings_discourse_service_api_endpoint: ""
|
|
ai_embeddings_discourse_service_api_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_embeddings_discourse_service_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_embeddings_model:
|
|
type: enum
|
|
default: "bge-large-en"
|
|
allow_any: false
|
|
choices:
|
|
- all-mpnet-base-v2
|
|
- text-embedding-ada-002
|
|
- text-embedding-3-small
|
|
- text-embedding-3-large
|
|
- multilingual-e5-large
|
|
- bge-large-en
|
|
- gemini
|
|
- bge-m3
|
|
validator: "DiscourseAi::Configuration::EmbeddingsModelValidator"
|
|
ai_embeddings_per_post_enabled:
|
|
default: false
|
|
hidden: true
|
|
ai_embeddings_generate_for_pms: false
|
|
ai_embeddings_semantic_related_topics_enabled:
|
|
default: false
|
|
client: true
|
|
ai_embeddings_semantic_related_topics: 5
|
|
ai_embeddings_semantic_related_include_closed_topics: true
|
|
ai_embeddings_backfill_batch_size:
|
|
default: 250
|
|
hidden: true
|
|
ai_embeddings_pg_connection_string:
|
|
default: ""
|
|
hidden: true
|
|
ai_embeddings_semantic_search_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
ai_embeddings_semantic_search_hyde_model:
|
|
default: ""
|
|
type: enum
|
|
allow_any: false
|
|
enum: "DiscourseAi::Configuration::LlmEnumerator"
|
|
validator: "DiscourseAi::Configuration::LlmValidator"
|
|
ai_embeddings_semantic_quick_search_enabled:
|
|
default: false
|
|
client: true
|
|
hidden: true
|
|
|
|
ai_summarization_discourse_service_api_endpoint: ""
|
|
ai_summarization_discourse_service_api_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_summarization_discourse_service_api_key:
|
|
default: ""
|
|
secret: true
|
|
|
|
ai_bot_enabled:
|
|
default: false
|
|
client: true
|
|
ai_bot_enable_chat_warning:
|
|
default: false
|
|
client: true
|
|
ai_bot_debugging_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: ""
|
|
allow_any: false
|
|
ai_bot_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3|14" # 3: @staff, 14: @trust_level_4
|
|
ai_bot_public_sharing_allowed_groups:
|
|
client: false
|
|
type: group_list
|
|
list_type: compact
|
|
default: "1|2" # 1: admins, 2: moderators
|
|
allow_any: false
|
|
refresh: true
|
|
ai_bot_enabled_chat_bots: # TODO(roman): Remove setting. Deprecated
|
|
type: list
|
|
default: "gpt-3.5-turbo"
|
|
hidden: true
|
|
choices: "DiscourseAi::Configuration::LlmEnumerator.available_ai_bots"
|
|
ai_bot_add_to_header:
|
|
default: true
|
|
client: true
|
|
ai_bot_github_access_token:
|
|
default: ""
|
|
secret: true
|
|
ai_automation_max_triage_per_minute:
|
|
default: 60
|
|
hidden: true
|
|
ai_automation_max_triage_per_post_per_minute:
|
|
default: 2
|
|
hidden: true
|