Heim > Artikel > Web-Frontend > Erster Beitrag
Vor kurzem habe ich in Zusammenarbeit mit dem Eigentümer des Projekts, Majd Al Mounayer, meinen ersten Beitrag zu einer sehr guten Chat-Vervollständigungsanwendung geleistet, die mit TypeScript erstellt wurde. Majd verfügt über ein großes Verständnis für Entwicklung, das von ESLint bis hin zu CI-Aktionen reicht. Als ich sein Projekt überprüfte, fiel mir auf, dass eine solide Grundstruktur eine Anwendung skalierbar macht und es für neue Mitwirkende einfacher macht, Funktionen hinzuzufügen.
Basierend auf den Groq-Instanzen wäre es eine gute Idee, Benutzern eine Option --token_usage oder -t zur Verfügung zu stellen, um zu überwachen, wie viele Token zurückgegeben oder für Optimierungszwecke verwendet werden. Dies ist wichtig, da einige Codeblöcke möglicherweise das für jedes Modell geltende Token-Limit überschreiten.
Besprechen Sie mehrere Kommentare und verstehen Sie, was zu tun ist, um diese Funktion in diesem Projekt hinzuzufügen.
HandleTokenFlag hinzugefügt, um die Argumentübergabe zu überprüfen, die --token-usage oder -tu haben, wenn ja, wir stdern für die Token-Nutzung.
[x] Build schlägt nicht fehl.
[x] Lokal getestet.
[x] Linting-Fehler, falls vorhanden, wurden behoben.
HandleTokenFlag hinzugefügt, um die Argumentübergabe zu überprüfen, die --token-usage oder -tu haben, wenn ja, wir stdern für die Token-Nutzung.
[x] Build schlägt nicht fehl.
[x] Lokal getestet.
[x] Linting-Fehler, falls vorhanden, wurden behoben.
Er schlug vor, darauf hinzuweisen, dass wir das Argument beim Einchecken in CLI nicht mit einem Try-Catch-Block umschließen müssen, also habe ich es korrigiert und eine Änderung vorgenommen.
HandleTokenFlag hinzugefügt, um die Argumentübergabe zu überprüfen, die --token-usage oder -tu haben, wenn ja, wir stdern für die Token-Nutzung.
[x] Build schlägt nicht fehl.
[x] Lokal getestet.
[x] Linting-Fehler, falls vorhanden, wurden behoben.
Wenn Optimizeit mehrere Dateien gleichzeitig verarbeitet, kann die Ausgabe sehr groß sein. Dies würde den Benutzer dann dazu zwingen, ganz nach oben zu scrollen, um die Token anzuzeigen, was nicht benutzerfreundlich ist. Ich denke, dass die Token-Informationen am unteren Ende der Programmausgabe unter allen verarbeiteten Dateiausgaben angezeigt werden müssen.
Gegenüber dem Zitat habe ich eine Änderung vorgenommen, indem ich stderr am Ende der Anwendung aufgerufen habe, um das Token am unteren Ende der Anwendung anzuzeigen.
HandleTokenFlag hinzugefügt, um die Argumentübergabe zu überprüfen, die --token-usage oder -tu haben, wenn ja, wir stdern für die Token-Nutzung.
[x] Build schlägt nicht fehl.
[x] Lokal getestet.
[x] Linting-Fehler, falls vorhanden, wurden behoben.
Dieser Fehler ist auf eine falsche if-Bedingung innerhalb der Vervollständigung zurückzuführen. Überprüfen Sie bei der Verarbeitung der if-Bedingung, ob das Flag --token-usage an das Argument übergeben wird oder nicht, aber dann verwende ich es mit der else-Bedingung, die die Fehlerantwort „falls nicht gefunden“ auslöst .token also statt
if (tokenUsageInformation && chatCompletion?.usage) {
this.saveTokenUsageInfo(chatCompletion?.usage);
} sonst {
throw new Error(`
Für die Datei ${fileName}
sind keine Token-Nutzungsinformationen verfügbar
`);
ändern zu
if (tokenUsageInformation) {
if (!chatCompletion.usage) {
throw new Error('Informationen zur Token-Nutzung sind nicht verfügbar');
}
this.accumulateToken(chatCompletion?.usage);
Dadurch wird sichergestellt, dass die Token-Nutzung ordnungsgemäß gehandhabt wird. Wenn die Informationen nicht verfügbar sind, wird ein entsprechender Fehler ausgelöst, ohne den Anwendungsfluss zu unterbrechen.
Insgesamt konnte ich durch die Mitarbeit an diesem Projekt mehr über verschiedene Codierungsstile lernen und mich an sie anpassen. Majds konsequente Verwendung von ESLint machte das Entwicklungsmuster sehr klar und trug dazu bei, einen reibungslosen Beitragsprozess zu gewährleisten.
Das obige ist der detaillierte Inhalt vonErster Beitrag. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!