A Pilha Tecnica Que Uso Para Micro Saas 99 Das Vezes A Pilha Tecnica Que Uso Para Micro Saas 99 Das Vezes

LLM ABCs: „LLM-gesteuerte Anwendungen entwickeln“ – Ein Tor zu der Zukunft der KI

KI ist ein weites Thema: schwer zu wissen, wo man anfangen soll. Wie kann man den Weg für Entwickler, Forscher und Träumer gleichermaßen beleuchten?

Trotz des KI-Hypes und der immer wiederkehrenden KI-Blase in den täglichen Nachrichten gibt es eine riesige oberflächliche Kenntnis darüber, was KI ist und wie sie funktioniert.

Warum sollten Sie sich also dafür interessieren?

Weil KI nicht nur um coole Gadgets geht; sie formt unsere Zukunft, von der Gesundheitsversorgung bis zur Bildung, und wir müssen informierte Teilnehmer und keine passiven Zuschauer sein. 🌐

Das Lernen aus verstreuten Nachrichten, viralen Tweets oder schnellen YouTube-Clips ist wie das Versuch, Schwimmen aus einer Reihe von Memes zu lernen. Sicher, Sie werden lachen, aber Sie werden den tiefen Bereich nicht überleben! 🏊‍♂️

Es gibt keine bessere Zeit als jetzt, umfassende Bücher und strukturierte Kurse zu nutzen, die die ABCs von KI und großen Sprachmodellen entmystifizieren. Diese sind unsere intellektuellen Rettungswesten im Meer des KI-Wissens.

„LLM-gesteuerte Anwendungen entwickeln“ von Valentina Alto ist der richtige Leitfaden zur Künstlichen Intelligenz. Dieses Buch ist nicht nur ein Handbuch: Es ist ein Reisepass in eine Welt, in der Sprachmodelle nicht an menschliche Grenzen gebunden sind. Hier können Sie lernen, wie Sie Wunder jenseits Ihrer Vorstellungskraft schaffen.

In diesem Artikel werde ich über das Buch sprechen und einige Beispiele dafür geben, was wir mit LangChain und einem besseren Verständnis von großen Sprachmodellen lernen und tun können.

LLM ABCs:

Quelle: Bild vom Autor

LLM-gesteuerte Anwendungen entwickeln

Ich habe vor zwanzig Monaten begonnen, Künstliche Intelligenz zu lernen. Zunächst über Kaggle-Kurse zu Machine Learning: wahrscheinlich die besten kostenlosen Kurse, die ich je besucht habe.

Mit der Veröffentlichung von ChatGPT wurde Generative KI zur dringenden Angelegenheit: Ich meine, es war eindeutig ein Zeichen für eine neue Ära, ein Zeichen so deutlich, dass es für mich eher eine Warnung war!

Lerne es, oder bleibe zurück.

Die Ankunft von ChatGPT und der rasche Fortschritt in der Generativen KI bedeuten tatsächlich einen wichtigen Meilenstein in der Entwicklung der Technologie. Für mich geht es dabei nicht nur darum, mit den neuesten Trends Schritt zu halten; es geht darum zu verstehen, wie diese Technologien meinen Beruf und alle Branchen, von der Bildung bis zur Gesundheitsversorgung, Finanzen, kreativen Künsten und darüber hinaus, neu gestalten werden.

Um „es zu lernen“ bedeutet, die Oberfläche abzukratzen und in die Prinzipien des maschinellen Lernens, der natürlichen Sprachverarbeitung (NLP) und des Tiefenlernens einzutauchen, die solchen Systemen zugrunde liegen. Dazu gehören:

  1. Grundlagen verstehen: Beginnen Sie mit dem Erlernen der Grundlagen von KI und Machine Learning, einschließlich überwachtem und unüberwachtem Lernen, Verstärkungslernen und den Algorithmen, die sie unterstützen.
  2. Natürliche Sprachverarbeitung (NLP): Tauchen Sie tief in die NLP ein, die für die Funktionalität von Transformers Large Language Models von zentraler Bedeutung ist.
  3. Ethische und soziale Implikationen: Untersuchen Sie die ethischen Überlegungen zur KI, einschließlich Datenschutz, Voreingenommenheit und sozialer Auswirkungen dieser Technologien. Dies ist ebenso wichtig wie das technische Wissen.
  4. Praktische Umsetzung: Experimentieren Sie mit Plattformen und Tools, die Ihnen die Arbeit mit generativen Modellen ermöglichen. OpenAI’s API, TensorFlow, PyTorch und Hugging Face sind gute Ausgangspunkte.
  5. Kontinuierliches Lernen: KI ist ein sich schnell entwickelndes Feld. Halten Sie sich mit Forschungsarbeiten, Online-Kursen, Podcasts und Konferenzen auf dem Laufenden.
  6. Kreativität und Anwendung: Überlegen Sie, wie Generative KI innovativ in Ihrem spezifischen Bereich eingesetzt werden kann. Sei es bei der Inhaltserstellung, der Automatisierung von Kundenservice oder der Unterstützung bei komplexer Problemlösung.

