KI für DevOps-Engineers – Teil 1: Die Grundlagen von DevOps-KI
DevOps ist ein entscheidender Erfolgsfaktor in der Softwareentwicklung, und wir sind definitiv alle auf die eine oder andere Weise auf KI gestoßen. Eine
In der sich schnell entwickelnden Welt der künstlichen Intelligenz geht es nicht mehr darum, was KI kann, sondern darum, wie nahtlos sie in unser tägliches Leben integriert werden kann. Seit dem Aufkommen von Generativer-KI Anfang 2023 haben wir zahlreiche KI-Anwendungen gesehen, die zur Bewältigung verschiedener Aufgaben entwickelt wurden. Diese Innovationen stehen jedoch oft vor einem Integrationsproblem und nicht vor einem Fähigkeitsproblem. Prompts sind die Eingaben oder Abfragen, die einem KI-Modell zur Verfügung gestellt werden, um Antworten oder Ausgaben zu generieren. Diese Prompts dienen als Ausgangspunkt für den kreativen Prozess der KI und leiten sie an, relevante und kontextgerechte Inhalte zu produzieren. Es ist nicht immer einfach, neue und nützliche Prompts zu entdecken und verschiedene Versionen derjenigen zu verwalten, die uns gefallen. An dieser Stelle kommt Fabric ins Spiel.
Fabric ist ein Open-Source-Framework, das entwickelt wurde, um die Herausforderung der Integration anzugehen, indem es jedem ermöglicht, KI granular auf alltägliche Herausforderungen anzuwenden. Die Philosophie hinter Fabric ist, dass KI die menschliche Kreativität fördern soll. Durch die Zerlegung von Problemen in einzelne Komponenten und die Anwendung von KI auf jedes einzelne Teil ermöglicht Fabric den Benutzern, komplexe Probleme auf strukturierte und effiziente Weise zu lösen. In diesem Blogbeitrag werden wir die innovativen Fähigkeiten von Fabric und seine verschiedenen Anwendungsfälle näher beleuchten.
Fabric wurde entwickelt, um den Prozess der Integration von KI in verschiedene Aspekte des Alltags und der Arbeit zu rationalisieren. Das geschieht durch ein System modularer Komponenten, die Patterns genannt werden. Dabei handelt es sich um Vorlagen für KI-Anweisungen, die in Markdown formatiert sind, um eine maximale Lesbarkeit und Bearbeitbarkeit zu gewährleisten. Dieses Format stellt sicher, dass sowohl Benutzer als auch KI die Anweisungen leicht verstehen und ausführen können.
Um das Beste aus Fabric herauszuholen, können Nutzer den Fabric-Client installieren, der eine umfassende Reihe von Werkzeugen und Befehlen für die Interaktion mit KI-Modellen bietet.
Das Repository klonen und in das Verzeichnis wechseln:
1git clone https://github.com/danielmiessler/fabric.git
1cd fabric
Installieren von pipx:
1brew install pipx
1sudo apt install pipx
Installieren von Ollama (optional):
Falls erforderlich, können wir lokale Modelle installieren. Wir laden dazu Ollama herunter und installieren das gewünschte Modell aus der Liste der verfügbaren Modelle. Hardware-Anforderungen sind zu beachten.
Ollama ist eine Plattform zum Ausführen von Large Language Models (LLMs) auf dem lokalen Gerät.
In das Fabric-Verzeichnis wechseln:
1cd fabric
Installieren von Fabric:
1pipx install .
Erneuern der Terminal-Konfiguration:
1Quelle ~/.bashrc
1Quelle ~/.zshrc
Fabric Setup:
Wir führen den Setup-Befehl aus und folgen den Aufforderungen, die API-Schlüssel für die benötigten Dienste einzugeben.
1fabric --setup
Bereit zur Verwendung:
Fabric ist nun installiert und konfiguriert und wir sind bereit, loszulegen!
1fabric --help
Fabric bietet verschiedene Befehle, welche die Interaktion mit den Modellen vereinfachen und die Produktivität steigern. Hier eine kurze Einführung in einige der nützlichsten Befehle:
Verfügbare Modelle auflisten:
Um zu sehen, welche Modelle derzeit in unserem System verfügbar sind oder abonniert wurden, verwenden wir:
1fabric --listmodels
Dieser Befehl listet alle installierten und abonnierten Modelle auf und hilft uns bei der Auswahl des für unsere Aufgabe am besten geeigneten Modells.
Liste aller verfügbaren Patterns:
Wir können die Palette der in Fabric verfügbaren Patterns mit Hilfe von folgendem Befehl auflisten:
1fabric --list
Dieser Befehl bietet einen Überblick über die verfügbaren Patterns, die bestimmte Aufgaben oder Aktionen definieren, die wir mit Fabric ausführen können.
Standardmodell umschalten:
Wir können das Standardmodell ändern, das Fabric verwendet, mit:
1fabric --changeDefaultModel <MODEL>
Dieser Befehl ermöglicht es uns, nahtlos zwischen verschiedenen Modellen zu wechseln, um uns an unterschiedliche Bedürfnisse oder Vorlieben anzupassen, ohne jedes Mal das Modell angeben zu müssen.
Patterns aktualisieren:
Wir können die Patterns für eine optimale Leistung auf dem neuesten Stand halten, indem wir den Befehl ausführen:
1fabric --update
Dieser Befehl stellt sicher, dass wir Zugriff auf die neuesten Verbesserungen und Ergänzungen in der Bibliothek von Fabric haben.
Fabric enthält Flags, die die Befehlsausführung verbessern:
-s
: Streamt die Ausgabe des Modells direkt.-p
: Spezifiziert ein bestimmtes Pattern, das wir verwenden wollen.-sp
: Stream-Ausgabe mit einer bestimmten Pattern-Auswahl.Diese Flags sorgen für Flexibilität bei der Interaktion mit Fabric, indem sie Antworten und Aktionen auf unsere spezifischen Anforderungen zuschneiden.
Die Befehlsstruktur von Fabric ermöglicht es Benutzern, über eine Befehlszeilenschnittstelle (CLI) effizient mit AI zu interagieren. Durch das Pipen von Eingaben in Fabric können Benutzer bestimmte Aktionen auslösen und verschiedene Aufgaben nahtlos ausführen. Die Eingaben für Fabric können vielfältig sein und an verschiedene Aufgaben angepasst werden. Die Eingabe kann Text, URLs, Dateipfade oder andere Befehlsausgaben enthalten. Ein Fabric-Befehl ist wie folgt aufgebaut:
1<INPUT> | fabric --model <MODEL> -p <PATTERN>
Bei der Verwendung von Fabric haben wir die Möglichkeit, zwischen lokalen und cloudbasierten KI-Modellen zu wählen. Lokale Modelle, wie z.B. die von Ollama, können ohne zusätzliche Kosten verwendet werden, erfordern aber robuste Hardware. Diese Modelle können mit dem Befehl ollama pull <MODEL>
heruntergeladen werden, wobei Details über Modelle auf der Ollama-Website verfügbar sind. Außerdem müssen Benutzer verschiedene Modellparameter- und Quantisierungsgrößen berücksichtigen, die sich auf die Leistung und den Ressourcenverbrauch auswirken.Andererseits bieten cloudbasierte Modelle wie OpenAI und Claude hohe Leistung und Komfort, sind aber kostenpflichtig. Wenn die lokale Hardware nicht ausreicht und die Modelle langsam reagieren, können wir uns über ein API-Token mit diesen entfernten Modellen verbinden und die verfügbaren Modelle mit dem Befehl fabric --listmodels
anzeigen.
Patterns sind der Kern der Funktionalität von Fabric. Sie wurden entwickelt, um spezifische Aufgaben zu bewältigen, wie z.B.:
Fabric Patterns unterscheiden sich von typischen Prompts, da sie getestet und stark strukturiert sind und Markdown verwenden, um Klarheit und Ordnung zu gewährleisten. Diese Struktur hilft nicht nur dem Ersteller bei der Entwicklung effektiver Aufforderungen, sondern erleichtert es auch der KI, den Anweisungen zu folgen und prägnante Antworten zu geben.
Ein Pattern kann zum Beispiel so aussehen:
# IDENTITY and PURPOSE
You are an expert content summarizer. You take content in and output a Markdown formatted summary using the format below.
Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
# OUTPUT SECTIONS
- Combine all of your understanding of the content into a single, 20-word sentence in a section called ONE SENTENCE SUMMARY:.
- Output the 10 most important points of the content as a list with no more than 15 words per point into a section called MAIN POINTS:.
- Output a list of the 5 best takeaways from the content in a section called TAKEAWAYS:.
# OUTPUT INSTRUCTIONS
- Create the output using the formatting above.
- You only output human readable Markdown.
- Output numbered lists, not bullets.
- Do not output warnings or notes—just the requested sections.
- Do not repeat items in the output sections.
- Do not start items with the same opening words.
# INPUT:
INPUT:
Fabric vereinfacht KI-Interaktionen durch seine Befehlszeilenschnittstelle (CLI), über die Eingaben in das Tool geleitet werden, um bestimmte Aktionen auszulösen. Dieser Ansatz ermöglicht die nahtlose Ausführung verschiedener Aufgaben, von der Transkription von Videos bis zur Abfrage von Informationen und der Verkettung von Befehlen. Schauen wir uns einige Anwendungsbeispiele an:
Transkribieren von YouTube-Videos:
Einfaches Transkribieren des Inhalts eines beliebigen YouTube-Videos:
1yt --transcript <YOUTUBE-VIDEO-LINK> | fabric --model <MODEL> -sp summarize
Dieser Befehl fasst die wichtigsten Punkte des Videos zusammen. Der yt
-Helfer ist ein integriertes Tool (wie ts
für Audiotranskriptionen oder save
für das Speichern von Inhalten, wobei der Ausgabestream intakt bleibt) zum Transkribieren des Inhalts eines YouTube-Videos.
Beliebige Fragen stellen:
Sofortige Antworten auf jede Frage:
1echo "Gib mir eine Liste von Eiscremegeschmacksrichtungen" | fabric -s -p ai
2Mit "ai" verwendet Fabric sein Standardmodell, um genaue Antworten auf eine gegebene Eingabe zu liefern.
Stitching:
Wir können mehrere Fabric-Befehle für komplexe Aufgaben verketten:
1pbpaste | fabric -p summarize | fabric -s -p write_essay
Stitching ermöglicht die nahtlose Integration weiterer Fabric-Funktionalitäten, um komplexe Aufgaben effektiv zu bewältigen. In diesem Beispiel leiten wir eine beliebige Eingabe (z. B. den Inhalt einer Website) mit pbpaste
in eine zusammenfassende Fabric-Aufgabe ein. Die Ausgabe der ersten Fabric-Aufgabe wird dann erneut über die Pipeline geleitet, um einen Aufsatz zu schreiben.
1yt --transcript https://www.youtube.com/watch\?v\=UbDyjIIGaxQ | fabric --model gpt-4-turbo -p extract_wisdom | fabric --model gpt-4-turbo -sp summarize
In diesem Beispiel transkribieren wir das YouTube-Video von Daniel Miessler über Fabric. Die Ausgabe wird dann in den Fabric-Befehl extract_wisdom
geleitet. Dieser Befehl extrahiert die wichtigsten Ideen, Zitate, Referenzen und Empfehlungen aus dem Video. Die Ausgabe des ersten Fabric-Befehls wird dann erneut über die Pipeline geleitet, um den Inhalt zusammenzufassen.
So sieht die Ausgabe, formatiert in Markdown, aus:
# ZUSAMMENFASSUNG IN EINEM SATZ:
Fabric, entwickelt von Daniel Miessler, ist ein Open-Source-KI-Tool, das die menschlichen Fähigkeiten durch die Vereinfachung der KI-Nutzung verbessern soll.
# WICHTIGSTE PUNKTE:
1. Fabric ist ein Open-Source KI-Tool, das die menschlichen Fähigkeiten erweitert.
2. Benutzer können mit Fabric über die Kommandozeile, GUI oder Sprachbefehle interagieren.
3. Das Tool bietet "Extract Wisdom" für eine effiziente Textverarbeitung.
4. Es unterstützt die Integration mit verschiedenen KI-Modellen und lokalen Setups.
5. Fabric ermöglicht die Erstellung von benutzerdefinierten Prompts, um spezifische Probleme zu lösen.
6. Es wurde für eine einfache Einrichtung über mehrere Plattformen hinweg entwickelt, was die Zugänglichkeit verbessert.
7. Die Beteiligung der Gemeinschaft wird bei der Entwicklung neuer Prompts und Muster gefördert.
8. Fabric lässt sich nahtlos in Anwendungen zur Erstellung von Notizen wie Obsidian integrieren.
9. Es bietet Muster, die die menschlichen Prozesse des Notierens und Zusammenfassens nachahmen.
10. Das CLI-native Design von Fabric spricht Benutzer an, die Befehlszeilenschnittstellen bevorzugen.
# TAKEAWAYS:
1. Fabric demokratisiert KI, indem es Open-Source ist und die Beiträge der Nutzer fördert.
2. Verringert die Schwierigkeit bei der KI-Nutzung und steigert die Produktivität und die Problemlösungsfähigkeiten.
3. Anpassbare Patterns ermöglichen maßgeschneiderte KI-Interaktionen, um individuelle Bedürfnisse zu erfüllen.
4. Lässt sich gut in textbasierte Systeme integrieren und passt in moderne digitale Arbeitsabläufe.
5. Das Community-gesteuerte Entwicklungsmodell fördert kontinuierliche Verbesserung und Innovation.
Fabric ermöglicht es uns auch, unsere eigenen Muster zu erstellen, indem wir einfach ein vordefiniertes Muster dafür verwenden! Um unser eigenes Muster zu erstellen, gehen wir zu .config/fabric
und erstellen einen neuen Ordner innerhalb des Verzeichnisses für unsere benutzerdefinierten Vorlagen. Innerhalb dieses Ordners legen wir einen weiteren Unterordner für unser Muster an und erstellen eine Datei system.md
, in die wir den Inhalt des von uns erstellten Musters einfügen.
``bash .config/fabric/MY_CUSTOM_PATTERNS/PATTERN_EXAMPLE/system.md
Um den eigentlichen Prompt für das Pattern zu erstellen, verwenden wir das improve_prompt Pattern und geben eine einfache und grobe Version eines Prompts an. Wir speichern die Ausgabe in der erstellten Datei `system.md`.
```bash
echo "Du bist ein Experte im Verstehen und Verarbeiten von TED-Talks, identifizierst die erwähnten Schlüsselpunkte, lustige Geschichten und Schlüsselzitate. Du identifizierst die Themen, erstellst Diskussionsfragen und identifizierst Geschichten." | fabric -sp improve_prompt
So könnte die Ausgabe aussehen:
Als KI-Assistent bist du darauf spezialisiert, TED-Talks zu analysieren und zu verarbeiten. Deine Aufgaben umfassen:
1. Identifiziere die wichtigsten Punkte, die im TED-Talk angesprochen werden.
2. Hebe humorvolle Anekdoten oder Geschichten hervor, die während des Vortrags erzählt werden.
3. Zitiere prägnante Aussagen oder Schlüsselzitate aus dem Vortrag.
4. Identifiziere die zentralen Themen des TED-Talks.
5. Erstelle auf der Grundlage des Vortrags präzise Diskussionsfragen zur weiteren Vertiefung des Themas.
6. Identifiziere und hebe inspirierende oder lehrreiche Geschichten hervor, die während des Vortrags erzählt werden.
Bitte beachte, dass du bei der Ausführung dieser Aufgaben immer präzise und detailliert sein solltest, um ein umfassendes Verständnis des TED-Talks zu gewährleisten.
In Fabric bezieht sich ein Context auf zusätzliche, vorab erstellte Informationen, die auf Patterns angewendet werden können, um mehr Kontext zu einer bestimmten Aufgabe hinzuzufügen und relevantere und genauere Antworten zu liefern, die auf spezifische Bedürfnisse zugeschnitten sind. Das macht Fabric noch anpassungsfähiger. Wir können dem Modell zum Beispiel sagen, dass es sich auf bestimmte Aspekte eines Themas innerhalb eines Textes konzentrieren und den Rest ignorieren soll, oder wir können ihm sagen, was wir erreichen wollen.
Benutzerdefinierte Kontexte können lokal gespeichert werden in:
1~/.config/fabric/context.
Agents sind modulare Komponenten, die für die Ausführung bestimmter Aufgaben oder die Interaktion mit Daten konzipiert sind. Sie erledigen Aufgaben wie Textzusammenfassung, API-Integrationen und Datenverarbeitung und machen Fabric vielseitig und anpassungsfähig für verschiedene KI-bezogene Funktionen. Agents werden über die CLI von Fabric aufgerufen und verwenden PraisonAI. Sie erweitern die Fähigkeiten von Fabric, indem sie gezielte Funktionalitäten ermöglichen, ohne das Kernframework umfassend zu verändern. Sie funktionieren mit OpenAI- und Ollama-Modellen.
1echo "Suche nach aktuellen Artikeln über die Zukunft von KI und schreibe einen 500-Wörter-Aufsatz über die Ergebnisse. Gib die Referenzen der Artikel an." | fabric --agents
So können die Ausgabe aussehen, wobei Fabric zunächst einen Agent mit seinen eigenen Pattern erstellt:
Starting PraisonAI...
[DEBUG]: == Working Agent: Research Coordinator
[INFO]: == Starting Task: Use WebsiteSearchTool to find and compile recent articles on the future of AI from various credible websites. Using PDFSearchTool, also look for relevant scientific papers in PDF format.
[DEBUG]: == [Research Coordinator] Task output: As an AI developed by OpenAI, I don't have direct access to external tools such as WebsiteSearchTool or PDFSearchTool to perform live searches or fetch real-time data from the internet. However, I can guide you on how to use search engines and databases to find recent articles and scientific papers on the future of AI.
...
[DEBUG]: == Working Agent: Essay Writer
[INFO]: == Starting Task: Write a 500-word essay based on the summaries provided by the Content Analyst, emphasizing the future of AI. Use MDXSearchTableTool to manage and format the document alignment and DirectoryReadTool for sorting and managing citations effectively.
[DEBUG]: == [Essay Writer] Task output: The future of artificial intelligence (AI) is poised to be transformative, impacting every sector from healthcare to finance, and beyond. In crafting this 500-word essay, I have drawn on various academic and industry sources to provide a comprehensive outlook on the advancements and challenges expected in AI in the coming years.
AI technology is advancing at a rapid pace, driven by increases in computational power and breakthroughs in machine learning algorithms. According to recent studies published on Google Scholar, the next decade will see significant enhancements in AI capabilities, including improved natural language processing, image recognition, and autonomous decision-making (Source: Google Scholar, 2023). These advancements will enable AI to perform more complex tasks with greater accuracy and less human intervention.
The integration of AI into everyday life and business operations will continue to grow. Industry reports accessed via IEEE Xplore highlight that AI will become integral in automating business processes, enhancing data analysis, and driving efficiencies across various industries (Source: IEEE Xplore, 2023). For instance, in healthcare, AI is expected to revolutionize diagnostics and personalized medicine, allowing for faster and more accurate patient care.
However, the rapid expansion of AI also presents significant challenges. Ethical concerns, such as privacy, surveillance, and bias in AI algorithms, are increasingly coming to the forefront. Research from ResearchGate indicates that there is a growing demand for robust ethical frameworks and regulations to govern AI development and implementation (Source: ResearchGate, 2023). Ensuring that AI systems are transparent, accountable, and free from bias is crucial to their acceptance and successful integration into society.
...
This essay, based on the latest 2023 publications and expert analyses from platforms such as Google Scholar, IEEE Xplore, ResearchGate, JSTOR, and Elsevier, offers a well-rounded view of the exciting and daunting future landscape of AI technology.
Eine Mill in Fabric bezieht sich auf die Serverkomponente, die verschiedene KI-Muster zur Verfügung stellt. Mills sind dafür verantwortlich, diese Muster zu hosten und zu verwalten, sodass Benutzer darauf zugreifen und sie ausführen können.
Looms sind die clientseitigen Anwendungen, die mit Mills interagieren. Sie sind dafür verantwortlich, Benutzereingaben an die Mills zu senden und die verarbeiteten Ergebnisse abzurufen. Looms können Befehlszeilentools, Webschnittstellen oder jede andere Anwendung sein, die mit der Mill kommuniziert.
Mills und Looms in Fabric ermöglichen es Unternehmen, Datenanalyseaufgaben effizient zu automatisieren. Ein Unternehmen, das große Mengen an Kundenfeedback verarbeitet, kann beispielsweise eine Mühle (Server) verwenden, um KI-Muster für Stimmungsanalysen und Zusammenfassungen zu hosten. Die Mitarbeiter greifen über Looms (clientseitige Anwendungen) auf diese Tools zu und senden die Daten zur schnellen Analyse an die Mühle. Dieses Setup beschleunigt die Gewinnung von Erkenntnissen, unterstützt eine schnelle Entscheidungsfindung und verbessert die allgemeine betriebliche Effizienz.
Fabric bietet auch eine benutzerfreundliche Benutzeroberfläche, die seine Vielseitigkeit über die Befehlszeilenschnittstelle hinaus erweitert. Durch das Ausführen von fabric --gui
können Benutzer die Fabric-Benutzeroberfläche aufrufen, die Node.js und NPM (Node Package Manager) bereitstellt. Es empfiehlt sich sicherzustellen, dass Node und NPM installiert ist.
Diese grafische Oberfläche vereinfacht die Interaktion mit Fabric und bietet eine intuitive Möglichkeit, auf die Funktionalitäten zuzugreifen und Aufgaben zu verwalten. Das Fabric-UI rationalisiert den Prozess der Konfiguration von Modellen, der Ausführung von Befehlen und der Visualisierung von Ergebnissen und macht ihn für Benutzer zugänglich, die eine visuelle Schnittstelle gegenüber Befehlszeilenoperationen bevorzugen. Sie erweitert den Nutzen von Fabric, indem sie sowohl Anfängern als auch erfahrenen Nutzern einen nahtlosen Integrationspunkt bietet, um die KI-Funktionen effektiv zu nutzen.
Fabric ist mehr als nur eine Sammlung von KI-Eingabeaufforderungen; es ist ein robustes Framework, das entwickelt wurde, um die menschlichen Fähigkeiten durch die nahtlose Integration von KI in alltägliche Aufgaben zu erweitern. Durch die Verringerung der mit der KI-Integration verbundenen Schwierigkeiten hilft Fabric den Nutzern, das volle Potenzial der künstlichen Intelligenz auszuschöpfen, was es zu einem unschätzbaren Werkzeug für den privaten und beruflichen Gebrauch macht. Ganz gleich, ob wir unsere Arbeitsabläufe rationalisieren, unsere Produktivität steigern oder einfach nur die Möglichkeiten der KI erkunden wollen, Fabric bietet uns die Werkzeuge, die wir für unseren Erfolg benötigen.
Wenn Sie mehr über KI-Tools erfahren möchten, lesen Sie unseren Blogbeitrag über AI Coding Assistants. Bleiben Sie an unserem Blog dran, um weitere Updates zu den neuesten Tools und Technologien zu erhalten. Bei Infralovers sind wir bestrebt, Sie auf dem neuesten Stand der Technik zu halten.
Sie interessieren sich für unsere Trainings oder haben einfach eine Frage, die beantwortet werden muss? Sie können uns jederzeit kontaktieren! Wir werden unser Bestes tun, um alle Ihre Fragen zu beantworten.
Hier kontaktieren