Heim  >  Artikel  >  Web-Frontend  >  Erster Beitrag

Erster Beitrag

DDD
DDDOriginal
2024-09-19 06:20:03760Durchsuche

Werden Sie Mitwirkender

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.

Issue-12 Token-Nutzungsfunktion

First Contribute Erhalten Sie Token-Informationen von Groq. #12

First Contribute
verblassenNA veröffentlicht am

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.

Auf GitHub ansehen

Besprechen Sie mehrere Kommentare und verstehen Sie, was zu tun ist, um diese Funktion in diesem Projekt hinzuzufügen.

Pull-Anfrage

First Contribute Problem 12: Hinzufügen von Token-Informationen durch --token-usage & -tu #13

First Contribute
verblassenNA veröffentlicht am

Beschreibung

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.

  • Build Suceed

First Contribute

  • Getestet

First Contribute

  • Fuseln

First Contribute

Checkliste

  • [x] Build schlägt nicht fehl.

  • [x] Lokal getestet.

  • [x] Linting-Fehler, falls vorhanden, wurden behoben.

Testanweisungen

Schritte

1. Erstellen Sie ein

  • Neue Abhängigkeiten npm installieren

2. Gehen Sie zu

  • Gehen Sie zu Optimizeit cd OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
Auf GitHub ansehen

Erster Kommentar von Mounayer

First Contribute Problem 12: Hinzufügen von Token-Informationen durch --token-usage & -tu #13

First Contribute
verblassenNA veröffentlicht am

Beschreibung

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.

  • Build Suceed

First Contribute

  • Getestet

First Contribute

  • Fuseln

First Contribute

Checkliste

  • [x] Build schlägt nicht fehl.

  • [x] Lokal getestet.

  • [x] Linting-Fehler, falls vorhanden, wurden behoben.

Testanweisungen

Schritte

1. Erstellen Sie ein

  • Neue Abhängigkeiten npm installieren

2. Gehen Sie zu

  • Gehen Sie zu Optimizeit cd OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
Auf GitHub ansehen

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.

Zweiter Kommentar von Mounayer

First Contribute Problem 12: Hinzufügen von Token-Informationen durch --token-usage & -tu #13

First Contribute
verblassenNA veröffentlicht am

Beschreibung

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.

  • Build Suceed

First Contribute

  • Getestet

First Contribute

  • Fuseln

First Contribute

Checkliste

  • [x] Build schlägt nicht fehl.

  • [x] Lokal getestet.

  • [x] Linting-Fehler, falls vorhanden, wurden behoben.

Testanweisungen

Schritte

1. Erstellen Sie ein

  • Neue Abhängigkeiten npm installieren

2. Gehen Sie zu

  • Gehen Sie zu Optimizeit cd OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
Auf GitHub ansehen

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.

Fehler von Mounayer entdeckt

First Contribute Problem 12: Hinzufügen von Token-Informationen durch --token-usage & -tu #13

First Contribute
verblassenNA veröffentlicht am

Beschreibung

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.

  • Build Suceed

First Contribute

  • Getestet

First Contribute

  • Fuseln

First Contribute

Checkliste

  • [x] Build schlägt nicht fehl.

  • [x] Lokal getestet.

  • [x] Linting-Fehler, falls vorhanden, wurden behoben.

Testanweisungen

Schritte

1. Erstellen Sie ein

  • Neue Abhängigkeiten npm installieren

2. Gehen Sie zu

  • Gehen Sie zu Optimizeit cd OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
Auf GitHub ansehen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:React-GrundlagenNächster Artikel:React-Grundlagen