From 2dbf23a91f1a7fde850231e94b84b72accdeedaa Mon Sep 17 00:00:00 2001 From: Joachim Happel Date: Tue, 30 Apr 2024 18:05:08 +0200 Subject: [PATCH] tests --- crew-generiere-datei-aus-recherche.py | 4 +-- flagged/log.csv | 1 + research-gui.py | 48 +++++++++++++++------------ 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/crew-generiere-datei-aus-recherche.py b/crew-generiere-datei-aus-recherche.py index 71bc84c..2c3639d 100644 --- a/crew-generiere-datei-aus-recherche.py +++ b/crew-generiere-datei-aus-recherche.py @@ -17,7 +17,7 @@ from crewai_tools import DirectoryReadTool, FileReadTool, WebsiteSearchTool, Sc from datetime import datetime # Set date -date_today = datetime.now().strftime("%Y-%m-%d") +date_today = datetime.now().strftime("%Y-%m-%d-%H-%M-%S") # Instantiate tools docs_tools = DirectoryReadTool(directory='F:\\blog-posts') @@ -50,7 +50,7 @@ research = Task( write = Task( description='Schreibe für heute einen ansprechenden Blogbeitrag finde eineÜberschrift unter Verwendung der Zusammenfassung in deutsch. Versichere dass es keine Dopplungen mit ihnalten aus anderen Dateien gibt.', - expected_output='Ein deutschprachiger Blogbeitrag markdown in 4 Absätzen über neue Inhalten. Charset: UTF8', + expected_output='Ein deutschprachiger Blogbeitrag markdown in 4 Absätzen über neue Inhalten. Charset: UTF-8', agent=writer, output_file=f"F:\\blog-posts\\post_theoweb_{date_today}.md" ) diff --git a/flagged/log.csv b/flagged/log.csv index 44f7af1..a27d8a8 100644 --- a/flagged/log.csv +++ b/flagged/log.csv @@ -138,3 +138,4 @@ Kategorie: Helmut Kohl - Bekannt für: Kohl diente 16 Jahre lang (von 1982 bis 1998) als Kanzler Deutschlands und spielte eine bedeutende Rolle bei der Wiedervereinigung Deutschlands. Hinweis: Die ursprünglichen Informationen möglicherweise nicht vollständig korrekt waren und dass weitere Untersuchungen erforderlich sind, um die Verbindung dieser Persönlichkeiten zu Bingen zu klären.",,,2024-03-28 14:09:13.039461 +,,,,2024-04-05 16:31:17.203674 diff --git a/research-gui.py b/research-gui.py index 74ee0e6..7127d54 100644 --- a/research-gui.py +++ b/research-gui.py @@ -10,6 +10,7 @@ from langchain_community.tools import DuckDuckGoSearchRun # ChatCPT 3.5 importieren from langchain_openai import ChatOpenAI turbo35 = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.7) +gpt4 = ChatOpenAI(model_name="gpt-4-0125-preview", temperature=0.7) # Wikipedia Suche importieren from langchain_community.tools.wikipedia.tool import WikipediaQueryRun @@ -20,7 +21,8 @@ from langchain_community.tools.arxiv.tool import ArxivQueryRun # Initialisieren Sie die Tools -ollama_llm = Ollama(model="mistral") +ollama_llm = Ollama(model="solar") +starcoder2 = Ollama(model="starcoder2") search_tool = DuckDuckGoSearchRun() wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper()) arxiv = ArxivQueryRun() @@ -31,8 +33,9 @@ informations_sammler = Agent( goal='Sammeln von Basisinformationen und Zitate zum Thema', backstory="""Spezialisiert auf die Sammlung und Analyse von Grundinformationen und wichtiger Zitate.""", verbose=True, + async_execution=True, allow_delegation=False, - llm=ollama_llm + llm=gpt4 ) informations_verifizierer = Agent( @@ -40,40 +43,43 @@ informations_verifizierer = Agent( goal='Verifizieren und Erweitern der Informationen durch Websuche. Füge Zitate und Urls als Belege hinzu. Entferne falsche Informationen aus den Ergebnissen. Suche nach weiteren Informationen und Zitaten gegebenenfalls über deutsche und englische Wikipedia. Nutze geignete Begriffe für die Suche in Arxiv.', backstory="""Experte in der Überprüfung von Informationen und der Erweiterung durch effektive Websuchen.""", verbose=True, - allow_delegation=False, - tools=[search_tool,wikipedia,arxiv], - llm=ollama_llm + allow_delegation=True, + async_execution=False, + tools=[search_tool,wikipedia], + llm=gpt4 ) informations_organisator = Agent( role='Inhaltsmanager', - goal='Gliedern der Informationen, Zitate und Links nach Kategorien', - backstory="""Zuständig für die Organisation der gesammelten Informationen in einer strukturierten Form.""", + goal='Gliedern der korrekten Informationen, Zitate und Links nach Kategorien', + backstory="""Zuständig für die Organisation der korrekten Informationen in einer strukturierten Form.""", verbose=True, allow_delegation=False, - llm=ollama_llm + async_execution=False, + llm=gpt4 ) # Erstellen Sie Aufgaben für Ihre Agenten task1 = Task( - description="""Sammle grundlegende Informationen über eun Thema.""", - #agent=informations_sammler, - expected_output="""Eine Zusammenfassung von Basisinformationen über das Thema, + description="""Sammle grundlegende Informationen über eun Thema.""", + agent=informations_sammler, + expected_output="""Eine Zusammenfassung von Basisinformationen über das Thema, einschließlich Definitionen, wichtigsten Fakten und allgemeinem Überblick.""" ) task2 = Task( - description="""Verifiziere die gesammelten Informationen und erweitere sie durch zusätzliche Websuchen.""", - #agent=informations_verifizierer, - expected_output="""Eine verifizierte und erweiterte Liste von Informationen zu Thema X, - inklusive zusätzlicher Quellen und tiefergehenden Einsichten.""" + description="""Verifiziere die gesammelten Informationen, streiche falsche und erweitere sie durch zusätzliche Websuchen.""", + agent=informations_verifizierer, + expected_output="""Eine verifizierte und erweiterte Liste von Informationen zu Thema X, + inklusive zusätzlicher Quellen und tiefergehenden Einsichten.""", + context=[task1] ) task3 = Task( - description="""Erzeuge aus den gesammelten und verifizierten Informationen einegeliedertes Essay von 2000 Worten, dass die Zusammenstellung der recherchierten und verifizierten Informationen mit entsprechenden Quellenangaben berücksichtigt.""", - #agent=informations_organisator, - expected_output="""Ein gut strukturiertes Dokument, das die Informationen zu Thema X - klar gegliedert präsentiert, für einen umfassenden einblick in das Thema.""" + description="""Erzeuge aus den gesammelten und verifizierten Informationen eine Zusammenstellung mit entsprechenden Quellenangaben.""", + agent=informations_organisator, + expected_output="""Eine Liste mit verifizierten Informationen.""", + context=[task2] ) # Instanziieren Sie Ihre Crew mit einem sequenziellen Prozess @@ -81,8 +87,8 @@ crew = Crew( agents=[informations_sammler, informations_verifizierer, informations_organisator], tasks=[task1, task2, task3], verbose=2, - manager_llm=turbo35, - process=Process.hierarchical + manager_llm=gpt4, + process=Process.sequential ) # Starten Sie den Arbeitsprozess!