„LLM-gesteuerte Anwendungen entwickeln“ von Valentina Alto war in den letzten Wochen mein Leitfaden zur Künstlichen Intelligenz.

Die Autorin ist in der Lage, die komplexen Mechanismen von LLMs zu entmystifizieren und sie in ein Baukastensystem für Entwickler zu verwandeln. Es ist, als würde man zu unseren geliebten LEGO-Steinen zurückkehren. Sie scheut sich nicht davor, die Realität anzuerkennen, dass „anders als Menschen LLMs nicht in der Lage sind, sich von Fehlern selbst zu erholen„.

Aber sie rüstet Sie aus, um diese Gewässer geschickt zu navigieren! Jedes Kapitel kann einzeln gelesen werden, aber die Reihenfolge ist nicht zufällig. Der Fortschritt der Kapitel sind Schritte auf dem Weg zu robusteren KI-Lösungen.

LLM ABCs:

Quelle: von lexica.art

ReAct und Websuche

Hier ist ein Beispiel: Ich habe eines der Projekte genommen und es angepasst, um nur mit Open-Source-LLMs zu arbeiten. Folgen wir den Anweisungen in Kapitel 4, werfen wir einen Blick auf ReAct. Reason and Act ist ein allgemeines Paradigma, das das Überlegen und Handeln mit LLMs kombiniert. ReAct fordert das Sprachmodell auf, verbale Begründungen und Aktionen für eine Aufgabe zu generieren und erhält auch Beobachtungen aus externen Quellen wie Websuchen oder Datenbanken.

Zum Beispiel möchten wir unser Modell nach einigen aktuellen Informationen über eine politische Dummheit fragen, die in Italien passiert. Dazu werden wir einen intelligenten LangChain-Agenten (wie in Kapitel 2 beschrieben) erstellen, der DuckDuckGoSearchAPIWrapper (ein kostenloses Tool, um die DuckDuckGo-Suchmaschine zum Navigieren im Web zu verwenden), das AgentType-Tool (um zu entscheiden, welche Art von Agent für unser Ziel verwendet werden soll) und andere promptbezogene Module (um es einfacher zu machen, unsere Anweisungen zu „templatisieren“). Sehen wir uns an, wie wir das tun können:

Zunächst installieren wir einige Abhängigkeiten und packen ein Qwen-1.5–72b-chat-Modell ein, das vollständig kostenlos mit HuggingFace Gradio API (Sie können hier mehr lesen) verwendet wird: Ich verwende eine kostenlose Laufzeit von Google Colab Notebooks.

Abhängigkeiten installieren

%pip install --upgrade --quiet  gradio_tools huggingface_hub langchain langchain-community langgraph google-search-results faiss-cpu tiktoken duckduckgo-search

LLM einpacken

from langchain_core.language_models.llms import LLM
class GradioLLMChat(LLM):
    """
    Benutzerdefinierte LLM-Klasse basierend auf dem Gradio API-Aufruf.
    Es wird Qwen 1.5-72b-chat von HF Spaces API verwendet
    """
    from typing import Any, Dict, Iterator, List, Mapping, Optional
    from langchain.callbacks.manager import CallbackManagerForLLMRun
    from langchain_core.language_models.llms import LLM
    from langchain_core.outputs import GenerationChunk
    from langchain_core.output_parsers import StrOutputParser
    from langchain_core.prompts import ChatPromptTemplate
    from gradio_client import Client
    chatbot: Any = None
    def init(self, *args, **kwargs):
        super().init(*args, **kwargs)
        self.chatbot = Client("https://qwen-qwen1-5-72b-chat.hf.space/--replicas/061qr/")
    @property
    def _llm_type(self) -> str:
        return "Gradio API client Qwen1.5-72b_Chat"
    def _call(
            self,
            prompt: str,
            stop: Optional[List[str]] = None,
            run_manager: Optional[CallbackManagerForLLMRun] = None,
            chatbot=None,
            request: float = 0.95, #it's the history touple
            param: str = 'You are a helpful assistant', #it's the system message
    ) -> str:
        """
        Führen Sie einen API-Aufruf an den Gradio API-Client Qwen1.5-72b_Chat mit der angegebenen Eingabeaufforderung aus und geben Sie die Antwort zurück.
        """
        if chatbot is None:
            chatbot = self.chatbot
        # Geben Sie die Antwort von der API zurück
        result = chatbot.predict(   #.submit für Streaming-Effekt / .predict für normale Ausgabe
                param, # str  in 'Input' Textbox-Komponente
                [], # Tuple[str | Dict(file: filepath, alt_text: str | None) | None, str | Dict(file: filepath, alt_text: str | None) | None]  in 'Qwen1.5-72B-Chat' Chatbot-Komponente
                prompt, # str  in 'parameter_9' Textbox-Komponente
                api_name="/model_chat"
        )
        return result[1][0][1]

