mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-03-06 17:30:20 +00:00
This PR aims to clarify sentiment reports by replacing averages with a count of posts that have one of their values above a threshold (60), meaning we have some level of confidence they are, in fact, positive or negative. Same thing happen with post emotions, with the difference that a post can have multiple values above it (30). Additionally, we dropped the "Neutral" axis. We also reworded the tooltip next to each report title, and added an early return to signal we have no data available instead of displaying an empty chart.
203 lines
11 KiB
YAML
203 lines
11 KiB
YAML
en:
|
|
discourse_automation:
|
|
scriptables:
|
|
llm_triage:
|
|
title: Triage posts using AI
|
|
description: "Triage posts using a large language model"
|
|
system_prompt_missing_post_placeholder: "System prompt must contain a placeholder for the post: %%POST%%"
|
|
site_settings:
|
|
discourse_ai_enabled: "Enable the discourse AI plugin."
|
|
ai_toxicity_enabled: "Enable the toxicity module."
|
|
ai_toxicity_inference_service_api_endpoint: "URL where the API is running for the toxicity module"
|
|
ai_toxicity_inference_service_api_key: "API key for the toxicity API"
|
|
ai_toxicity_inference_service_api_model: "Model to use for inference. Multilingual model works with Italian, French, Russian, Portuguese, Spanish and Turkish."
|
|
ai_toxicity_flag_automatically: "Automatically flag posts / chat messages that are above the configured thresholds."
|
|
ai_toxicity_flag_threshold_toxicity: "Toxicity: a rude, disrespectful, or unreasonable comment that is somewhat likely to make you leave a discussion or give up on sharing your perspective"
|
|
ai_toxicity_flag_threshold_severe_toxicity: "Severe Toxicity: a very hateful, aggressive, or disrespectful comment that is very likely to make you leave a discussion or give up on sharing your perspective"
|
|
ai_toxicity_flag_threshold_obscene: "Obscene"
|
|
ai_toxicity_flag_threshold_identity_attack: "Identity Attack"
|
|
ai_toxicity_flag_threshold_insult: "Insult"
|
|
ai_toxicity_flag_threshold_threat: "Threat"
|
|
ai_toxicity_flag_threshold_sexual_explicit: "Sexual Explicit"
|
|
ai_toxicity_groups_bypass: "Users on those groups will not have their posts classified by the toxicity module."
|
|
|
|
ai_sentiment_enabled: "Enable the sentiment module."
|
|
ai_sentiment_inference_service_api_endpoint: "URL where the API is running for the sentiment module"
|
|
ai_sentiment_inference_service_api_key: "API key for the sentiment API"
|
|
ai_sentiment_models: "Models to use for inference. Sentiment classifies post on the positive/neutral/negative space. Emotion classifies on the anger/disgust/fear/joy/neutral/sadness/surprise space."
|
|
|
|
ai_nsfw_detection_enabled: "Enable the NSFW module."
|
|
ai_nsfw_inference_service_api_endpoint: "URL where the API is running for the NSFW module"
|
|
ai_nsfw_inference_service_api_key: "API key for the NSFW API"
|
|
ai_nsfw_flag_automatically: "Automatically flag NSFW posts that are above the configured thresholds."
|
|
ai_nsfw_flag_threshold_general: "General Threshold for an image to be considered NSFW."
|
|
ai_nsfw_flag_threshold_drawings: "Threshold for a drawing to be considered NSFW."
|
|
ai_nsfw_flag_threshold_hentai: "Threshold for an image classified as hentai to be considered NSFW."
|
|
ai_nsfw_flag_threshold_porn: "Threshold for an image classified as porn to be considered NSFW."
|
|
ai_nsfw_flag_threshold_sexy: "Threshold for an image classified as sexy to be considered NSFW."
|
|
ai_nsfw_models: "Models to use for NSFW inference."
|
|
|
|
ai_openai_gpt35_url: "Custom URL used for GPT 3.5 chat completions. (for Azuer support)"
|
|
ai_openai_gpt35_16k_url: "Custom URL used for GPT 3.5 16k chat completions. (for Azure support)"
|
|
ai_openai_gpt4_url: "Custom URL used for GPT 4 chat completions. (for Azure support)"
|
|
ai_openai_gpt4_32k_url: "Custom URL used for GPT 4 32k chat completions. (for Azure support)"
|
|
ai_openai_organization: "(Optional, leave empty to omit) Organization id used for the OpenAI API. Passed in using the OpenAI-Organization header."
|
|
ai_openai_embeddings_url: "Custom URL used for the OpenAI embeddings API. (in the case of Azure it can be: https://COMPANY.openai.azure.com/openai/deployments/DEPLOYMENT/embeddings?api-version=2023-05-15)"
|
|
ai_openai_api_key: "API key for OpenAI API"
|
|
ai_anthropic_api_key: "API key for Anthropic API"
|
|
ai_hugging_face_api_url: "Custom URL used for OpenSource LLM inference. Compatible with https://github.com/huggingface/text-generation-inference"
|
|
|
|
composer_ai_helper_enabled: "Enable the Composer's AI helper."
|
|
ai_helper_allowed_groups: "Users on these groups will see the AI helper button in the composer."
|
|
ai_helper_allowed_in_pm: "Enable the composer's AI helper in PMs."
|
|
ai_helper_model: "Model to use for the AI helper."
|
|
ai_helper_custom_prompts_allowed_groups: "Users on these groups will see the custom prompt option in the AI helper."
|
|
|
|
ai_embeddings_enabled: "Enable the embeddings module."
|
|
ai_embeddings_discourse_service_api_endpoint: "URL where the API is running for the embeddings module"
|
|
ai_embeddings_discourse_service_api_key: "API key for the embeddings API"
|
|
ai_embeddings_model: "Use all-mpnet-base-v2 for local and fast inference in english, text-embedding-ada-002 to use OpenAI API (need API key) and multilingual-e5-large for local multilingual embeddings"
|
|
ai_embeddings_generate_for_pms: "Generate embeddings for personal messages."
|
|
ai_embeddings_semantic_related_topics_enabled: "Use Semantic Search for related topics."
|
|
ai_embeddings_semantic_related_topics: "Maximum number of topics to show in related topic section."
|
|
ai_embeddings_backfill_batch_size: "Number of embeddings to backfill every 15 minutes."
|
|
ai_embeddings_pg_connection_string: "PostgreSQL connection string for the embeddings module. Needs pgvector extension enabled and a series of tables created. See docs for more info."
|
|
ai_embeddings_semantic_search_enabled: "Enable full-page semantic search."
|
|
ai_embeddings_semantic_related_include_closed_topics: "Include closed topics in semantic search results"
|
|
ai_embeddings_semantic_search_hyde_model: "Model used to expand keywords to get better results during a semantic search"
|
|
|
|
ai_summarization_discourse_service_api_endpoint: "URL where the Discourse summarization API is running."
|
|
ai_summarization_discourse_service_api_key: "API key for the Discourse summarization API."
|
|
|
|
ai_bot_enabled: "Enable the AI Bot module."
|
|
ai_bot_enable_chat_warning: "Display a warning when PM chat is initiated. Can be overriden by editing the translation string: discourse_ai.ai_bot.pm_warning"
|
|
ai_bot_allowed_groups: "When the GPT Bot has access to the PM, it will reply to members of these groups."
|
|
ai_bot_enabled_chat_bots: "Available models to act as an AI Bot"
|
|
ai_bot_enabled_chat_commands: "Available GPT integrations used to provide external functionality to the Forum Helper bot, keep in mind that certain commands may only be available if appropriate API keys are added."
|
|
ai_bot_add_to_header: "Display a button in the header to start a PM with a AI Bot"
|
|
ai_bot_enabled_personas: "List of personas available for the AI Bot"
|
|
|
|
ai_stability_api_key: "API key for the stability.ai API"
|
|
ai_stability_engine: "Image generation engine to use for the stability.ai API"
|
|
ai_stability_api_url: "URL for the stability.ai API"
|
|
|
|
ai_google_custom_search_api_key: "API key for the Google Custom Search API see: https://developers.google.com/custom-search"
|
|
ai_google_custom_search_cx: "CX for Google Custom Search API"
|
|
|
|
ai_bedrock_access_key_id: "Access key ID for the Bedrock API"
|
|
ai_bedrock_secret_access_key: "Secret access key for the Bedrock API"
|
|
ai_bedrock_region: "AWS region for the Bedrock API"
|
|
ai_cloudflare_workers_account_id: "Cloudflare account ID for the Cloudflare Workers AI API"
|
|
ai_cloudflare_workers_api_token: "API token for the Cloudflare Workers AI API"
|
|
|
|
reviewables:
|
|
reasons:
|
|
flagged_by_toxicity: The AI plugin flagged this after classifying it as toxic.
|
|
flagged_by_nsfw: The AI plugin flagged this after classifying at least one of the attached images as NSFW.
|
|
|
|
errors:
|
|
prompt_message_length: The message %{idx} is over the 1000 character limit.
|
|
invalid_prompt_role: The message %{idx} has an invalid role.
|
|
|
|
reports:
|
|
overall_sentiment:
|
|
title: "Overall sentiment"
|
|
description: "This chart compares the number of posts classified either positive or negative."
|
|
xaxis: "Positive(%)"
|
|
yaxis: "Date"
|
|
post_emotion:
|
|
title: "Post emotion"
|
|
description: "Number of posts classified with one of the following emotions, grouped by poster's trust level."
|
|
xaxis:
|
|
yaxis:
|
|
|
|
discourse_ai:
|
|
ai_helper:
|
|
errors:
|
|
completion_request_failed: "Something went wrong while trying to provide suggestions. Please, try again."
|
|
prompts:
|
|
translate: Translate to English
|
|
generate_titles: Suggest topic titles
|
|
proofread: Proofread text
|
|
markdown_table: Generate Markdown table
|
|
custom_prompt: "Custom Prompt"
|
|
explain: "Explain"
|
|
|
|
ai_bot:
|
|
personas:
|
|
general:
|
|
name: Forum Helper
|
|
description: "General purpose AI Bot capable of performing various tasks"
|
|
artist:
|
|
name: Artist
|
|
description: "AI Bot specialized in generating images"
|
|
sql_helper:
|
|
name: SQL Helper
|
|
description: "AI Bot specialized in helping craft SQL queries on this Discourse instance"
|
|
settings_explorer:
|
|
name: Settings Explorer
|
|
description: "AI Bot specialized in helping explore Discourse site settings"
|
|
researcher:
|
|
name: Researcher
|
|
description: "AI Bot with Google access that can research information for you"
|
|
creative:
|
|
name: Creative
|
|
description: "AI Bot with no external integrations specialized in creative tasks"
|
|
topic_not_found: "Summary unavailable, topic not found!"
|
|
searching: "Searching for: '%{query}'"
|
|
command_summary:
|
|
categories: "List categories"
|
|
search: "Search"
|
|
tags: "List tags"
|
|
time: "Time"
|
|
summarize: "Summarize"
|
|
image: "Generate image"
|
|
google: "Search Google"
|
|
read: "Read topic"
|
|
setting_context: "Look up site setting context"
|
|
schema: "Look up database schema"
|
|
search_settings: "Searching site settings"
|
|
command_description:
|
|
read: "Reading: <a href='%{url}'>%{title}</a>"
|
|
time: "Time in %{timezone} is %{time}"
|
|
summarize: "Summarized <a href='%{url}'>%{title}</a>"
|
|
image: "%{prompt}"
|
|
categories:
|
|
one: "Found %{count} category"
|
|
other: "Found %{count} categories"
|
|
tags:
|
|
one: "Found %{count} tag"
|
|
other: "Found %{count} tags"
|
|
search:
|
|
one: "Found %{count} <a href='%{url}'>result</a> for '%{query}'"
|
|
other: "Found %{count} <a href='%{url}'>results</a> for '%{query}'"
|
|
google:
|
|
one: "Found %{count} <a href='%{url}'>result</a> for '%{query}'"
|
|
other: "Found %{count} <a href='%{url}'>results</a> for '%{query}'"
|
|
setting_context: "Reading context for: %{setting_name}"
|
|
schema: "%{tables}"
|
|
search_settings:
|
|
one: "Found %{count} result for '%{query}'"
|
|
other: "Found %{count} results for '%{query}'"
|
|
|
|
summarization:
|
|
configuration_hint:
|
|
one: "Configure the `%{setting}` setting first."
|
|
other: "Configure these settings first: %{settings}"
|
|
|
|
sentiment:
|
|
reports:
|
|
overall_sentiment:
|
|
positive: "Positive"
|
|
negative: "Negative"
|
|
post_emotion:
|
|
tl_01: "Trust levels 0-1"
|
|
tl_234: "Trust levels 2+"
|
|
sadness: "Sadness"
|
|
surprise: "Surprise"
|
|
neutral: "Neutral"
|
|
fear: "Fear"
|
|
anger: "Anger"
|
|
joy: "Joy"
|
|
disgust: "Disgust"
|