example added

This commit is contained in:
Joachim Happel 2024-03-25 22:26:44 +01:00
parent 0527fcb015
commit 5a31c360b0
2 changed files with 119 additions and 1 deletions

View file

@ -1,9 +1,15 @@
Anleitungsvideo:
# crewAI
## Anleitungsvideo
[Youtube: CrewAI Python Tutorial for Beginners - Let's Build an AI Crew!
](https://www.youtube.com/watch?v=6NbJQsCg1VQ)
## Open Source Repositorium
https://github.com/joaomdmoura/crewAI
# Installation
```shell
py -m venv venv
@ -13,4 +19,21 @@ Anleitungsvideo:
#linux
python -m venv venv
./venv/bin/activate)
pip install python-dotenv crewai langchain langchain-community setuptools wikipedia duckduckgo-search openai
## Mit localen Large Language Modulen (LLM)
## Install Ollama
## https://ollama.com/
pip install ollama
```
Alle Beispiele lassen sich wie folgt starten mit:
`python beispieldatei.py`

95
crew-news-post-mistral.py Normal file
View file

@ -0,0 +1,95 @@
# 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)