Pular para o conteúdo principal
Upgrade to Pro
Português
简体中文
繁體中文
繁體中文(香港)
English
日本語
العربية
Deutsch
Español
Français
हिन्दी
Italiano
한국어
Português
Português (Brasil)
Русский

Guia de Configuração de Prompt de IA

Visão Geral

O Immersive Translate suporta configuração personalizada de Prompt para tradução por IA, permitindo que utilizadores avançados ajustem o comportamento da tradução de acordo com as suas necessidades. Este documento fornece instruções detalhadas sobre métodos de configuração, variáveis suportadas e utilização avançada.

Variáveis Suportadas

Variáveis Básicas

  • {{text}} - O conteúdo do texto a ser traduzido
  • {{from}} - Idioma de origem
  • {{to}} - Idioma de destino
  • {{content_type}} - Tipo de texto original (html ou text)

Variáveis de Contexto

  • {{title_prompt}} - Título da página web (quando disponível)
  • {{summary_prompt}} - Resumo do contexto da página web (quando disponível)
  • {{terms_prompt}} - Terminologia profissional relacionada (quando disponível)

Métodos de Configuração

1. System Prompt(systemPrompt)

Pedido de tradução enviado à IA como identidade do sistema. Utilizado para definir o papel da IA e as regras básicas.

2. Prompt(prompt)

Conversa enviada à IA como identidade do utilizador, contendo o conteúdo real que precisa ser traduzido.

3. System Multiple Prompt(systemMultiplePrompt)

Pedido de tradução enviado à IA como identidade do sistema quando o número de parágrafos é superior a 1. Utilizado para lidar com cenários de tradução de múltiplos parágrafos.

4. Multiple Prompt(multiplePrompt)

Pedido enviado como identidade do utilizador para tradução de múltiplos parágrafos. Suporta a utilização de separadores ou formato YAML.

5. Subtitle Prompt(subtitlePrompt)

Quando a tradução de legendas é necessária, conversa enviada à IA como identidade do utilizador, contendo o conteúdo real que precisa ser traduzido.

Exemplos de Configuração Padrão

Se apenas um parágrafo for recolhido, utilizará o Prompt de parágrafo único por padrão. Se múltiplos parágrafos forem recolhidos, utilizará o Prompt de múltiplos parágrafos por padrão. A maioria dos casos será de múltiplos parágrafos. O separador padrão para múltiplos parágrafos é %%. Utilizamos deliberadamente este separador incomum para reduzir alucinações de modelos grandes. Pode usar este Prompt como base para o modificar conforme as suas necessidades. Aqui estão as configurações de Prompt padrão:

Tradução de Parágrafo Único

systemPrompt: |
É um tradutor nativo profissional de {{to}} que precisa traduzir texto fluentemente para {{to}}.

## Regras de Tradução
1. Gere apenas o conteúdo traduzido, sem explicações ou conteúdo adicional (como "Aqui está a tradução:" ou "Tradução como segue:")
2. A tradução retornada deve manter exatamente o mesmo número de parágrafos e formato do texto original
3. Se o texto contiver etiquetas HTML, considere onde as etiquetas devem ser colocadas na tradução mantendo a fluência
4. Para conteúdo que não deve ser traduzido (como nomes próprios, código, etc.), mantenha o texto original
5. Gere a tradução diretamente (sem separadores, sem texto adicional){{title_prompt}}{{summary_prompt}}{{terms_prompt}}
prompt: |
Traduza para {{to}} (gere apenas a tradução):

{{text}}

Tradução de Múltiplos Parágrafos

multipleSystemPrompt: |
É um tradutor nativo profissional de {{to}} que precisa traduzir texto fluentemente para {{to}}.

## Regras de Tradução
1. Gere apenas o conteúdo traduzido, sem explicações ou conteúdo adicional (como "Aqui está a tradução:" ou "Tradução como segue:")
2. A tradução retornada deve manter exatamente o mesmo número de parágrafos e formato do texto original
3. Se o texto contiver etiquetas HTML, considere onde as etiquetas devem ser colocadas na tradução mantendo a fluência
4. Para conteúdo que não deve ser traduzido (como nomes próprios, código, etc.), mantenha o texto original{{title_prompt}}{{summary_prompt}}{{terms_prompt}}

