Entwickler Maarten Balliauw zeigt in einem Blogbeitrag, was man tun muss, um eine eigene ChatGPT-ähnliche KI in C# aufsetzen. Das beste dabei: Alle aufwändigen Vorarbeiten dafür hat die Open-Source-Community schon erledigt. [...]
Einige Monate nach der Veröffentlichung von ChatGPT durch OpenAI hat Meta das ursprünglich nur für Forschungszwecke gedachte Modell LLaMA veröffentlicht. Allerdings hat jemand die Gewichte von LLaMA geleakt, was zu einer Menge Aktivität im Internet geführt hat.
Noch immer kann man das Modell an vielen Stellen herunterladen und es auf eigener Hardware verwenden. Sein Nachfahre Alpaca ist ein fein abgestimmtes LLaMA-Modell von Standford und Vicuna, ein weiteres, fein abgestimmtes LLaMA-Modell, daneben gibt es noch WizardLM und weitere.
Während ein Teil der Communtiy neue Modelle trainierte, arbeiteten andere daran, diese LLMs auf Verbraucherhardware laufen zu lassen.
Georgi Gerganov veröffentlichte mit llama.cpp, eine C++-Implementierung, die das LLaMA-Modell (und Derivate) auf einer CPU ausführen kann. Sie kann eine Vielzahl von Modellen ausführen: LLaMA, Alpaca, GPT4All, Vicuna, Koala, OpenBuddy, WizardLM, und andere. Daneben gibt es auch Wrapper für eine Reihe von Sprachen:
- Python: abetlen/llama-cpp-python
- Go: go-skynet/go-llama.cpp
- Node.js: hlhr202/llama-node
- Ruby: yoshoku/llama_cpp.rb
- .NET (C#): SciSharp/LLamaSharp
LlamaSharp ist eine .NET-Bindung von llama.cpp und bietet APIs für die Arbeit mit den LLaMA-Modellen. Es funktioniert unter Windows und Linux und erfordert nicht, dass man sich mit der zugrunde liegenden llama.cpp beschäftigt.
Für diese Lösung beschreibt Entwickler Maarten Balliauw in diesem Blogbeitrag, wie man sie einrichtet und benutzt, beispielsweise um sie als Programmier-Copilot einzusetzen.
*Bernhard Lauer beschäftigt sich seit Jahrzehnten mit IT-Themen und bereitet diese als Autor und Redakteur auf – unter anderem für die dotnetpro. Programmieren gelernt hat er mit dem C64 und Basic. Er hat über die Anfänge von Java, JavaScript, HTML und .NET berichtet und sich zuletzt mit Python beschäftigt, nicht zuletzt deshalb, weil es ohne Semikolons auskommt ;-).
Be the first to comment