first
This commit is contained in:
parent
e5ff13fea6
commit
d850577d58
|
@ -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)
|
Reference in a new issue