HeadlinesBriefing favicon HeadlinesBriefing.com

Imp: Selbstverbessernder Rahmen für Sprachmodelle in Elixir

Hacker News •
×

Imp ist ein deklarativer, selbstverbessernder Sprachmodell-Programmierungsrahmen für Elixir, ein vollständiger Port von DSPy auf den BEAM. Es ermöglicht Entwicklern, Sprachmodell-Schritte und Rückgabewerte zu beschreiben, Denkstrategien auszuwählen und Programme gegen mit Labels versehene Beispiele zu optimieren, unter Verwendung der Zuverlässigkeit und Parallelität von OTP.

Entwickler definieren typisierte Signaturen wie "issue -> kind: enum[bug,feature,question], summary" und rufen sie mit Imp.predict/2 auf. Der Rahmen erstellt Prompts aus Signaturen, validiert Antworten und gibt typisierte Felder zurück. Ketten des Denkens und Werkzeugverwendung werden über Imp.chain_of_thought/2 und Imp.react/3 unterstützt, ohne die Signaturen zu ändern.

Die Optimierung verwendet mit Labels versehene Datensätze (trainset, valset, testset) mit Metriken. GEPA, ein starker LM, liest Fehler und schreibt Anweisungen um. Andere Optimierer umfassen Labeled Few Shot, Bootstrap Few Shot, MIPROv2, SIMBA und Feinabstimmung mit GRPO.

Agenten laufen als überwachte OTP-Prozesse mit Imp.start_run/3, wodurch Überwachung und Autorisierungskontrollen möglich sind. Werkzeuge sind reine Elixir-Funktionen, die mit Imp.tool/3 eingeschlossen werden. Der Rahmen hängt von Req für HTTP-Aufrufe ab.

Imp ermöglicht den Aufbau von einzelnen typisierten Aufrufen bis zu langlaufenden Agenten, wobei jede Komponente durch Messung und Optimierung verbessert wird, während die Fehlertoleranz- und Parallelitätsgarantien von Elixir erhalten bleiben.