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