Arquivo de teste de LLM¶
Este documento testa se o LLM, que traduz a documentação, entende o general_prompt em scripts/translate.py e o prompt específico do idioma em docs/{language code}/llm-prompt.md. O prompt específico do idioma é anexado ao general_prompt.
Os testes adicionados aqui serão vistos por todos os autores dos prompts específicos de idioma.
Use da seguinte forma:
- Tenha um prompt específico do idioma –
docs/{language code}/llm-prompt.md. - Faça uma tradução nova deste documento para o seu idioma de destino (veja, por exemplo, o comando
translate-pagedotranslate.py). Isso criará a tradução emdocs/{language code}/docs/_llm-test.md. - Verifique se está tudo certo na tradução.
- Se necessário, melhore seu prompt específico do idioma, o prompt geral ou o documento em inglês.
- Em seguida, corrija manualmente os problemas restantes na tradução, para que fique uma boa tradução.
- Retraduzir, tendo a boa tradução no lugar. O resultado ideal seria que o LLM não fizesse mais mudanças na tradução. Isso significa que o prompt geral e o seu prompt específico do idioma estão tão bons quanto possível (às vezes fará algumas mudanças aparentemente aleatórias, a razão é que LLMs não são algoritmos determinísticos).
Os testes:
Trechos de código¶
Este é um trecho de código: foo. E este é outro trecho de código: bar. E mais um: baz quux.
O conteúdo dos trechos de código deve ser deixado como está.
Veja a seção ### Content of code snippets no prompt geral em scripts/translate.py.
Citações¶
Ontem, meu amigo escreveu: "Se você soletrar incorretamente corretamente, você a soletrou incorretamente". Ao que respondi: "Correto, mas 'incorrectly' está incorretamente não '"incorrectly"'".
Nota
O LLM provavelmente vai traduzir isso errado. O interessante é apenas se ele mantém a tradução corrigida ao retraduzir.
O autor do prompt pode escolher se deseja converter aspas neutras em aspas tipográficas. Também é aceitável deixá-las como estão.
Veja, por exemplo, a seção ### Quotes em docs/de/llm-prompt.md.
Citações em trechos de código¶
pip install "foo[bar]"
Exemplos de literais de string em trechos de código: "this", 'that'.
Um exemplo difícil de literais de string em trechos de código: f"I like {'oranges' if orange else "apples"}"
Pesado: Yesterday, my friend wrote: "If you spell incorrectly correctly, you have spelled it incorrectly". To which I answered: "Correct, but 'incorrectly' is incorrectly not '"incorrectly"'"
... No entanto, as aspas dentro de trechos de código devem permanecer como estão.
Blocos de código¶
Um exemplo de código Bash...
# Imprimir uma saudação ao universo
echo "Hello universe"
...e um exemplo de código de console...
$ <font color="#4E9A06">fastapi</font> run <u style="text-decoration-style:solid">main.py</u>
<span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span> Starting server
Searching for package file structure
...e outro exemplo de código de console...
// Crie um diretório "Code"
$ mkdir code
// Entre nesse diretório
$ cd code
...e um exemplo de código Python...
wont_work() # Isto não vai funcionar 😱
works(foo="bar") # Isto funciona 🎉
...e é isso.
O código em blocos de código não deve ser modificado, com exceção dos comentários.
Veja a seção ### Content of code blocks no prompt geral em scripts/translate.py.
Abas e caixas coloridas¶
Informação
Algum texto
Nota
Algum texto
Detalhes Técnicos
Algum texto
Verifique
Algum texto
Dica
Algum texto
Atenção
Algum texto
Cuidado
Algum texto
Abas e blocos Info/Note/Warning/etc. devem ter a tradução do seu título adicionada após uma barra vertical (|).
Veja as seções ### Special blocks e ### Tab blocks no prompt geral em scripts/translate.py.
Links da Web e internos¶
O texto do link deve ser traduzido, o endereço do link deve permanecer inalterado:
- Link para o título acima
- Link interno
- Link externo
- Link para um estilo
- Link para um script
- Link para uma imagem
O texto do link deve ser traduzido, o endereço do link deve apontar para a tradução:
Os links devem ser traduzidos, mas seus endereços devem permanecer inalterados. Uma exceção são links absolutos para páginas da documentação do FastAPI. Nesse caso, devem apontar para a tradução.
Veja a seção ### Links no prompt geral em scripts/translate.py.
Elementos HTML "abbr"¶
Aqui estão algumas coisas envolvidas em elementos HTML "abbr" (algumas são inventadas):
O abbr fornece uma frase completa¶
- GTD
lt- XWT
- PSGI
O abbr fornece uma explicação¶
- cluster
- Deep Learning
O abbr fornece uma frase completa e uma explicação¶
- MDN
- I/O.
Os atributos "title" dos elementos "abbr" são traduzidos seguindo algumas instruções específicas.
As traduções podem adicionar seus próprios elementos "abbr" que o LLM não deve remover. Por exemplo, para explicar palavras em inglês.
Veja a seção ### HTML abbr elements no prompt geral em scripts/translate.py.
Títulos¶
Desenvolver uma aplicação web - um tutorial¶
Olá.
Anotações de tipo e -anotações¶
Olá novamente.
Super- e subclasses¶
Olá novamente.
A única regra rígida para títulos é que o LLM deixe a parte do hash dentro de chaves inalterada, o que garante que os links não quebrem.
Veja a seção ### Headings no prompt geral em scripts/translate.py.
Para algumas instruções específicas do idioma, veja, por exemplo, a seção ### Headings em docs/de/llm-prompt.md.
Termos usados na documentação¶
- você
-
seu
-
por exemplo
-
etc.
-
foocomo umint barcomo umastr-
bazcomo umalist -
o Tutorial - Guia do Usuário
- o Guia do Usuário Avançado
- a documentação do SQLModel
- a documentação da API
-
a documentação automática
-
Ciência de Dados
- Deep Learning
- Aprendizado de Máquina
- Injeção de Dependências
- autenticação HTTP Basic
- HTTP Digest
- formato ISO
- o padrão JSON Schema
- o JSON schema
- a definição do schema
- Fluxo de Senha
-
Mobile
-
descontinuado
- projetado
- inválido
- dinamicamente
- padrão
- padrão predefinido
- sensível a maiúsculas e minúsculas
-
não sensível a maiúsculas e minúsculas
-
servir a aplicação
-
servir a página
-
o app
-
a aplicação
-
a requisição
- a resposta
-
a resposta de erro
-
a operação de rota
- o decorador de operação de rota
-
a função de operação de rota
-
o corpo
- o corpo da requisição
- o corpo da resposta
- o corpo JSON
- o corpo do formulário
- o corpo do arquivo
-
o corpo da função
-
o parâmetro
- o parâmetro de corpo
- o parâmetro de path
- o parâmetro de query
- o parâmetro de cookie
- o parâmetro de header
- o parâmetro de formulário
-
o parâmetro da função
-
o evento
- o evento de inicialização
- a inicialização do servidor
- o evento de encerramento
-
o evento de lifespan
-
o manipulador
- o manipulador de eventos
- o manipulador de exceções
-
tratar
-
o modelo
- o modelo Pydantic
- o modelo de dados
- o modelo de banco de dados
- o modelo de formulário
-
o objeto de modelo
-
a classe
- a classe base
- a classe pai
- a subclasse
- a classe filha
- a classe irmã
-
o método de classe
-
o cabeçalho
- os cabeçalhos
- o cabeçalho de autorização
- o cabeçalho
Authorization -
o cabeçalho encaminhado
-
o sistema de injeção de dependências
- a dependência
- o dependable
-
o dependant
-
limitado por I/O
- limitado por CPU
- concorrência
- paralelismo
-
multiprocessamento
-
a env var
- a variável de ambiente
- o
PATH -
a variável
PATH -
a autenticação
- o provedor de autenticação
- a autorização
- o formulário de autorização
- o provedor de autorização
- o usuário se autentica
-
o sistema autentica o usuário
-
a CLI
-
a interface de linha de comando
-
o servidor
-
o cliente
-
o provedor de nuvem
-
o serviço de nuvem
-
o desenvolvimento
-
as etapas de desenvolvimento
-
o dict
- o dicionário
- a enumeração
- o enum
-
o membro do enum
-
o codificador
- o decodificador
- codificar
-
decodificar
-
a exceção
-
lançar
-
a expressão
-
a instrução
-
o frontend
-
o backend
-
a discussão do GitHub
-
a issue do GitHub
-
o desempenho
-
a otimização de desempenho
-
o tipo de retorno
-
o valor de retorno
-
a segurança
-
o esquema de segurança
-
a tarefa
- a tarefa em segundo plano
-
a função da tarefa
-
o template
-
o mecanismo de template
-
a anotação de tipo
-
a anotação de tipo
-
o worker de servidor
- o worker do Uvicorn
- o Worker do Gunicorn
- o processo worker
- a classe de worker
-
a carga de trabalho
-
a implantação
-
implantar
-
o SDK
-
o kit de desenvolvimento de software
-
o
APIRouter - o
requirements.txt - o Bearer Token
- a alteração com quebra de compatibilidade
- o bug
- o botão
- o chamável
- o código
- o commit
- o gerenciador de contexto
- a corrotina
- a sessão do banco de dados
- o disco
- o domínio
- o mecanismo
- o X falso
- o método HTTP GET
- o item
- a biblioteca
- o lifespan
- o bloqueio
- o middleware
- a aplicação mobile
- o módulo
- a montagem
- a rede
- a origem
- a sobrescrita
- a carga útil
- o processador
- a propriedade
- o proxy
- o pull request
- a consulta
- a RAM
- a máquina remota
- o código de status
- a string
- a tag
- o framework web
- o curinga
- retornar
- validar
Esta é uma lista não completa e não normativa de termos (principalmente) técnicos vistos na documentação. Pode ser útil para o autor do prompt descobrir para quais termos o LLM precisa de uma ajudinha. Por exemplo, quando ele continua revertendo uma boa tradução para uma tradução subótima. Ou quando tem problemas para conjugar/declinar um termo no seu idioma.
Veja, por exemplo, a seção ### List of English terms and their preferred German translations em docs/de/llm-prompt.md.