## Exemplos de Formato de Entrada-Saída

### Exemplo de Entrada:
Paragraph A

%%

Paragraph B

%%

Paragraph C

%%

Paragraph D

### Exemplo de Saída:
Translation A

%%

Translation B

%%

Translation C

%%

Translation D

multiplePrompt: |
Traduza para {{to}}:

{{text}}
subtitlePrompt: |
Traduza para {{to}}:

{{text}}

Utilização Avançada (Formato YAML)

Para cenários que requerem controlo mais preciso (por exemplo, saídas de múltiplas etapas), o formato YAML pode ser usado para configuração:

Variáveis Avançadas

  • {{yaml}} - Dados de entrada em formato YAML

A variável 'yaml' padrão parece-se com isto:

- id: 1
text: Hello world
- id: 2
text: How are you?

Esperamos por padrão que a saída do modelo grande seja assim:

- id: 1
text: 你好世界
- id: 2
text: 你好吗?

Se usar o {{yaml}} padrão, precisa expressar claramente essa expectativa no prompt. Se desejar modificar o formato yaml padrão e de resposta, isto não pode ser resolvido através da UI da página de configurações do Immersive Translate. Deve editar diretamente a configuração do utilizador em formato JSON do Immersive Translate.

Caminho de edição da configuração do utilizador: Página de Configurações->Configurações do Programador->Edit Full User Config (Por favor, faça uma cópia de segurança da sua configuração do utilizador antes de editar)

Pode encontrar a configuração do serviço de tradução no JSON da configuração do utilizador (se não existir, simplesmente adicione de acordo com esta estrutura):

