diff --git a/crew-generiere-datei-aus-recherche.py b/crew-generiere-datei-aus-recherche.py index 106e5e5..71bc84c 100644 --- a/crew-generiere-datei-aus-recherche.py +++ b/crew-generiere-datei-aus-recherche.py @@ -13,7 +13,7 @@ turbo35 = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.7) # erforderlichen Bibliotheken from crewai import Agent, Task, Crew -from crewai_tools import DirectoryReadTool, FileReadTool, WebsiteSearchTool +from crewai_tools import DirectoryReadTool, FileReadTool, WebsiteSearchTool, ScrapeWebsiteTool from datetime import datetime # Set date @@ -22,20 +22,20 @@ date_today = datetime.now().strftime("%Y-%m-%d") # Instantiate tools docs_tools = DirectoryReadTool(directory='F:\\blog-posts') file_read_tool = FileReadTool() -website_rag = WebsiteSearchTool() +website_rag = ScrapeWebsiteTool() # Create agents researcher = Agent( - role='OER Analyst', - goal='Finde neue Beiträge auf https://www.theology.de/service/neuesaufeinenblick.php für den Blogpost', - backstory='Ein Agent, der im Internet nach den neuesten Entwicklungen im Bereich OER sucht.', + role='Reseacher', + goal='Finde neue Beiträge auf https://www.theo-web.de/ für den Blogpost', + backstory='Ein Agent, der im Internet nach den neuesten Entwicklungen im Bereich Theologie, KI und Bildung sucht.', llm=turbo35, tools=[website_rag] ) writer = Agent( role='Content Writer', - goal='Schreibe einen Blogpost über die neuesten Beiträge auf https://www.theology.de/service/neuesaufeinenblick.php', + goal='Schreibe einen Blogpost über dein Beitrag auf https://www.theo-web.de/fileadmin/user_upload/TW_pdfs2_2020/005.pdf', backstory='Ein Agent, der Blogposts schreibt.', llm=turbo35, tools=[docs_tools, file_read_tool] @@ -52,7 +52,7 @@ 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', agent=writer, - output_file='F:\\blog-posts\\post_theology_{date_today}.md' + output_file=f"F:\\blog-posts\\post_theoweb_{date_today}.md" ) # Create and execute crew tasks diff --git a/crew-google-srap-analyze-translate-post.py b/crew-google-srap-analyze-translate-post.py new file mode 100644 index 0000000..1be7cef --- /dev/null +++ b/crew-google-srap-analyze-translate-post.py @@ -0,0 +1,96 @@ +# need env SERPER_API_KEY: https://serper.dev/api-key + +# Environment Variablen importieren +from dotenv import 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()) + + + +# Import the necessary libraries +from crewai import Agent,Crew, Task +from langchain.agents import Tool +from langchain_community.utilities import GoogleSerperAPIWrapper +from crewai_tools import WebsiteSearchTool, ScrapeWebsiteTool + +# Create a search tool +search = GoogleSerperAPIWrapper(gl='de', hl='de', num=5, tbs="qdr:m") # search only for the last month + +# Create a tool +serper_tool = Tool( + name="Google", + func=search.run, + description="Internetsuche", +) +readpage = ScrapeWebsiteTool() + + +web_rag_tool = WebsiteSearchTool() + +# Create an agent +researcher = Agent( + role='OER Searcher', + goal='OER für die Religiöse Bildung finden.', + backstory='Ein Agent, der gute Links zu OER für die religiöse Bildung sucht.', + tools=[serper_tool,web_rag_tool] +) + +redakteur = Agent( + role='OER Redakteur', + goal='geht den Links nach, die er vom OER Searcher bekommt und prüft die Qualität der OER.', + backstory='Eine evangelische Religionslehrkraft, die OER für den Unterricht sucht und prüft.', + tools=[readpage] +) +writer = Agent( + role='OER Blog Schreiber', + goal='Stellt regelmäßig neue OER, die er vom OER Redakteur bekommt auf seinem Blog kritisch vor.', + backstory='Eine evangelischer Theologe, dem guter Reigionsunterricht besonders am Herzen liegt.', + +) + + +# Create tasks +research = Task( + description='Suche nach religions- und ethikrelvanten Materialien, die als OER gekennzeichnet sind oder eine entsprechende Lizenz haben.', + expected_output='Eine Liste der Suchergebnisse und der dazugehörenden URL.', + agent=researcher +) + +proof = Task( + description='Suche nach religions- und ethikrelvanten Materialien, die als OER gekennzeichnet sind oder eine entsprechende Lizenz haben.', + expected_output='Eine Liste der geprüften Materialien inklusive der URLs.', + context=[research], + agent=redakteur +) + +write = Task( + description='Stelle eine Liste alle neuen materialien zusammen.', + expected_output='Ein Artikel der alle geprüften Inhalte in Form eines Blogartikels präsentiert.', + context=[proof], + agent=writer +) + +# Create tasks +research = Task( + description='Suche nach religions- und ethikrelvanten Materialien, die als OER gekennzeichnet sind oder eine entsprechende Lizenz haben.', + expected_output='Eine Liste der Suchergebnisse und der dazugehörenden URL.', + agent=researcher +) + +# Crew mit beiden Agenten und Aufgaben initialisieren +crew = Crew( + agents=[researcher,redakteur,writer], + tasks=[research,proof, write], + verbose=2 +) +# Crew-Aktion starten +result = crew.kickoff() + + +# Ergebnis ausgeben +print(result) diff --git a/db/c7a56375-0c21-4fc4-a99e-3771e7daaf5d/length.bin b/db/c7a56375-0c21-4fc4-a99e-3771e7daaf5d/length.bin index da41ede..ee3ecd7 100644 Binary files a/db/c7a56375-0c21-4fc4-a99e-3771e7daaf5d/length.bin and b/db/c7a56375-0c21-4fc4-a99e-3771e7daaf5d/length.bin differ diff --git a/db/chroma.sqlite3 b/db/chroma.sqlite3 index 75525e9..4743f52 100644 Binary files a/db/chroma.sqlite3 and b/db/chroma.sqlite3 differ