2024-03-26 08:27:02 +00:00
# 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
2024-03-26 17:23:30 +00:00
from crewai_tools import DirectoryReadTool , FileReadTool , WebsiteSearchTool , ScrapeWebsiteTool
2024-03-26 08:27:02 +00:00
from datetime import datetime
# Set date
2024-04-30 16:05:08 +00:00
date_today = datetime . now ( ) . strftime ( " % Y- % m- %d - % H- % M- % S " )
2024-03-26 08:27:02 +00:00
# Instantiate tools
docs_tools = DirectoryReadTool ( directory = ' F: \\ blog-posts ' )
file_read_tool = FileReadTool ( )
2024-03-26 17:23:30 +00:00
website_rag = ScrapeWebsiteTool ( )
2024-03-26 08:27:02 +00:00
# Create agents
researcher = Agent (
2024-03-26 17:23:30 +00:00
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. ' ,
2024-03-26 08:27:02 +00:00
llm = turbo35 ,
tools = [ website_rag ]
)
writer = Agent (
role = ' Content Writer ' ,
2024-03-26 17:23:30 +00:00
goal = ' Schreibe einen Blogpost über dein Beitrag auf https://www.theo-web.de/fileadmin/user_upload/TW_pdfs2_2020/005.pdf ' ,
2024-03-26 08:27:02 +00:00
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. ' ,
2024-04-30 16:05:08 +00:00
expected_output = ' Ein deutschprachiger Blogbeitrag markdown in 4 Absätzen über neue Inhalten. Charset: UTF-8 ' ,
2024-03-26 08:27:02 +00:00
agent = writer ,
2024-03-26 17:23:30 +00:00
output_file = f " F: \\ blog-posts \\ post_theoweb_ { date_today } .md "
2024-03-26 08:27:02 +00:00
)
# Create and execute crew tasks
crew = Crew ( agents = [ researcher , writer ] , tasks = [ research , write ] )
crew . kickoff ( )