{
...
"translationServices": {
"openai": {
...
}
},
...

A variável yaml é composta por env.imt_yaml_item, então pode modificar o formato de imt_yaml_item assim:

  "translationServices": {
"openai": {
"env": {
"imt_yaml_item": "- id: {{id}}\n source: {{text}}"
}
}
}

Outra variável especial é imt_subtitle_yaml_item, semelhante a imt_yaml_item, usada para itens YAML de tradução de legendas.

Para outras variáveis env, pode adicionar qualquer variável env e usá-la diretamente no prompt no formato {{nome_variável}}, como as seguintes variáveis env padrão:

  • {{imt_source_field}} - Nome do campo de texto fonte (padrão: text)
  • {{imt_trans_field}} - Nome do campo de texto traduzido (padrão: text)
  • {{imt_sub_source_field}} - Nome do campo de texto fonte de legendas
  • {{imt_sub_trans_field}} - Nome do campo de texto traduzido de legendas

Incluindo title_prompt, summary_prompt, terms_prompt também são configurados através de env, padrão como segue:

        "title_prompt": "\n\n## Consciência Contextual\nMetadados do Documento:\nTítulo: 《{{imt_title}}》",
"summary_prompt": "\n\n## Consciência Contextual\nMetadados do Documento:\nResumo: {{imt_theme}}...",
"terms_prompt": "\n\nTerminologia Obrigatória: Deve usar os seguintes termos durante a tradução. Se 'source':'target' e source == target, mantenha o termo fonte inalterado.\n\n Termos -> \n\n {{imt_terms}}",
"sub_summary_prompt": "\n\n## Consciência Contextual\nMetadados do Documento:\nTipo: Legenda\nResumo: {{imt_theme}}...",
"sub_terms_prompt": "\n\nTerminologia Obrigatória: Deve usar os seguintes termos durante a tradução. Se 'source':'target' e source == target, mantenha o termo fonte inalterado.\n\n Termos -> \n\n {{imt_terms}}"

Onde imt_title, imt_theme, imt_terms são variáveis especiais injetadas pelo sistema. imt_title é o título, imt_theme é o resumo de toda a página web, imt_terms são os termos-chave extraídos pelo modelo.

Nota: imt_theme, imt_terms são extraídos por um serviço proprietário e estão atualmente disponíveis apenas para membros Pro.

Exemplo de YAML Prompt

systemPrompt: |
É um motor de tradução automática profissional e autêntico.
{{title_prompt}}{{summary_prompt}}{{terms_prompt}}

multiplePrompt: |
Receberá uma entrada em formato YAML contendo entradas com campos "id" e "{{imt_source_field}}". Aqui está a entrada:

<yaml>
{{yaml}}
</yaml>

Para cada entrada no YAML, traduza o conteúdo do campo "{{imt_source_field}}" para {{to}},{{html_only}} escreva a tradução de volta no campo "{{imt_source_field}}" dessa entrada.

Aqui está um exemplo do formato esperado:

{{normal_result_yaml_example}}

Por favor, retorne o YAML traduzido diretamente sem etiqueta <yaml> ou informações adicionais.
subtitlePrompt: |
Receberá uma entrada de legendas em formato YAML contendo entradas com campos "id" e "{{imt_sub_source_field}}". Aqui está a entrada:

<yaml>
{{yaml}}
</yaml>

Para cada entrada no YAML, traduza o conteúdo do campo "{{imt_sub_source_field}}" para {{to}},{{html_only}} escreva a tradução de volta no campo "{{imt_sub_source_field}}" dessa entrada.

Aqui está um exemplo do formato esperado:

{{subtitle_result_yaml_example}}

Por favor, retorne o YAML traduzido diretamente sem etiqueta <yaml> ou informações adicionais.

html_only é uma variável especial que existe apenas quando o texto original a ser traduzido está em formato HTML. O valor é: \n\nNota: Se o texto contiver etiquetas HTML, por favor considere após a tradução onde as etiquetas devem estar no resultado da tradução, mantendo ao mesmo tempo a fluência do resultado., esta variável existe apenas quando o utilizador ativa ativamente "Tradução de Texto Rico" nos serviços de tradução por IA. Caso contrário, está vazia.

normal_result_yaml_example é definido em env, o padrão é:

<example>
Input:
- id: 1
{{imt_source_field}}: Source
Output:
- id: 1
{{imt_trans_field}}: Translation
</example>

subtitle_result_yaml_example é definido em env, o valor padrão é:

<example>
Input:
- id: 1
{{imt_sub_source_field}}: ...
- id: 2
{{imt_sub_source_field}}: ...
- id: 3
{{imt_sub_source_field}}: ...
Output:
- id: 1
{{imt_sub_source_field}}: ...
- id: 2
{{imt_sub_source_field}}: ...
- id: 3
{{imt_sub_source_field}}: ...
</example>

Pode substituí-lo em env.

Exemplo Avançado: Tradução Reflexiva

Este exemplo mostra como usar o formato YAML para implementar um fluxo de tradução mais complexo, incluindo duas etapas: tradução inicial e tradução otimizada:

env:
imt_source_field: source
imt_trans_field: step2 # A tradução final usa o campo step2
imt_sub_source_field: source
imt_sub_trans_field: step2
imt_yaml_item: |-
- id: {{id}}
{{imt_source_field}}: {{text}}
imt_subtitle_yaml_item: |-
- id: {{id}}
{{imt_sub_source_field}}: {{text}}

systemPrompt: |
É um motor de tradução automática profissional e autêntico.
{{title_prompt}}{{summary_prompt}}{{terms_prompt}}

multiplePrompt: |
Aqui está a entrada YAML:
<yaml>
{{yaml}}
</yaml>

Por favor, siga estes passos:
1. Extraia o conteúdo do campo "source" do objeto YAML fornecido.
2. Traduza o conteúdo extraído para {{to}}. Coloque esta tradução inicial no campo step1.
3. Otimize a tradução inicial de step1 para torná-la mais natural e compreensível em {{to}}.
Coloque esta tradução otimizada no campo step2.
4. Formate o resultado como uma matriz YAML com campos id, step1 e step2, como mostrado neste exemplo:

- id: 1
step1: Tradução inicial
step2: Tradução otimizada

Por favor, retorne o YAML traduzido diretamente sem etiquetas <example_output> ou informações adicionais.

Descrição do Fluxo de Trabalho

  1. Formato de Entrada

    - id: 1
    source: "Hello world"
    - id: 2
    source: "How are you?"
  2. Etapas de Processamento de IA

    • Etapa 1: Execute a tradução inicial
    • Etapa 2: Otimize a tradução para torná-la mais natural e fluente
  3. Formato de Saída

    - id: 1
    step1: "你好世界"
    step2: "你好,世界"
    - id: 2
    step1: "你怎么样?"
    step2: "你好吗?"