Jetzt sind wir bereit, die kostenlose DuckDuckGo-API-Suchmaschine (nur für aktuelle Informationen) zu erstellen und sie als Tool für unseren LLM zu binden. Sie haben Ihren ersten kostenlosen Agenten!

import os
#from https://python.langchain.com/v0.1/docs/integrations/tools/ddg/
from langchain_community.utilities import DuckDuckGoSearchAPIWrapper
#wrapper = DuckDuckGoSearchAPIWrapper(region="de-de", time="d", max_results=8)
from langchain.agents import AgentType, initialize_agent
from langchain.chat_models import ChatOpenAI
from langchain.tools import BaseTool, StructuredTool, Tool, tool
from langchain.schema import HumanMessage
from gradio_client import Client
model = GradioLLMChat()
search = DuckDuckGoSearchAPIWrapper(max_results=5)
tools = [
    Tool.from_function(
        func=search.run,
        name="Search",
        description="nützlich, wenn Sie Fragen zu aktuellen Ereignissen beantworten oder online nach Nachrichten suchen müssen"
    )
    ]
agent_executor = initialize_agent(tools, model,
                                agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
                                verbose=True)

Wenn Sie die Agentenvorlage drucken, erhalten Sie eine Vorstellung davon, womit wir es zu tun haben…

print(agent_executor.agent.llm_chain.prompt.template)
Beantworten Sie die folgenden Fragen so gut wie möglich. Ihnen stehen die folgenden Tools zur Verfügung:
Search(query: str) -> str - nützlich, wenn Sie Fragen zu aktuellen 
Ereignissen beantworten oder online nach Nachrichten suchen müssen
Verwenden Sie das folgende Format:
Frage: die Eingabefrage, die Sie beantworten müssen
Gedanke: Sie sollten immer darüber nachdenken, was zu tun ist
Aktion: die auszuführende Aktion, sollte eine von [Search] sein
Aktions-Eingabe: die Eingabe zur Aktion
Beobachtung: das Ergebnis der Aktion
... (dieser Gedanke/Aktion/Aktions-Eingabe/Beobachtung kann sich N-mal wiederholen)
Gedanke: Ich kenne jetzt die endgültige Antwort
Endgültige Antwort: die endgültige Antwort auf die ursprüngliche Eingabefrage
Los geht's!
Frage: {input}
Gedanke:{agent_scratchpad}

Jetzt können wir unseren Agenten ausführen, um uns mitzuteilen, was im Mai 2024 passiert ist, als Ministerpräsidentin Giorgia Meloni einen der Gouverneure getroffen hat

agent_executor('suche online nach den Nachrichten und erzähle mir den Vorfall im Mai 2024, als Giorgia Meloni den Gouverneur De Luca getroffen hat')

Wenn Sie dies ausführen, erhalten Sie eine erstaunliche Erklärung, was der Agent tut, bevor er zur endgültigen Antwort kommt

