# Vorbereitung: pip install crewai_tools # Verzeichnis ../blog-posts erstellen # Importieren von erforderlichen Bibliotheken für Windows import asyncio import platform if platform.system() == 'Windows': asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) # ChatCPT 3.5 importieren from langchain_openai import ChatOpenAI 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, ScrapeWebsiteTool from datetime import datetime # Set date date_today = datetime.now().strftime("%Y-%m-%d-%H-%M-%S") # Instantiate tools docs_tools = DirectoryReadTool(directory='F:\\blog-posts') file_read_tool = FileReadTool() website_rag = ScrapeWebsiteTool() # Create agents researcher = Agent( 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 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] ) # Create tasks research = Task( description='Die neuesten Trends im Bereich OER finden Sie auf theology.de.', expected_output='Ein Überblick über die neuesten Trends im Bereich OER.', agent=researcher ) 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: UTF-8', agent=writer, output_file=f"F:\\blog-posts\\post_theoweb_{date_today}.md" ) # Create and execute crew tasks crew = Crew(agents=[researcher, writer], tasks=[research, write]) crew.kickoff()