Perguntas práticas de codificação respondidas por GPT3: está pronto para o horário nobre?
Pode facilmente experimentar o GPT3 para si próprio, basta registar-se para uma conta OpenAI, e receberá (no momento em que o escrever) 18 USD de crédito. Siga para o seguinte link:
https://platform.openai.com/playground
Aqui pode introduzir a sua pergunta, e submetê-la. GPT3 irá responder na mesma caixa de texto.
Há três parâmetros de interesse imediato:
- Modelo - Sugiro que deixe este texto publicitário -davinci-003. Também pode experimentar o códice, código-davinci-002
- Temperatura - 0,7 é o valor que utilizo normalmente (controla a aleatoriedade da resposta / como o GPT3 "criativo" vai ficar)
- Comprimento máximo - quantos tokens deve o modelo gerar ao máximo? Nota, a quantidade total de fichas que introduzir contará também contra o limite técnico - actualmente 4000 fichas para text-davinci-003
Os tokens, a propósito, são a unidade básica "moeda", pode-se pensar neles como palavras ou partes de palavras. As palavras curtas e comuns em inglês serão normalmente uma ficha, enquanto as palavras mais longas serão divididas em várias fichas.
Utilizar o GPT3 para acelerar a sua codificação
Cada desenvolvedor sabe que muito do desenvolvimento inclui procurar bibliotecas, ler como utilizar as APIs, e como trabalhar com diferentes objectos.
Tenho começado a usar o GPT3 como ajuda, enquanto codificava o JavaScript, e experimentei-o também no Crystal Lang.
(partes do PiCockpit são codificadas em Crystal Lang - porque sou fã da linguagem Ruby, e Crystal lang pretende ter uma sintaxe parecida com Ruby, e uma performance parecida com C).
Tem sido útil em várias ocasiões, por exemplo, para resolver questões como se eu deveria incluir espaços na sintaxe do JSON entre chaves e valores. Ou como converter "requerer" para "importar" sintaxe para JavaScript.
É bom a responder a perguntas, e muito raramente lhe dirá que não pode responder à pergunta. O principal a ter em mente, no entanto, é que se trata de uma máquina estatística com a qual está a lidar.
E por vezes as respostas parecerão plausíveis, mas desfazem-se quando se tenta o código.
Exemplo de ajuda JavaScript GPT3
Para um projecto, precisava de validar endereços de correio electrónico usando o node.js. GPT3 sugeriu a biblioteca "emailvalidator", e deu um simples código de exemplo. Quando tentei geri-la, falhei.
Revi então a documentação da biblioteca "emailvalidator", que de facto existe. Acontece que esta biblioteca (em meu entender) requer Redis, e uma configuração mais complicada em geral. Exagero para a minha simples aplicação. O GPT3 não me avisou desse facto no seu código de amostra.
No entanto, a biblioteca npm, igualmente chamada de "validador de e-mail", faz exactamente o que eu preciso.
Exemplo de sucesso da consulta Crystal lang GPT3
crystal lang try except block give code example
começar
# código que pode levantar uma excepção
rescue SomeError => e
# código para lidar com a excepção
senão
# código a ser executado se não forem levantadas excepções
garantir
# código sempre executado, quer tenham ou não sido levantadas excepções
fim
É bom para refrescar a sua memória - não é necessário utilizar o Google, clicar numa página, percorrer a documentação - tem a resposta na ponta dos seus dedos. Poupando alguns segundos aqui e ali, irá reduzir os minutos todos os dias, e os dias e talvez até a(s) semana(s) todos os anos de desenvolvimento.
Além disso, obter as respostas num formato mais conciso permite-lhe manter o seu fluxo de pensamento - muito importante enquanto programa!
Exemplo 1 de falha da ajuda GPT3 Crystal lang
Crystal lang, Kemal. Como posso excluir um caminho de antes_tudo?
Pode excluir um caminho do gancho de antes_tudo utilizando a opção :except. Esta opção toma um conjunto de caminhos como argumento e excluirá esses caminhos do gancho de antes_da_série. Por exemplo, para excluir o caminho '/admin/' do before_all, chamaria o before_all com o seguinte código:
antes_tudo :excepto => ['/admin/'] fazer
# O seu código aqui
fim
Cuidado: o código acima não funciona!
Kemal é um router para Crystal Lang, pode-se imaginar que seja uma coisa semelhante a Sinatra, ou para expressar.
O código parece algo plausível, já o experimentei e não é compilado. Depois procurei na documentação da Kemal, e no código fonte, e nas edições abertas da KemaL. Nenhuma menção a este mito :excepto a chave.
O GPT3 acabou de inventar isto.
Esta é a forma correcta de codificar uma excepção ao before_all em Kemal:
before_all do |env|env
next if env.request.path == "/admin/"
# O seu código aqui
fim
Encontrei esta informação num bilhete kemal.cr. Este código é testado por mim e compilado de facto.
Cristal lang GPT3 exemplo 2 de falha de ajuda
Também precisava de converter o Tempo actual (UTC) para uma época unix.
crystal lang: como posso converter o Time.utc para o unix timestamp?
Pode usar o método Time#to_i para converter um objecto Time para um carimbo de tempo Unix.
tempo = Time.utc(2020, 5, 15, 10, 10, 0)
unix_timestamp = time.to_i # 158949492200
Cuidado: O código acima, mais uma vez, faz não compilar!
Embora possa ser plausível a existência de tal método, não existe tal método no Crystal Lang API para o tempo.
O código correcto é:
unix_timestamp = Time.utc.to_unix
Conclusão: O GPT3 é útil, mas teste a sua saída!
O GPT3 é de facto útil na resolução de questões comuns de programação. Pode sugerir bibliotecas, responder a perguntas sobre a sintaxe, melhores práticas e muito mais.
Trata-o como um programador experiente, que cita coisas de memória, e ocasionalmente confunde as coisas ou as inventa. Essa é a natureza das respostas estatísticas - como nós, humanos, como criadores de APIs, tendemos a fazer a "coisa esperada" em código (que outros programadores esperam nas APIs que consomem) - estas respostas irão muitas vezes funcionar.
Além disso, enquanto aprende através do enorme corpus de dados em linha, o GPT3 viu MUITOS exemplos de códigos e códigos. Aprendeu uma série de padrões válidos.
Tal como um humano que é forçado a citar de memória, em vez de procurar coisas / saber onde procurar coisas, o GPT3 fará estes deslizes ocasionais.
Mas ainda lhe poupará tempo, e muitas vezes indica-lhe a direcção certa.
GPT3, ChatGPT e OpenAI API consultoria
Oferecemos serviços de consultoria para estes APIs de IA - desde casos de utilização empresarial, até soluções completas "chave na mão". Entre em contacto hoje para discutir as suas necessidades e para uma consulta inicial gratuita sobre GPT3, ChatGPT e outras IA APIs modernas!