> Betrete neue AgentExecutor-Kette...
Ich muss die Suchfunktion verwenden, um relevante Informationen über 
dieses spezifische Ereignis zu finden.
Aktion: Suchen 
Aktions-Eingabe: "Mai 2024 Giorgia Meloni Gouverneur De Luca Vorfall"
Beobachtung: Lesen Sie auf Sky TG24 den Artikel De Luca antwortet auf Meloni nach Treffen in Caivano: "Sie hat ihre wahre Identität offenbart" ... 29. Mai 2024 - 14:21 
... Von der Ministerpräsidentin Giorgia Meloni, hat ... "Präsident De Luca, 
die Schlampe der Meloni!''. Die Premierministerin schüttelt dem Gouverneur 
der Kampanien so die Hand, während sie ihn daran erinnert, wie er ... Im Verlauf von Tagadà,
auf La7, wird der Austausch der sozialen Kommunikation von De Luca gezeigt, der mit kaltem Kopf gegen Meloni kontert.
Ecco i rosicon...zi gegen Giorgia. Da De ... Caivano (Neapel),
28. Mai 2024 - Es ist immer noch Streit zwischen der Ministerpräsidentin Giorgia Meloni und Vincenzo
De Luca, Präsident der Region Kampanien. Der Anlass, diesmal,
ist die Einweihung des ... Ministerpräsidentin Giorgia Meloni stellte sich als "die Schlampe" dem Gouverneur von Kampanien Vincenzo De Luca vor, nachdem er
sie als 'stronza' (Schlampe) bezeichnet hatte, als er mit Journalisten im Abgeordnetenhaus sprach 
in ...
Gedanke: Ich kenne jetzt die endgültige Antwort
Endgültige Antwort:Im Mai 2024 ereignete sich ein Vorfall zwischen der italienischen Ministerpräsidentin 
Giorgia Meloni und dem Gouverneur von Kampanien, Vincenzo De Luca, während einer 
Einweihungsveranstaltung in Caivano, Neapel. Gouverneur De Luca hatte Meloni zuvor 
als "stronza" (Schlampe) in einer öffentlichen Erklärung bezeichnet, was zu einer angespannten 
Interaktion zwischen den beiden führte, als sie sich trafen. Während ihrer Begegnung soll Meloni 
sich De Luca gegenüber als "die Schlampe" vorgestellt haben, wobei sie sich auf seine frühere Bemerkung bezog.
Dieser Austausch löste weitere Kontroversen und Medienaufmerksamkeit aus.

Super cool… und völlig kostenlos!

Hier ist der Link zum GitHub-Repo mit dem oben verwendeten Code

LLM ABCs:

Zeit, Konsistenz, Fortschritt – lexica.art

Lernen ist ein Fortschritt

Weiter im Buch. In Kapitel 1 stehen wir an der Schnittstelle von Theorie und Praxis. Die Autorin stellt die LLMs vor und in Kapitel 5 haben wir praktische LangChain-KI-Anwendungen. Es ist eine aufregende Reise, gemischt mit realen Anwendungsfällen, die die innovative Kraft von LLMs zum Leben erwecken.

Aber was dieses Buch wirklich auszeichnet, ist seine inklusive Natur. Jeder ist willkommen, von Python-Anfängern bis hin zu erfahrenen KI-Veteranen, mit einem maßgeschneiderten Erlebnis. Die Autorin schafft es, die Erwartungen von Datenwissenschaftlern, Startup-CTOs und Anfängern zu erfüllen: Niemand wird zurückgelassen.

Ich kann es laut sagen! Ich bin kein KI-Guru, aber mit dem, was ich gelernt habe, habe ich es geschafft, den Code sogar anzupassen und an meinen bevorzugten Open-Source-Ansatz anzupassen!

Dann kommt Prompt Engineering, diese feine Kunst, LLM-Flüstern zu gestalten, die in Kapitel 4 als Symphonie beschrieben wird. Hier lernen Sie, Aufgaben aufzuteilen, nach Begründungen zu fragen und das LLM sogar zu zwingen, Ihnen mehrere Ausgaben zu geben. Eine clevere Umgehung für diese unvermeidlichen Fehler. Es ist ein klares Beispiel für ihren Glauben, Herausforderungen in Chancen für Innovationen umzuwandeln.

Wir sind verantwortlich, wir sind rechenschaftspflichtig

„LLM-gesteuerte Anwendungen entwickeln“ ist nicht nur ein Handbuch; es ist ein Manifest für verantwortungsvolle KI. Kapitel 12 behandelt die Ethik der KI und erinnert uns daran, dass mit großer Macht große Verantwortung einhergeht.

Ich meine, wir sind keine neuen Spider-Mans, aber sicherlich müssen wir als KI-Pioniere, die mit Empathie und Weitsicht bauen, die Auswirkungen unserer Schöpfungen berücksichtigen.

Wenn Sie sich bereit fühlen, auf jedem Einstiegsniveau in die KI einzusteigen, ist dieses Buch Ihr Schlüssel.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert