Heim >Backend-Entwicklung >Python-Tutorial >Schnellvorlauf und Drei-Wege-Merges

Schnellvorlauf und Drei-Wege-Merges

Barbara Streisand
Barbara StreisandOriginal
2024-09-28 12:16:02971Durchsuche

Fast-forward and three-way merges

Während der Arbeit an meinem Projekt Infusion:
https://github.com/SychAndrii/infusion

Ich habe beschlossen, zwei neue Funktionen zu implementieren – das Streamen von Antworten von LLM in Echtzeit und die Verwendung geeigneter Exit-Codes nach Abschluss des Programms. Anstatt jedoch herkömmliche Pull-Anfragen zu erstellen, um Änderungen in den Hauptzweig zu integrieren, wurde ich beauftragt, die Zusammenführungen lokal in meinem Repository durchzuführen und dann die Ergebnisse der Zusammenführungen an das Remote-Repository zu übertragen.

Das erste Problem bestand darin, Exit-Codes zu implementieren:
https://github.com/SychAndrii/infusion/issues/34

Geschlossen mit Merge-Commit:
https://github.com/SychAndrii/infusion/commit/b01f493a8eb3c86aad00760f41f8adf0b93b231e

Diese Aufgabe war ziemlich einfach zu implementieren, da Python Ihnen ein Sys-Paket zur Rückgabe von Statuscodes zur Verfügung stellt. Ich habe mich für 4 Fehlerstatuscodes für mein Programm entschieden:

0 – Programm erfolgreich beendet.
1 – Ungültige Optionen angegeben.
2 – Ungültige Dateien bereitgestellt.
3 – Unbekannter Fehler.

Zusätzlich zum Hinzufügen von Statuscodes habe ich den Code auch überarbeitet, um ihn intuitiver zu gestalten und mehr Funktionen zu nutzen.

Mein zweites Problem war die Implementierung von Streaming:
https://github.com/SychAndrii/infusion/issues/33

Geschlossen mit Merge-Commit:
https://github.com/SychAndrii/infusion/commit/b01f493a8eb3c86aad00760f41f8adf0b93b231e

Diese Aufgabe war aufgrund der LangChain-Bibliothek, die ich für mein Projekt verwende, schwieriger zu erledigen. Diese Bibliothek ist relativ neu, daher ist die Dokumentation für Streaming mit der Astream-Funktion sehr unintuitiv und schwer zu verstehen.

Ich habe Python schon immer gehasst und werde es für den Rest meines Lebens weiterhin tun. Ich habe versucht, mich mit diesem Projekt besser an die Verwendung zu gewöhnen, aber nach Sprachen wie C#, TypeScript oder Kotlin kann ich Python einfach nicht mehr ernst nehmen.

Das obige ist der detaillierte Inhalt vonSchnellvorlauf und Drei-Wege-Merges. 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