From d850577d58920bf64cbe2b634a09d6e6003d2e59 Mon Sep 17 00:00:00 2001 From: Joachim Happel Date: Mon, 25 Mar 2024 13:05:23 +0100 Subject: [PATCH] first --- crew-suche-information-pruefe-wiki.py | 92 +++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/crew-suche-information-pruefe-wiki.py b/crew-suche-information-pruefe-wiki.py index e69de29..4248bdd 100644 --- a/crew-suche-information-pruefe-wiki.py +++ b/crew-suche-information-pruefe-wiki.py @@ -0,0 +1,92 @@ +# Beschreibung: GPT Team für Wissen + +# Vorbereitung: pip install python-dotenv crewai langchain langchain-community setuptools wikipedia +# pip install -U duckduckgo-search + +# Importieren Sie die erforderlichen Bibliotheken +# Environment Variablen importieren +from dotenv import load_dotenv +load_dotenv() + +# CrewAI importieren +from crewai import Agent, Task, Crew, Process + +# Tools importieren +from langchain.agents import load_tools + +# DuckDuckGo importieren +from langchain_community.tools import DuckDuckGoSearchRun + +# Wikipedia Suche importieren +from langchain_community.tools.wikipedia.tool import WikipediaQueryRun +from langchain_community.utilities.wikipedia import WikipediaAPIWrapper + +# Tools definieren +human_tools = load_tools(["human"]) +search_tool = DuckDuckGoSearchRun() +wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper()) + +# Agenten definieren +wissenspruefer = Agent( + role='Wissensprüfer', + goal='Fokusiere die Fragestellung des Benutzers.', + error_handling='Bei unklaren Fragen um Präzisierung bitten.', + backstory='Als Wissensprüfer bin ich darauf spezialisiert, Fragen so zu stellen, dass sie Präzise beantwortet werden können.', + verbose=True, + allow_delegation=False, + tools=human_tools +) + +wikipedia_recherche = Agent( + role='Wikipedia-Recherche', + goal='Finde verlässliche Informationen über Websuche und auf Wikipedia.', + error_handling='Bei fehlenden Informationen um spezifischere Themen bitten.', + backstory='Ich nutze Suchmaschinen und Wikipedia als Prüfinstanz, um verlässliche und genaue Informationen zu sammeln, die helfen, Wissensfragen zu beantworten und zu präzisieren.', + verbose=True, + allow_delegation=False, + tools=[wikipedia,search_tool], +) + +korrektur_synthese = Agent( + role='Korrektur und Synthese', + goal='Erstelle eine korrigierte und informative Antwort.', + error_handling='Bei unzureichenden Zusatzinformationen die ursprüngliche Antwort zurückgeben.', + backstory='Mit einem Auge fürs Detail und einer Leidenschaft für Genauigkeit nehme ich Antworten unter die Lupe und verbessere sie mithilfe von verifizierten Informationen.', + verbose=True, + allow_delegation=False, +) + +# Tasks definieren (wie vorher) +fragenanalyse_task = Task( + description='Analysiere die Frage, um Kernthemen zu identifizieren.', + expected_output='Liste von Kernthemen oder Schlüsselkonzepten.', + agent=wissenspruefer, +) + +wikipedia_recherche_task = Task( + description='Suche auf Wikipedia nach relevanten Informationen.', + expected_output='Zusammengefasste Informationen aus Wikipedia.', + agent=wikipedia_recherche, + +) + +korrektur_synthese_task = Task( + description='Synthetisiere eine korrigierte Antwort.', + expected_output='Eine überarbeitete und korrigierte Antwort.', + agent=korrektur_synthese, +) + +# Crew zusammenstellen +wissens_crew = Crew( + agents=[wissenspruefer, wikipedia_recherche, korrektur_synthese], + tasks=[fragenanalyse_task, wikipedia_recherche_task, korrektur_synthese_task], +) + + + +# Crew-Aktion starten +result = wissens_crew.kickoff() + + +# Ergebnis ausgeben +print(result)