This repository has been archived on 2024-08-28. You can view files and clone it, but cannot push or open issues or pull requests.
crew-ai-codecollection/crew-generiere-datei-aus-recherche.py

60 lines
2.1 KiB
Python
Raw Permalink Normal View History

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()