This commit is contained in:
Joachim Happel 2024-03-25 14:29:30 +01:00
parent 0a553d52ca
commit c6e875dff8

View file

@ -8,14 +8,27 @@
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
# Importieren von erforderlichen Bibliotheken für Windows
import asyncio
import platform
if platform.system() == 'Windows':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
# CrewAI importieren # CrewAI importieren
from crewai import Agent, Task, Crew, Process from crewai import Agent, Task, Crew, Process
# Tools importieren # Tools importieren
from langchain.agents import load_tools from langchain.agents import load_tools
# DuckDuckGo importieren # DuckDuckGo
from langchain_community.tools import DuckDuckGoSearchRun # from langchain_community.tools import DuckDuckGoSearchRun
# search_tool = DuckDuckGoSearchRun()
from langchain_community.utilities import DuckDuckGoSearchAPIWrapper
from langchain_community.tools import DuckDuckGoSearchResults
wrapper = DuckDuckGoSearchAPIWrapper(region="de-de", time="d", max_results=10)
search_tool = DuckDuckGoSearchResults(api_wrapper=wrapper, source="text")
# Wikipedia Suche importieren # Wikipedia Suche importieren
from langchain_community.tools.wikipedia.tool import WikipediaQueryRun from langchain_community.tools.wikipedia.tool import WikipediaQueryRun
@ -23,15 +36,15 @@ from langchain_community.utilities.wikipedia import WikipediaAPIWrapper
# Tools definieren # Tools definieren
human_tools = load_tools(["human"]) human_tools = load_tools(["human"])
search_tool = DuckDuckGoSearchRun()
wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper()) wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper())
# Agenten definieren # Agenten definieren
wissenspruefer = Agent( wissenspruefer = Agent(
role='Wissensprüfer', role='Wissensprüfer',
goal='Fokusiere die Fragestellung des Benutzers.', goal='Ermittelt die Fragestellung des Benutzers.',
error_handling='Bei unklaren Fragen um Präzisierung bitten.', 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.', backstory='Als Wissensprüfer bin ich darauf spezialisiert, Fragen der Menschen so zu formulieren, dass sie Präzise beantwortet werden können.',
verbose=True, verbose=True,
allow_delegation=False, allow_delegation=False,
tools=human_tools tools=human_tools
@ -39,12 +52,12 @@ wissenspruefer = Agent(
wikipedia_recherche = Agent( wikipedia_recherche = Agent(
role='Wikipedia-Recherche', role='Wikipedia-Recherche',
goal='Finde verlässliche Informationen über Websuche und auf Wikipedia.', goal='Finde verlässliche Informationen über Websuche, in Online-Werken, Wissensammlungen und auf Wikipedia.',
error_handling='Bei fehlenden Informationen um spezifischere Themen bitten.', 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.', backstory='Ich nutze das Web als Prüfinstanz, um verlässliche und genaue Informationen zu sammeln, die helfen, Wissensfragen zu beantworten und zu präzisieren.',
verbose=True, verbose=True,
allow_delegation=False, allow_delegation=False,
tools=[wikipedia,search_tool], tools=[search_tool, wikipedia],
) )
korrektur_synthese = Agent( korrektur_synthese = Agent(