# Beschreibung: GPT Team aus OpenAI und Ollama # Vorbereitung: pip install ollama openai # Importieren Sie die erforderlichen Bibliotheken import asyncio import platform if platform.system() == 'Windows': asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) # Environment Variablen importieren from dotenv import load_dotenv load_dotenv() # CrewAI importieren from crewai import Agent, Task, Crew, Process # Suche-Tool importieren from langchain_community.tools import DuckDuckGoSearchRun # LLMs von OpenAI und Ollama importieren from langchain_community.llms import OpenAI, Ollama from langchain_openai import ChatOpenAI mistral = Ollama(model="mistral"); phi = Ollama(model="phi"); turbo35 = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.7) chatgpt4 = ChatOpenAI(model_name="gpt-4", temperature=0.8) # Tools importieren from langchain.agents import load_tools from langchain.tools import tool @tool('DuckDuckGoSearch') def search(search_query: str): """Suche im Internet nach Informationen zu einem bestimmten Thema""" return DuckDuckGoSearchRun().run(search_query) # Nachrichtenagenten initialisieren nachrichten_agent = Agent( role='Nachrichtenagent', goal='Finde die neuesten Nachrichten zum Thema Bildung und KI im deutschsprachigen Internet', backstory='Ein Agent, der im Internet nach den neuesten Entwicklungen im Bereich Bildung und Künstliche Intelligenz sucht.', tools=[DuckDuckGoSearchRun()], llm=mistral, deligate_tools=False, verbose=True ) # Aufgabe für den Nachrichtenagenten nachrichten_suchen_task = Task( description='Suche nach den neuesten Meldungen zum Thema Theologie und KI mit DuckDuckGo. ', agent=nachrichten_agent, expected_output='Eine Liste der neuesten Nachrichten zum Thema Bildung und KI' ) # Blogschreiber-Agenten initialisieren blogschreiber_agent = Agent( role='Blogschreiber', goal='Erstelle einen Blogbeitrag in deutscher Sprache basierend auf den neuesten Nachrichten zum Thema Bildung und KI', backstory='Ein Agent, der fähig ist, informative und ansprechende Blogbeiträge zu schreiben.', llm=mistral, verbose=True, allow_delegation=False ) # Aufgabe für den Blogschreiber blog_beitrag_schreiben_task = Task( description='Schreibe einen deutschsprachigen Blogbeitrag zum den neuesten Entwicklungen, in dem du eine gelungene Einleitung verfasst und danach die Ergebnisse deines Co-Workers kommentierst und die die Links zu den Beiträgen setzt', agent=blogschreiber_agent, context=[nachrichten_suchen_task], # Der Blogschreiber verwendet die Ergebnisse des Nachrichtenagenten expected_output='Ein fertiger Blogbeitrag zum Thema Bildung und KI auf deutsch' ) # Crew mit beiden Agenten und Aufgaben initialisieren crew = Crew( agents=[nachrichten_agent, blogschreiber_agent], tasks=[nachrichten_suchen_task, blog_beitrag_schreiben_task], process=Process.sequential, verbose=2 ) # Crew-Aktion starten result = crew.kickoff() print(result)