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-news-post-mistral.py
2024-03-25 22:26:44 +01:00

95 lines
3 KiB
Python

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