Pubblicato originariamente su https://semaphoreci.com, 8 luglio 2024.
Codeium: la migliore alternativa a Github Copilot
Immaginate di codificare fianco a fianco con un instancabile compagno di squadra, che vi sussurra idee e suggerimenti brillanti all’orecchio. Questo è il lusso che ci offre GitHub Copilot. GitHub Copilot ci ha fornito suggerimenti di codice pertinenti e assistenza agli sviluppatori, con altre utili funzioni come il suggerimento di frammenti di codice, commenti e documentazione basati su modelli trovati nei repository open-source, il tutto imitando il vostro stile di codifica.
Ma ecco il problema: Copilot prevede un abbonamento mensile. Se il budget è una preoccupazione importante e volete comunque mantenere un servizio di così alto livello, ci sono alternative gratuite da prendere in considerazione. Un valido concorrente che mi viene in mente è Codeium, che offre molte delle stesse funzioni di completamento e suggerimento del codice di Copilot, senza alcun costo.
Obiettivi
Cosa faremo in questo articolo:
- Esplorare Codeium in dettaglio.
- Fornire una guida passo-passo per un’installazione di successo.
- Spiegare come configurare Semaphore con Codeium.
- Evidenziare altre funzionalità e utilizzi chiave.
- Confrontare il piano individuale gratuito di Codeium con il piano individuale a pagamento di GitHub Copilot.
- Discutere il modo migliore per utilizzare Codeium.
Che cos'è Codeium?
Codeium è uno strumento di completamento del codice avanzato di intelligenza artificiale, che offre kit di strumenti gratuiti per l’uso personale, di gruppo e aziendale. Con i suoi progressi, Codeium accelera i processi di codifica, vantando il completamento di codici in oltre 70 lingue.
Caratteristiche di Codeium
Potremmo discutere tutto il giorno sul fatto che l’IA ci tolga il lavoro, ma è evidente l’enorme vantaggio che essa apporta alla nostra produttività di sviluppatori e Codeium non è certo da meno. Con Codeium avete accesso a:
- Completamento illimitato di codice a una o più righe all’infinito.
- Supporto per oltre 70 linguaggi di programmazione.
- Integrazione perfetta in tutti i principali IDE ed editor web, tra cui VS-code, Colab e Jupyter Notebook.
- Ricevere assistenza tramite la comunità Discord.
- Risposta ultraveloce
- Chatbot per suggerimenti AI
- Correzione degli errori di codice, all’interno del nostro IDE
- Crittografia dei dati end-to-end
Differenze tra Codeium e Github Copilot
Codeium trae molte somiglianze da Github, ma ha la sua unicità migliorata. Confronteremo il piano individuale a pagamento di Github Copilot con il piano individuale gratuito di Codeium;
Il prezzo
Copilot opera su un modello di abbonamento, il cui prezzo è di circa 10 dollari al mese o 100 dollari all’anno. Il piano individuale di Codeium è completamente gratuito e rimane tale a tempo indeterminato, offrendo agli utenti l’accesso all’intera gamma di funzionalità senza alcun costo.
Funzionalità
La funzionalità di Copilot si concentra su Single multi-line codegen e sulla chat; d’altra parte, Codeium condivide la stessa cosa con l’aggiunta della ricerca integrata In-IDE. Questa integrazione aiuta il processo di codifica consentendo agli sviluppatori di avere una conversazione simile a quella umana con l’IA o di cercare risorse aggiuntive senza passare da un’applicazione all’altra.
IDE supportati
Copilot supporta i seguenti IDE: VSCode, JetBrains, Vim/Neovim, Visual Studio e Godellum. Mentre Codeium supporta: VSCode, JetBrains, Visual Studio, Jupyter/Colab/Deepnote/, Databricks Notebooks, Chrome, Vim/Neovim, Emacs, Eclipse, Sublime Text e VSCode Web IDE (es. Gitpod).
Supporto per le lingue
GitHub Copilot e Codeium offrono entrambi un supporto integrato per i linguaggi più diffusi come Python, Javascript, TypeScript, Ruby, Go, Java, PHP, C++, C, Rust e Swift. Tuttavia, Codeium offre un vantaggio in più grazie al suo ampio supporto per i linguaggi emergenti o meno conosciuti, che comprende oltre 70 di questi linguaggi.
Distribuzione
Codeium può essere utilizzato online, installato sui vostri server o all’interno di una rete privata. Ha superato un controllo di sicurezza chiamato SOC 2 Type 2 per la sua versione online. D’altra parte, GitHub Copilot non ha ancora rilasciato una dichiarazione sul suo controllo di sicurezza. Questo potrebbe significare che Codeium non ha dimostrato di essere sicuro quando viene utilizzato online.
L’installazione
Per avere un’esperienza da sviluppatore dobbiamo prima installare questo software. Per quanto riguarda l’installazione di questa applicazione, di solito ci sono due modi per installare Codeium;
- Playground
- Ottenere l’Estensione
Playground
Il primo metodo che esploreremo sarà quello di “provarlo nel nostro browser”:
Con questo, potete entrare nel Playground e provare codeium nel vostro browser.
Basta con le chiacchiere, vediamo come funziona Codeium, Javascript sarà la scelta migliore per me, perché è quello che preferisco, si potrebbe usare un altro linguaggio di preferenza, e ottenere comunque lo stesso risultato. Ho modificato l’area di gioco e ho inserito un commento che recita “Scrivi un’applicazione rapida in Js”:
Poi sono passato alla riga successiva e subito sono stati dati suggerimenti;
È sufficiente fare clic sulle schede per accettare i suggerimenti:
Voilà! Abbiamo le nostre variabili per iniziare. L’utilità del parco giochi è quella di convincere l’utente a installarlo nel proprio IDE, e questo ci porta alla seconda forma di installazione.
Ottenere l'estensione
Per far funzionare l’estensione nel vostro editor di codice, cliccate su “get extension” come evidenziato di seguito:
Si aprirà la scheda sottostante, scegliete l’editor di codice che preferite; sono disponibili oltre 20 editor di codice, in questo caso utilizzeremo Visual Code Editor a scopo illustrativo.
Quando cliccate sul vostro editor di codice vi verrà chiesto di iscrivervi; dopo l’iscrizione potrete vedere la schermata sottostante, fate clic su un’installazione rapida e vi porterà alla sezione delle estensioni di Visual Studio Code; seguite tutte le istruzioni e l’installazione sarà andata a buon fine. Se l’estensione di Codeium è stata installata con successo, il codice di VS dovrebbe avere questo aspetto:
Se avete tralasciato qualcosa durante l’installazione, quando cliccate sull’icona di Codeium a sinistra del vostro codice VS, otterrete un errore; questo è dovuto al fatto che potreste aver tralasciato di collegare correttamente Codeium al vostro IDE; per risolvere il problema, navigate nel vostro profilo Codeium, dove vi verrà fornito il token.
Per finire, copiate il token e andate in VS Code. In VSCode, aprite la palette dei comandi (Ctrl/Cmd + Shift + P), digitate Codeium: Provide Authentication Token e premere Invio. In questo modo si avvia il processo di autenticazione.
Esplorare i vantaggi di Codeium
I vantaggi offerti da Codeium sono diversi;
Completamento illimitato di codici a una o più righe.
Codeium può suggerire un’intera riga o anche blocchi di codice multilinea. Ciò significa che Codeium può potenzialmente completare strutture logiche o funzioni senza alcuna limitazione sulla quantità di codice proposto.
Immaginate di costruire un’applicazione di raccomandazione musicale. Codeium potrebbe suggerire l’intera gamma di canzoni, artisti, generi e stati d’animo, comprese l’inizializzazione, le condizioni e il corpo, tutto in una volta. Mettiamolo alla prova:
Linea singola:
Linea multipla:
Questo è il codice completo generato per quella funzione:
Chatbot Codeium
La chat di Codeium può essere utilizzata per generare boilerplate, spiegare il codice, rifattorizzare il codice e modificare il codice. Una cosa divertente da sapere è che il chatbot si chiama anche Codeium university, perché si può continuare a fare una sessione di apprendimento molto interattiva con questa IA.
Generare Boilerplates:
Potete facilmente chiedere a Codeium di generare un boilerplate HTML, ad esempio, e lo farà per voi. Sentitevi liberi di copiare o inserire direttamente nel vostro codice:
Spiegazione, rifrazione e modifica:
Per sfruttare questa funzione del chatbot è possibile selezionare facilmente il blocco di codice che si desidera comprendere o migliorare. È possibile evidenziare qualsiasi codice trascinandovi sopra il mouse e facendo poi clic con il tasto destro del mouse sul blocco di codice evidenziato.
In questo modo si aprirà un menu contestuale con varie opzioni; come si vede qui sotto, si può selezionare Codeium: refactor selected code o Codeium: explain selected code.
Per usufruire delle modifiche di Codeium, dovrete anche evidenziare il codice e poi premere ctrl + I; si aprirà una scheda come quella qui sotto, che potrete modificare a vostro piacimento.
Ricerca intelligente:
Codeium Search ti aiuta a trovare le cose nel tuo codice! Attualmente funziona con Python, JavaScript, TypeScript e Go. Ecco come iniziare: Andate sulla chat di Codeium e chiedetegli di cercare nel vostro codice con il linguaggio naturale, spiegando cosa volete e lui lo farà!
Aspetto negativo: l’indicizzazione di grandi quantità di file di codice può richiedere tempo e rallentare il computer, ma avviene una volta sola, quindi non c’è da temere.
Test unitari e integrazione delle API semplificati
Codeium ha una conoscenza approfondita di varie API e può inserirle senza problemi nel vostro codice, direttamente dal vostro IDE. Non si ferma qui, può anche generare test unitari per il vostro codice.
Aiuta gli sviluppatori a imparare
Utilizzando Codeium è possibile ridurre la curva di apprendimento in modo molto rapido. Supponiamo ad esempio che siate bloccati su un concetto o una funzione. Codeium può spiegare chiaramente i frammenti di codice e le strutture logiche.
Inoltre, il completamento contestuale del codice aiuta a completare sia le operazioni di base che quelle più complesse. In questo modo si possono conoscere nuovi schemi e approcci di codifica in poco tempo, ma poiché è stato addestrato su molti dati, insegna uno schema ampiamente accettato e buone pratiche di codice.
Impostare Semaphore con Codeium
Per impostare una build CI Semaphore per un’applicazione web con Codeium, procuriamoci un account Semaphore. Io preferisco usare GitHub per le mie autenticazioni e vi consiglio di farlo. Per questo esercizio, considereremo un semplice esempio di applicazione web Node.js che utilizza Express.js come framework per il rendering Hello, Semaphore, Our build works Now! Sul browser (LocalHost).
Possiamo creare una cartella denominata “semaphorebuild”, non è necessario che il nome sia il migliore. Navigare nel progetto, installare Express.js e creare un file App.js nella root del progetto. Ecco la struttura di base dei file:
Struttura dei file del progetto;
Nel file app.js, copia e incolla il codice seguente:
È possibile eseguirlo utilizzando node app.js. Nella radice del nostro progetto, creeremo una cartella .semaphore e al suo interno creeremo il file semaphore.yml. Questo file contiene le istruzioni per Semaphore su come costruire, testare e distribuire la nostra applicazione. Chiederemo a Codeium di aiutarci in questo. Ecco il prompt:
Codeuim ci ha fornito un modello, ora possiamo inserirlo nel nostro file semaphore.yml:
Nel nostro file .yml dobbiamo apportare alcune modifiche, ed ecco perché; il modello di codice sopra riportato si limita ad avviare una macchina virtuale e a fare eco alla stringa “Hello, Semaphore”.
Potremmo fare un ulteriore passo avanti per costruirlo, avviare l’applicazione App.js e testare con un cmd curl che sia effettivamente attivo e funzionante.
Vogliamo aggiungere tre modifiche fondamentali;
- Installazione di Node.js: Questo script usa sem-version node per passare a una specifica versione di Node.js.
- Caching: useremo il meccanismo di caching di Semaphore per velocizzare l’installazione dei moduli di node.
- Test: Dopo aver avviato il server, dovremo eseguire una richiesta curl alla rotta localHost:3000, per essere sicuri che sia attivo e funzionante.
Sentitevi liberi di sostituire il codice nel file .yml con questo codice.
Per proseguire, creeremo un repo su GitHub e vi invieremo il codice. Per testare la nostra build, navigare nella pagina iniziale di Semaphore.
Create un nuovo progetto e seguire i passi indicati per collegare il repo appena creato a Semaphore.
Scegliete la vostra repo:
Semaphore inizializza automaticamente il progetto e controlla se esiste un file semaphore.yml:
Selezionare l’opzione “Userò la configurazione esistente”, dato che Codeium ce l’ha già fornita. Si dovrà innescare una compilazione con un push più recente al repository, dopodiché Semaphore costruisce e fornisce i risultati molto velocemente:
Con questo esempio di base, siamo stati in grado di vedere come Codeium può aiutare in uno scenario reale; ecco il repo GitHub.
Domande frequenti
Quando si pensa a cosa può fare Codeium e perché potrebbe essere utile, è fondamentale rendersi conto che potrebbe essere usato in modo non corretto o non pienamente compreso. I nuovi utenti potrebbero avere domande su come usarlo correttamente.
Ecco alcune domande frequenti da prendere in considerazione, insieme alle risposte, per sottolineare l’importanza di usare Codeium in modo efficace.
Come devono approcciarsi gli sviluppatori all’uso di Codeium, considerando che si tratta di un’intelligenza artificiale?
Codeium è uno strumento di intelligenza artificiale e deve essere usato con una certa mentalità. È importante notare che Codeium non sostituisce le vostre capacità di codifica e la logica critica che ne deriva.
Utilizzatelo in modo efficace per aumentare la vostra produttività ed efficienza, ma tenete sempre d’occhio i suoi suggerimenti e assicuratevi che siano in linea con le vostre migliori pratiche di codifica. Sebbene i suggerimenti di Codeium siano per lo più corretti, è importante ricordare che si tratta di uno strumento di intelligenza artificiale e che a volte può generare codice errato, ripetitivo o istintivo.
In che modo Codeium utilizza l’intelligenza artificiale per aiutare la codifica?
Per esperienza diretta, Codeium utilizza l’intelligenza artificiale in due diversi approcci per diventare un buon amico di codifica:
- Analisi del codice: Codeium utilizza modelli di intelligenza artificiale pre-addestrati che sono stati alimentati con molto codice pubblico. Questo addestramento consente loro di comprendere le strutture dei linguaggi di programmazione, i modelli di codifica comuni utilizzati dagli sviluppatori e persino le best practice.
- Assistenza AI in tempo reale: Ogni volta che scrivete un codice, Codeium mette in pratica questa conoscenza, analizzando ciò che avete digitato e il contesto del vostro codice e confrontandoli con le informazioni preconosciute che gli sono già state fornite; con questo livello di conoscenza può quindi fornire suggerimenti intelligenti in tempo reale.
Codeium è sicuro?
La risposta semplice è: sì, è sicuro. La risposta esplicativa è che Codeium dichiara di essere conforme al SOC 2 di tipo II, il che indica che ha messo in atto controlli di sicurezza per proteggere i dati degli utenti.
In che modo Codeium è gratuito
La risposta diretta è: come singolo individuo è gratuito, ma come gruppo di lavoro dovrete investire il vostro denaro. La verità è che non c’è nulla di valore che sia veramente gratuito, c’è sempre una fregatura, e in questo caso la fregatura è che, come team, ci sono così tante cose che vorrete fare con un software come questo, che una delle sue caratteristiche più importanti potrà essere utilizzata solo come organizzazione. Questo ci porta alla prossima sezione che parla dei prezzi.
Prezzi di Codeium
Codeium ha tre prezzi: Individuale: Gratuito per sempre, Teams che parte da 12 dollari al mese e c’è il piano Enterprise, ma i prezzi non sono disponibili sul sito web. È possibile contattare Codeium per maggiori informazioni.
Ecco un riepilogo delle caratteristiche incluse in ciascun piano:
Individuale
- Completamento automatico rapido del codice
- Assistente di chat AI in redazione
- Ricerca in linguaggio naturale di Repo
- Utilizzo illimitato
- Addestrato su dati open-source
- Supporto via Discord.
- Crittografia dei dati end-to-end.
Team (tutte le funzionalità di Individual)
- Dashboard di utilizzo dell’amministratore
- Gestione dei posti e inviti
- Fino a 200 posti
- Personalizzazione avanzata della vostra codebase.
- Ricerca di documenti (in arrivo)
Enterprise (tutte le funzionalità di Teams)
- Assistenza prioritaria tramite canale Slack con il team Codeium
- Portale di supporto aziendale con documentazione e ticket
- Disponibilità di implementazioni Saas, on-prem air-gapped e VPC self-hosted (opzionale)
- Finetuning opzionale sulla vostra base di codice.
Conclusioni
Codeium offre una promettente alternativa a Git Copilot, fornendo agli sviluppatori uno strumento efficiente per migliorare la produttività della codifica. Anche se ci sono altre opzioni disponibili, Codeium si distingue per la sua integrazione con Visual Studio Code e per il suo impegno nella sicurezza dei dati, Grazie per aver letto fino a qui, il vostro tempo è stato molto apprezzato. Vi invitiamo a dare un’occhiata ai documenti, che contengono casi d’uso estesi per ogni IDE.
Articolo originale: https://semaphoreci.medium.com/codeium-the-best-github-copilot-alternative-a2a187ebaa4d