In diesem Beitrag möchte ich euch meine Anwendung vorstellen die in der Lage ist im Internet eingeständig Themen zu recherchieren und zu analysieren. Als ergebnis wird dann ein Bericht geschrieben der die wesentlichen Punkte enthält und je nach Anforderungen auch Empfehlungen aussprechen kann oder Trends aufzeigt. Für mich sind diese AI-Agenten die mit der Hilfe der großen Sprachenmodelle (LLMs) hier eigenständig Arbeiten noch recht neu aber sehr faszinierend. Denn so ist sehr viel möglich und vorallem sind komplexe Analysearbeiten möglich deren Wahrheitsgehalt auch recht groß ist da auf die Ergebnisse aus dem Internet zugegriffen wird. Aber wie immer gilt auch im Internet steht viel und am Ende muss man sich selber noch überlegen ob das Ergebnis so richtig ist oder eben nicht. Aber bei der Nennung von Quellen und Vorschlägen ist die Unterstützung von AI-Agenten sehr hilftreich.
Aber die Recherche ist nur ein Themenfeld bei dem Agenten zusammen mit Sprachenmodellen untersützen können. Das Konzept kann auch in die Richtung der Hausautomatisierung gedacht werden oder rein zur Unterhaltung als ein AI-Unterhalter für einsame Menschen z. B. in einem Pflegeheim die gerne zuhören und sich über einen Bezug in ihrem Leben freuen.
Hinweis: Die Lösung die ich hier vorstelle ist so aufgebaut, dass sie OpenSource Sprachenmodelle verwendet und im Grunde keine Kreditkarte gebraucht wird für die Bezahlung von Services. Das bedeutet aber auch, dass leistungsstarke Hardware benötigt wird um die Sprachenmodelle lokal laufen lassen zu können.
Installation der Software
Jetzt geht es darum die notwendige Software einzurichten die benötigt wird um das Python-Beispielprogramm on-prem zuhause auf der eigenen Hardware oder in der Firma in der man aktiv ist laufen lassen zu können.
Anaconda Umgebung anlegen
Ich verwende immer Ubuntu als Betriebssystem und hier richtige ich mir für meine Projekte immer eine virtuelle Anaconda Umgebung ein. Wer noch nicht Anaconda auf seinem Rechner installiert hat erfährt hier wie das geht: Installation von Anaconda auf Ubuntu LTS Version
Jetzt kann mit dem folgenden Befehl eine passende Anaconda Umgebung mit Pyhton 3.11 angelegt werden.
Befehl: conda create --name <NAME_DER_VIRTUELLEN_UMGEBUNG> -c conda-forge python=3.11
Die frisch angelegte Anaconda Umgebung wird mit dem folgenden Befehl aktiviert.
Befehl: conda activate <NAME_DER_VIRTUELLEN_UMGEBUNG>
CrewAI installieren
CrewAI ist ein Framework, dass es sehr einfach macht eigene AI Agenten zu verwenden und auch zu entwickeln. So lassen sich die großen Sprachenmodelle nutzen um Aufgaben zu automatisieren bzw. schneller in einer höheren Qualität lösen zu lassen.
Befehl: pip install crewai
Die CrewAI tools müssen auch noch installiert werden.
Befehl: pip install 'crewai[tools]'
Zusätzliches Python Bibliotheken
Jetzt werden noch zusätzliche Python Bibliotheken benötigt die ihr mit den folgenden Befehlen einrichtet.
Befehl: pip install -U duckduckgo-search
Befehl: pip install streamlit
Befehl: pip install pydantic
Befehl: pip install -U textwrap3
Jetzt sind auf eurer Entwicklungsumgebung soweit alle Vorraussetzungen geschaffen. Ein Baustein fehlt jetzt noch der Ollama Server der die Sprachenmodelle bereitstellt. Wenn ihr diesen noch nicht installiert habt dann lest euch bitte den folgenden Bericht von mir durch. Dieser beschreibt wie Ollama installiert und konfiguriert wird: Ollama Ubuntu Installation und Konfiguration
AI Agenten Programm
Jetzt habt ihr die virtuelle Umgebung eingerichtet und das Pythonprogramm sollte bei euch lauffähig sein.
Hinweis: Wichtig ist, dass ihr die IP Adresse des Ollama Servers einragt unter der dieser bei euch zu erreichen ist. Andernfalls wird das Programm nicht laufen können.
Das Programm selber findet ihr hier auf GitHub. Dort werde ich auch immer wieder Aktualisierungen veröffentlichen wenn dies notwendig sein sollte.
GitHub: https://github.com/custom-build-robots/ai-agents-with-CrewAI
Umgebungsvariablen setzen
Bei der Verwendung von Ollama und CrewAI ist es wichtig die Umgebungsvarialben zu setzen. Das ist hier auf der nachfolgenden Seite erklärt.
URL: Setting Up Ollama
OPENAI_API_BASE='http://localhost:11434/v1'
OPENAI_MODEL_NAME='openhermes' # Adjust based on available model
OPENAI_API_KEY=''
Video einer Agenten Lösung
Das Video zeigt ein kleines Pythonprorgamm das ich mir geschrieben habe das mir bei der Recherche im Internet hilft. Dabei generiert es direkt Texte und Zusammenfassungen von Suchergebnissen und schreibt einen Artikel aus den gefundenen Ergebnissen.
CrewAI aktualisieren
Ihr solltet auch immer mal CrewAI und die CrewAI Tools auf den neuesten Stand bringen. Das macht ihr mit den beiden jetzt folgenden Befehlen.
Befehl: pip install -U crewai
Befehl: pip install -U 'crewai[tools]'
Zusammenfassung:
Die Arbeit mit AI-Agenten macht sehr viel Freude und ist interessant für mich. Denn so kann ich in kürzester Zeit das Aufwändige Suchen im Internet von den Agenten erledigen lassen. Noch können die Tools wie die Internetsuche oder von mir gerne eingesetzt da kostenlos die DuckDuckGo Suche besser funktionieren. Aber wenn ich mehr Potential sehe kann ich mir auch bei entsprechenden API Services die angebotenen Services anschauen und so für mich einsetzen das die Internetsuche deutlich besser funktioniert. Bis jetzt habe ich das noch nicht gemacht und bin zufrieden mit den Ergebnissen die ich bis jetzt erhalte.
Danke für das Tool! Ich habe erst kürzlich angefangen mich mit der Thematik zu beschäftigen und bin für meine Erwartungen weiter gekommen als gedacht 🙂
Nun erhalte ich allerdings beim Starten der Anwendung folgende Fehlermeldung:
/home/anton/ai-stuff/ai-agents-with-CrewAI/crewAI_next_generation_github_version.py:48: LangChainDeprecationWarning: The class `Ollama` was deprecated in LangChain 0.3.1 and will be removed in 1.0.0. An updated version of the class exists in the :class:`~langchain-ollama package and should be used instead. To use it run `pip install -U :class:`~langchain-ollama` and import as `from :class:`~langchain_ollama import OllamaLLM„.
ollama_llm = Ollama(model=“llama3.2″, base_url=local_base_url)
Wenn ich dann dennoch eine Analyse starten möchte, erhalte ich zusätzliche folgende Meldungen:
/home/anton/ai-stuff/ai-agents-with-CrewAI/crewAI_next_generation_github_version.py:421: LangChainDeprecationWarning: The class `LLMChain` was deprecated in LangChain 0.1.17 and will be removed in 1.0. Use :meth:`~RunnableSequence, e.g., `prompt | llm„ instead.
llm_chain = LLMChain(prompt=prompt_task_1, llm=ollama_llm_rewrite_task)
/home/anton/ai-stuff/ai-agents-with-CrewAI/crewAI_next_generation_github_version.py:422: LangChainDeprecationWarning: The method `Chain.run` was deprecated in langchain 0.1.0 and will be removed in 1.0. Use :meth:`~invoke` instead.
Was mache ich falsch?
Hallo Anton,
die Meldung besagt das in meinem Beisiel Methoden verwendet werden die veraltet (deprecated) sind. Also müsstest Du die Andwendung aktualisieren das diese veralteteten Methoden nicht mehr verwendet werden.
Die Entwicklung schreitet voran und da kann das schon mal passieren von den Softwareherstellern / Projekten das Teile nicht mehr weiter entwickelt werden bzw. ersetzt werden.
Viele Grüße,
Maker