Introdução
Chat.openai é uma plataforma que permite às pessoas (não importa quais profissões) criar conteúdo
(escrever scripts para vídeos do YouTube, contos de fadas infantis), pesquisar informações (às vezes muito pouco confiáveis)
e, claro, escrever programas.
Configuração do chatbot
O primeiro passo é registrar uma conta e criar um novo chatbot.
(Requer número de telefone e contas da Microsoft ou do Google.) Isso pode ser feito através do site chat.openai.com.
Chat.openai oferece suporte a muitas linguagens de programação, incluindo Python, Java e C#.
Eu pessoalmente usei e experimentei m/n/fASM, Rust, Powershell para escrever este artigo.
Escrita de código
Depois de se registrar, você pode começar a escrever o código do seu chatbot:
(Você pode usar o idioma russo e o OpenAI entende perfeitamente, mas por enquanto é melhor assim)
MEU PEDIDO: use cargo para criar projeto ferrugem
Para criar um novo projeto Rust usando carga, siga estas etapas:
Abra um terminal e navegue até o diretório onde deseja criar seu projeto.
Execute o seguinte comando para criar um novo projeto Rust:
cargo new project-name
Isso criará um novo diretório com o nome do projeto fornecido e gerará os arquivos básicos necessários para um projeto Rust, incluindo:
Cargo.toml: o arquivo de configuração do seu projeto, que inclui metadados sobre seu projeto, bem como suas dependências
src/main.rs: o ponto de entrada do seu projeto, que contém a função principal
src/lib.rs: um arquivo de caixa de biblioteca, que você pode usar se quiser criar uma caixa de biblioteca em vez de uma caixa executável
Mude para o novo diretório do projeto:
cd project-name
Execute o seguinte comando para compilar e executar seu projeto:
cargo run
Isso criará e executará seu projeto, usando o main.rs padrão como ponto de entrada.
Você também pode usar o cargo build apenas para construir o projeto ou o cargo test para executar os testes em seu projeto (se houver).
Eu espero que isso ajude! Entre em contato se tiver alguma dúvida.
Esta resposta me disse como criar um projeto em Rust. Comecei a conversa com esse mesmo pedido,
para matar dois coelhos com uma cajadada só - diga ao Bot sobre qual linguagem de programação vamos falar (e ele com certeza vai se
lembrar desse fato e poderá continuar a conversa a qualquer momento), em segundo lugar, bem, eu realmente não sei
como criar um projeto em crescimento
. Minha tarefa não é que o Bot escreva todo o código
corretamente e, para mim, entendo perfeitamente que as bibliotecas de uma linguagem de desenvolvimento
tão rápido mudam com a mesma rapidez - métodos pular de uma classe para outra e assim por diante.
MEU PEDIDO: escreva a função que pesquisa recursivamente arquivos com extensão txt no winapi, em pastas e subpastas
Aqui está um exemplo de uma função que usa a API do Windows para pesquisar arquivos com a extensão .txt em uma determinada pasta e suas subpastas:
use std::ffi::OsString;
use std::os::windows::ffi::OsStringExt;
use std::ptr;
use winapi::shared::minwindef::{FALSE, MAX_PATH, TRUE};
use winapi::um::fileapi::FindFirstFileExA;
use winapi::um::handleapi::INVALID_HANDLE_VALUE;
use winapi::um::winbase::FindExInfoBasic;
use winapi::um::winnt::{FILE_ATTRIBUTE_DIRECTORY, FIND_FIRST_EX_LARGE_FETCH};
fn search_files(folder: &str) {
let mut path = OsString::from(folder);
path.push("\\*");
let path_ptr = path.as_ptr();
let mut handle = INVALID_HANDLE_VALUE;
let mut data: winapi::um::winbase::WIN32_FIND_DATAA = unsafe { std::mem::zeroed() };
loop {
handle = unsafe {
FindFirstFileExA(
path_ptr,
FindExInfoBasic,
&mut data as *mut _,
FIND_FIRST_EX_LARGE_FETCH,
ptr::null_mut(),
0,
)
};
if handle == INVALID_HANDLE_VALUE {
break;
}
let mut keep_searching = TRUE;
while keep_searching == TRUE {
let file_name = unsafe {
std::ffi::CStr::from_ptr(data.cFileName.as_ptr())
.to_str()
.unwrap()
};
if file_name == "." || file_name == ".." {
// Ignore current and parent directory
} else if data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY != 0 {
// Recurse into subdirectory
let mut subfolder = OsString::from(folder);
subfolder.push("\\");
subfolder.push(file_name);
search_files(subfolder.to_str().unwrap());
} else if file_name.ends_with(".txt") {
// Found a text file!
println!("Found file: {}", file_name);
}
keep_searching = unsafe {
FindNextFileA(
handle,
&mut data as *mut _,
)
};
}
unsafe {
FindClose(handle);
}
break;
}
}
Esta função recebe um argumento de pasta que é o caminho para a pasta a ser pesquisada. Ele usa a função FindFirstFileExA para pesquisar arquivos na pasta especificada e, em seguida, a função FindNextFileA para pesquisar arquivos subseqüentes. Se for encontrado um arquivo com a extensão .txt, ele será impresso no console. Se um subdiretório for encontrado, a função chama a si mesma recursivamente para pesquisar o subdiretório.
Eu espero que isso ajude! avise
A IA lidou com essa resposta? Claro que não - mas porque as bibliotecas estão desatualizadas e
você ainda precisará refazer algo por si mesmo.
Funções de um pacote migradas para outro, por exemplo:
winapi:🇺🇲:winbase::FindExInfoBasic fugiu para winapi:🇺🇲:minwinbase::FindExInfoBasic
Nós o encontramos na busca por docs.rs e o substituímos no código, mas a verdade é que o próprio rast mudou muito
desde que nossa IA acumulou seu banco de dados.
Mas, em teoria, podemos obter resultados bastante digeríveis (sem conhecimento da linguagem de programação)
se começarmos a usar algo mais simples e não mudar tão rápido, por exemplo, o mesmo Powershell
MEU PEDIDO: você conhece powershell?
Sim, estou familiarizado com o PowerShell. PowerShell é uma estrutura de automação de tarefas e gerenciamento de configuração da Microsoft, consistindo em um shell de linha de comando e linguagem de script associada construída no .NET Framework. Ele fornece um ambiente poderoso para gerenciar e automatizar tarefas, incluindo aquelas relacionadas ao sistema operacional, sistema de arquivos, registro e muito mais. Você tem alguma dúvida específica sobre o PowerShell?
MEU PEDIDO: use o Powershell V3.0
Para usar o PowerShell versão 3.0, você precisará ter um sistema que atenda aos seguintes requisitos:
Sistema operacional: Windows 7 SP1, Windows Server 2008 R2 SP1 ou posterior
.NET Framework: .NET Framework 4.5 ou posterior
Para verificar a versão do PowerShell instalada em seu sistema, você pode usar o seguinte comando:
$PSVersionTable
Isso exibirá a versão do PowerShell, bem como outras informações sobre o ambiente. Se precisar atualizar para o PowerShell 3.0 ou posterior, você pode baixar a versão mais recente do site da Microsoft e instalá-la em seu sistema.
Eu espero que isso ajude! Deixe-me saber se você tem alguma dúvida.
MEU PEDIDO: no Powershell escreva-me a função para obter informações do sistema sobre nome de usuário,
nome do computador, nome de domínio do Active Directory (se o domínio estiver vazio, retorne Não)
e id de hardware do computador, retorne como json
function Get-SystemInfo {
# Get the current user's name
$username = $env:USERNAME
# Get the current computer's name
$computerName = $env:COMPUTERNAME
# Get the current domain name, or "Nope" if not in a domain
$domain = (Get-WmiObject Win32_ComputerSystem).Domain
if (!$domain) {
$domain = "Nope"
}
# Get the hardware ID of the current computer
$hardwareId = (Get-WmiObject Win32_ComputerSystemProduct).UUID
# Return the information as a JSON object
@{
"Username" = $username
"ComputerName" = $computerName
"Domain" = $domain
"HardwareId" = $hardwareId
} | ConvertTo-Json
}
Para usar esta função, basta digitar Get-SystemInfo e pressionar Enter. Ele retornará as informações do sistema como um objeto JSON.
Verificando o código no Powershell:
Funciona bem!
Problemas e soluções
E agora um conselho muito legal meu para você, AI às vezes embota e fica no limite de 1000 caracteres (como eu)
e muitas vezes quebra a função, para continuar o código, insira a frase
continue from codecodecode
como na captura de tela para continuar emitindo o resto do código para você
Ainda passo todos os dias vários experimentos com esse modelo em diferentes áreas,
é uma ótima ferramenta, igual ao SD (
com hentai, claro, uso modelos
)
Não pretendo ser nada, apenas compartilhei meus pensamentos com você, talvez ajude alguém