Erste Interaktion mit Open Source
Einführung
Ich hätte nie gedacht, dass meine Hand jemals eine offene Quelle berühren würde, da es für mich wie etwas Unerreichbares klang. Zu Beginn dieses Semesters entschied ich mich jedoch für den Kurs „Open Source Development“ von David Humphrey, da ich nicht wusste, was mich erwartete, meine Erwartung war wie „Ein weiterer langweiliger Kurs, um mein Programm zu erfüllen“, aber als wir anfingen, wurde mir klar, dass es klappt etwas anderes sein als andere Kurse. In der ersten Vorlesung hatten wir die Aufgabe, ein einfaches CLI-Tool zu erstellen, das es uns ermöglicht, jeden kompatiblen AI-API-Endpunkt zu verwenden, um Dateien auf hilfreiche Weise zu transformieren. Wahrscheinlich hat es mein Leben verändert. Im wahrsten Sinne des Wortes war ich noch nie so begeistert vom Programmieren und dachte, ich gehöre nicht zu dieser Sphäre, aber wir alle wissen, dass der Weg nicht immer gerade ist, sondern manchmal eng. Ich habe in unserer Klasse so viele Schüler gesehen, die so geschickt waren, dass der einzige Gedanke, der meine Liebe zum Programmieren wiederbelebte, war: „Bin ich schlimmer als sie? Nein... Es hat mich so sehr unter Druck gesetzt, dass ich die dritte Woche sitze, ohne meine zu verlassen.“ Ich habe mich für eine völlig neue Sprache entschieden, mit der Recherche und den Tests begonnen und bin schließlich auf etwas Einfaches, aber Interessantes gestoßen, das mir dabei geholfen hat zu verstehen, dass ich im wahrsten Sinne des Wortes alles bauen kann, was ich will
PolyglotCodePolyglotCode ist ein Befehlszeilentool, das Entwicklern hilft, ihre Dateien mit dem Code in JEDER anderen Programmiersprache zu übersetzen. Dieses Tool wurde in Java mit dem Maven-Abhängigkeitsmanager geschrieben. Es braucht einfach eine Datei, die Sprache, die der Benutzer übersetzen möchte, sendet sie als Abfrage an den API-Endpunkt und gibt übersetztes Material an das Terminal aus oder schreibt es in die Datei (Wahl des Benutzers). Im Folgenden möchte ich erwähnen, dass ich die KI v1 von Cohere verwendet habe Endpunkt.
Erste Schritte
Schritt 1. Generieren und stellen Sie den Cohere-API-Schlüssel im Standardwert des Flags -a && --api-key innerhalb der Hauptklasse bereit:
@Option( names = {"-a", "--api-key"}, defaultValue = "YOUR_API-KEY", description = "Modifying api key manually" ) private String api;
Geben Sie den Aufruf an und geben Sie den API-Schlüssel mithilfe von Flags in die Befehlszeile ein (nur nach Schritt 3 verfügbar):
./polyglot <file(s)...> <language> -a <YOUR-API-KEY>
chmod +x polyglot
mvn package
Aus dem Grund, dass es sich um Version v0.1 handelt, hatte ich Schwierigkeiten, dieses Tool zu erstellen (es war schwierig, ich meine, es hat viel Zeit gekostet, es hat mir Spaß gemacht :D), es enthält nicht alle Funktionen, die ich implementieren wollte . Es enthält jedoch immer noch einige der erforderlichen Funktionen, ich habe mich lediglich an die Anforderungen gehalten. Hier sind sie also:
Helfen
Ist nicht der Höhepunkt der Programmierung, (-h, --help) Flags. Dieses Flag hilft dem Benutzer, die Verwendung und alle Flags kennenzulernen. Verwendung:
./polyglot -h
./polyglot --help
Ein weiterer Höhepunkt der Programmierung ist das Flag (-v, --version). Zeigt die aktuelle Version des Tools an. Verwendung:
./polyglot -v
./polyglot --version
Wie bereits erwähnt, kann der Benutzer den Cohere-Api-Schlüssel angeben, ohne auf den Code einzugehen, indem er einfach Flags (-a, --api-key) verwendet. Verwendung:
./polyglot <file(s)...> <language> -a <YOUR-API>
./polyglot <file(s)...> <language> --api-key <YOUR-API>
Es wird nicht empfohlen, die Basis-URL dieser Anwendung zu ändern, da dies zu einer unerwarteten Ausgabe führen kann. Diese Option steht dem Benutzer jedoch weiterhin zur Verfügung. Verwendung:
./polyglot <file(s)...> <language> -u <baseUrl>
./polyglot <file(s)...> <language> --base-url <baseURL>
Erstellt die vom Benutzer angegebene Datei und schreibt das Ergebnis dorthin. Es wird dringend empfohlen, diese Option jeweils nur für eine Datei zu verwenden. Verwendung:
./polyglot <file(s)...> <language> -o file.txt
./polyglot <file(s)...> <language> --output file.txt
Herausforderungen, denen ich gegenüberstand
Nachdem ich alle meine Funktionen mit Ihnen geteilt habe, ist es an der Zeit, über die Herausforderungen zu sprechen, denen ich gegenüberstand. Eine der Herausforderungen bestand darin, eine neue Sprache zu lernen. Es war nicht so schwer wie vor C/C. Die zweite Herausforderung bestand darin, einen geeigneten KI-Endpunkt zu finden, da viele von ihnen nicht so weit entwickelt waren, dass sie auch nur einfache Fragen beantworten konnten, und mein Ziel war es, ihn kostenlos zu finden :) Die dritte Herausforderung bestand darin, die Verwendung von picoCLI zu erlernen, einem Tool, das Ihnen bei der Einrichtung hilft CLI-Tool, zuerst habe ich ein Bash-Skript erstellt, um mir dabei zu helfen. Ich habe versucht, die Verwendung von picoCLI zu vermeiden, aber dann wurde es soooo unbequem und ich beschloss, mich besser mit picoCLI vertraut zu machen.
Insgesamt hat mir dieses Projekt geholfen zu verstehen, dass alles möglich ist, wenn man hart arbeitet!
Das obige ist der detaillierte Inhalt vonErste Interaktion mit Open Source. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Detaillierte Erläuterung des Designs von SKU- und SPU-Tabellen auf E-Commerce-Plattformen In diesem Artikel werden die Datenbankdesignprobleme von SKU und SPU in E-Commerce-Plattformen erörtert, insbesondere wie man mit benutzerdefinierten Verkäufen umgeht ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...
