add panel apps
This commit is contained in:
parent
2dbf23a91f
commit
e536e93ad7
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"CodeGPT.apiKey": "CodeGPT Plus Beta"
|
||||||
|
}
|
224
chat-panel.py
Normal file
224
chat-panel.py
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
# start with the following comando: panel serve chat-panel.py
|
||||||
|
|
||||||
|
import os
|
||||||
|
import platform
|
||||||
|
|
||||||
|
|
||||||
|
# Environment Variablen importieren
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
|
||||||
|
from crewai import Crew, Process, Agent, Task
|
||||||
|
from langchain_openai import ChatOpenAI
|
||||||
|
|
||||||
|
from langchain_core.callbacks import BaseCallbackHandler
|
||||||
|
from typing import TYPE_CHECKING, Any, Dict, Optional
|
||||||
|
|
||||||
|
from crewai_tools import Tool
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# pip install panel
|
||||||
|
import panel as pn
|
||||||
|
pn.extension(design="material")
|
||||||
|
|
||||||
|
|
||||||
|
import threading
|
||||||
|
|
||||||
|
from crewai.agents import CrewAgentExecutor
|
||||||
|
import time
|
||||||
|
|
||||||
|
def user_input_callback(content):
|
||||||
|
|
||||||
|
global human_chat_user_input
|
||||||
|
|
||||||
|
#prompt = self._i18n.slice("getting_input").format(final_answer=final_answer)
|
||||||
|
print(content);
|
||||||
|
|
||||||
|
chat_interface.send("Bitte prüfen Sie, ob der Plan ihre Anforderungen erfüllt", user="User", respond=False)
|
||||||
|
|
||||||
|
while human_chat_user_input == None:
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
human_comments = human_chat_user_input
|
||||||
|
human_chat_user_input = None
|
||||||
|
|
||||||
|
return human_comments
|
||||||
|
|
||||||
|
|
||||||
|
def custom_ask_human_input(self, final_answer: dict) -> str:
|
||||||
|
|
||||||
|
global human_chat_user_input
|
||||||
|
|
||||||
|
#prompt = self._i18n.slice("getting_input").format(final_answer=final_answer)
|
||||||
|
|
||||||
|
chat_interface.send(final_answer, user="User", respond=False)
|
||||||
|
|
||||||
|
while human_chat_user_input == None:
|
||||||
|
time.sleep(1)
|
||||||
|
print("Waiting for human input...")
|
||||||
|
|
||||||
|
human_comments = human_chat_user_input
|
||||||
|
human_chat_user_input = None
|
||||||
|
|
||||||
|
return human_comments
|
||||||
|
|
||||||
|
|
||||||
|
#CrewAgentExecutor._ask_human_input = custom_ask_human_input
|
||||||
|
|
||||||
|
|
||||||
|
human_chat_user_input = None
|
||||||
|
initiate_chat_task_created = False
|
||||||
|
|
||||||
|
def initiate_chat(message):
|
||||||
|
|
||||||
|
global initiate_chat_task_created
|
||||||
|
# Indicate that the task has been created
|
||||||
|
initiate_chat_task_created = True
|
||||||
|
|
||||||
|
message=message+' auf deutsch.'
|
||||||
|
|
||||||
|
StartCrew(message)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def callback(contents: str, user: str, instance: pn.chat.ChatInterface):
|
||||||
|
|
||||||
|
print(f"User: {user} - Message: {contents}")
|
||||||
|
|
||||||
|
global initiate_chat_task_created
|
||||||
|
global human_chat_user_input
|
||||||
|
|
||||||
|
if not initiate_chat_task_created:
|
||||||
|
thread = threading.Thread(target=initiate_chat, args=(contents,))
|
||||||
|
thread.start()
|
||||||
|
|
||||||
|
else:
|
||||||
|
human_chat_user_input = contents
|
||||||
|
|
||||||
|
avators = {"theologe":"https://cdn-icons-png.flaticon.com/512/320/320336.png",
|
||||||
|
"religionswissenschaftler":"https://cdn-icons-png.freepik.com/512/9408/9408201.png",
|
||||||
|
"moderator":"https://cdn-icons-png.freepik.com/512/9408/9408201.png"}
|
||||||
|
|
||||||
|
class MyCustomHandler(BaseCallbackHandler):
|
||||||
|
|
||||||
|
def __init__(self, agent_name: str) -> None:
|
||||||
|
self.agent_name = agent_name
|
||||||
|
|
||||||
|
def on_chain_start(
|
||||||
|
self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any
|
||||||
|
) -> None:
|
||||||
|
"""We start a chain."""
|
||||||
|
|
||||||
|
chat_interface.send(inputs['input'], user="assistent", respond=False)
|
||||||
|
|
||||||
|
def on_chain_end(self, outputs: Dict[str, Any], **kwargs: Any) -> None:
|
||||||
|
"""Print out that we finished a chain."""
|
||||||
|
|
||||||
|
print(f"Finished chain with output: {outputs}")
|
||||||
|
|
||||||
|
chat_interface.send(outputs['output'], user=self.agent_name, avatar=avators[self.agent_name], respond=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
llm = ChatOpenAI(model="gpt-3.5-turbo-0125")
|
||||||
|
#llm = ChatOpenAI(model="gpt-4")
|
||||||
|
|
||||||
|
theologe = Agent(
|
||||||
|
name="Theologe",
|
||||||
|
role='Theologische Inhalte entwickeln',
|
||||||
|
backstory='''Langjähriger Theologieprofessor mit Spezialisierung auf historisch-kritische Bibelinterpretation''',
|
||||||
|
goal="Verständnis für biblische Texte und christliche Lehren fördern.",
|
||||||
|
llm=llm,
|
||||||
|
allow_delegation=False,
|
||||||
|
verbose=True,
|
||||||
|
callbacks=[MyCustomHandler("theologe")],
|
||||||
|
)
|
||||||
|
religionswissenschaftler = Agent(
|
||||||
|
name="Religionswissenschaftler",
|
||||||
|
role='Interreligiösen Dialog fördern',
|
||||||
|
backstory='''Religionswissenschaftler mit internationaler Erfahrung im Dialog zwischen Weltreligionen.''',
|
||||||
|
goal="Förderung von ethischer Argumentation und philosophischem Denken",
|
||||||
|
llm=llm,
|
||||||
|
callbacks=[MyCustomHandler("religionswissenschaftler")],
|
||||||
|
allow_delegation=False,
|
||||||
|
verbose=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
moderator = Agent(
|
||||||
|
name="Moderator",
|
||||||
|
role='Generiert einen minutiösen Verlaufsplan für eine Stunde Religionsunterricht',
|
||||||
|
backstory='''Methoden und Didaktik Enthusiast mit besonderem Interesse am religionsbezogener Bildung.''',
|
||||||
|
goal="Entwicklung von perfekten Unterrichtsstunden für den Religionsunterricht.",
|
||||||
|
llm=llm,
|
||||||
|
callbacks=[MyCustomHandler("moderator")],
|
||||||
|
allow_delegation=False,
|
||||||
|
verbose=True,
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
def StartCrew(prompt):
|
||||||
|
|
||||||
|
task1 = Task(
|
||||||
|
description=f"""Entwickeln Sie Unterrichtsideen auf deutsch zum Thema {prompt}. Berücksichtigen Sie bei ihren Überlegungen, dass eine Religionsstunde nur 45 Minuten dauert. """ ,
|
||||||
|
agent=theologe,
|
||||||
|
expected_output="Vorschlag für den inhaltlichen Fokus. Danach eine kurze Liste mit maximal 3 Unterrichtsideen und je einem methodischen Vorschlag mit relevante theologischen Perspektiven in deutscher Sprache.",
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
task2 = Task(
|
||||||
|
description=("""Erweitern Sie den Fokus aus Ihrer Perspektive. Prüfen Sie die Unterrichtsideen und ergänzen Sie diese um maximal 2 weitere vor allem aus Ihrer religionswissenschaftlichen Perspektive.
|
||||||
|
Ergänzen Sie die Unterrichtsideen um Aspekte des interreligiösen Dialogs und angemessener Methoden.
|
||||||
|
Berücksichtigen Sie dabei, dass eine Religionsstunde nur 45 Minuten dauert.
|
||||||
|
Geben Sie Feedback und Verbesserungsvorschläge auf deutsch."""),
|
||||||
|
agent=religionswissenschaftler,
|
||||||
|
expected_output="Feedback und Ergänzungsvorschläge zu den Unterrichtsideen.",
|
||||||
|
context=[task1],
|
||||||
|
)
|
||||||
|
|
||||||
|
task3 = Task(
|
||||||
|
description=("""Erstellen Sie aus dem Gesprächverlauf einen finalen Ablaufplan für den Unterricht auf deutsch.
|
||||||
|
Stellen Sie sicher, dass der Ablaufplan für eine 45-minütige Stunde geeignet ist.
|
||||||
|
Versichern Sie sich, dass sowohl theologische als auch religionswissenschaftliche, religionsübergreifende Aspekte berücksichtigt wurden.
|
||||||
|
Entwickeln sie aud sem Vroschlägen mit zeitgemäßen Methoden eine mitreißende Unterrichtstunde.
|
||||||
|
Schreiben Sie den Ablaufplan in tabellarischer Form auf. Geben Sie erklärrende Hinweise zu den einzelnen Schritten.
|
||||||
|
Wenn das Ergebniss Ihrer Meinung nach gut ist, legen Sie das Ergebnis einem Menschen zur Prüfung vor.
|
||||||
|
Make sure to check with a human if the draft is good before finalizing your answer.!
|
||||||
|
"""),
|
||||||
|
agent=moderator,
|
||||||
|
expected_output="Ein perfekter Ablaufplan für den Unterricht in tabellarischer Form auf deutsch.",
|
||||||
|
human_input=True,
|
||||||
|
callback=user_input_callback,
|
||||||
|
context=[task1, task2],
|
||||||
|
)
|
||||||
|
task4 = Task(
|
||||||
|
description=("""Nehmen Sie Argumente aus dem menschlichen Feedback auf und ändern Sie den Ablaufplan so,dass das Feedback des Menschen berücksichtigt ."""),
|
||||||
|
agent=moderator,
|
||||||
|
expected_output="Finale Version des tabellarischen Ablaufplans für eine spannende Religionsstunde",
|
||||||
|
context=[task3],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Establishing the crew with a hierarchical process
|
||||||
|
project_crew = Crew(
|
||||||
|
tasks=[task1, task2, task3, task4], # Tasks to be delegated and executed under the manager's supervision
|
||||||
|
agents=[theologe, religionswissenschaftler, moderator],
|
||||||
|
manager_llm=llm,
|
||||||
|
process=Process.sequential, # Specifies the hierarchical management approach
|
||||||
|
memory=True,
|
||||||
|
name="Religionsunterrichtsentwickelerrunde",
|
||||||
|
verbose=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
result = project_crew.kickoff()
|
||||||
|
#print(result)
|
||||||
|
|
||||||
|
chat_interface.send("## Gemeinsames Ergebnis\n"+result, user="assistant", respond=False)
|
||||||
|
|
||||||
|
|
||||||
|
chat_interface = pn.chat.ChatInterface(callback=callback)
|
||||||
|
chat_interface.send("Beschreibe dein Unterrichttsvorhaben!", user="System", respond=False)
|
||||||
|
chat_interface.servable()
|
||||||
|
|
||||||
|
#StartCrew('Teufel')
|
17
panel_test.py
Normal file
17
panel_test.py
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# start with the following comando: panel serve panel_test.py
|
||||||
|
|
||||||
|
import panel as pn
|
||||||
|
|
||||||
|
pn.extension(design="material")
|
||||||
|
|
||||||
|
def callback(contents: str, user: str, instance: pn.chat.ChatInterface):
|
||||||
|
message = f"Echoing {user}: {contents}"
|
||||||
|
return message
|
||||||
|
|
||||||
|
chat_interface = pn.chat.ChatInterface(callback=callback)
|
||||||
|
chat_interface.send(
|
||||||
|
"Enter a message in the TextInput below and receive an echo!",
|
||||||
|
user="System",
|
||||||
|
respond=False,
|
||||||
|
)
|
||||||
|
chat_interface.servable()
|
146
reli-chat-ai-panel.py
Normal file
146
reli-chat-ai-panel.py
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
# start with the following comando: panel serve chat-panel.py
|
||||||
|
|
||||||
|
import os
|
||||||
|
import platform
|
||||||
|
|
||||||
|
|
||||||
|
# Environment Variablen importieren
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
from crewai import Crew, Process, Agent, Task
|
||||||
|
from langchain_openai import ChatOpenAI
|
||||||
|
|
||||||
|
from langchain_core.callbacks import BaseCallbackHandler
|
||||||
|
from typing import TYPE_CHECKING, Any, Dict, Optional
|
||||||
|
|
||||||
|
from langchain.agents import load_tools
|
||||||
|
#human = load_tools(["human"])
|
||||||
|
|
||||||
|
# pip install panel
|
||||||
|
import panel as pn
|
||||||
|
pn.extension(design="material")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import threading
|
||||||
|
|
||||||
|
from crewai.agents import CrewAgentExecutor
|
||||||
|
import time
|
||||||
|
|
||||||
|
def custom_ask_human_input(self, final_answer: dict) -> str:
|
||||||
|
|
||||||
|
global user_input
|
||||||
|
|
||||||
|
prompt = self._i18n.slice("getting_input").format(final_answer=final_answer)
|
||||||
|
|
||||||
|
chat_interface.send(prompt, user="Lehrkraft", respond=False)
|
||||||
|
|
||||||
|
while user_input == None:
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
human_comments = user_input
|
||||||
|
user_input = None
|
||||||
|
|
||||||
|
return human_comments
|
||||||
|
|
||||||
|
|
||||||
|
CrewAgentExecutor._ask_human_input = custom_ask_human_input
|
||||||
|
|
||||||
|
user_input = None
|
||||||
|
initiate_chat_task_created = False
|
||||||
|
|
||||||
|
def initiate_chat(message):
|
||||||
|
|
||||||
|
global initiate_chat_task_created
|
||||||
|
# Indicate that the task has been created
|
||||||
|
initiate_chat_task_created = True
|
||||||
|
|
||||||
|
StartCrew(message)
|
||||||
|
|
||||||
|
def callback(contents: str, user: str, instance: pn.chat.ChatInterface):
|
||||||
|
|
||||||
|
global initiate_chat_task_created
|
||||||
|
global user_input
|
||||||
|
|
||||||
|
if not initiate_chat_task_created:
|
||||||
|
thread = threading.Thread(target=initiate_chat, args=(contents,))
|
||||||
|
thread.start()
|
||||||
|
|
||||||
|
else:
|
||||||
|
user_input = contents
|
||||||
|
|
||||||
|
avators = {"Writer":"https://cdn-icons-png.flaticon.com/512/320/320336.png",
|
||||||
|
"Reviewer":"https://cdn-icons-png.freepik.com/512/9408/9408201.png"}
|
||||||
|
|
||||||
|
class MyCustomHandler(BaseCallbackHandler):
|
||||||
|
|
||||||
|
|
||||||
|
def __init__(self, agent_name: str) -> None:
|
||||||
|
self.agent_name = agent_name
|
||||||
|
|
||||||
|
def on_chain_start(
|
||||||
|
self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any
|
||||||
|
) -> None:
|
||||||
|
"""Print out that we are entering a chain."""
|
||||||
|
|
||||||
|
chat_interface.send(inputs['input'], user=BaseCallbackHandler, respond=False)
|
||||||
|
|
||||||
|
def on_chain_end(self, outputs: Dict[str, Any], **kwargs: Any) -> None:
|
||||||
|
"""Print out that we finished a chain."""
|
||||||
|
|
||||||
|
chat_interface.send(outputs['output'], user=self.agent_name, avatar=avators[self.agent_name], respond=False)
|
||||||
|
|
||||||
|
llm = ChatOpenAI(model="gpt-3.5-turbo-0125")
|
||||||
|
#llm = ChatOpenAI(model="gpt-4")
|
||||||
|
|
||||||
|
writer = Agent(
|
||||||
|
|
||||||
|
role='Theologische Inhalte entwickeln',
|
||||||
|
backstory='''Langjähriger Theologieprofessor mit Spezialisierung auf historisch-kritische Bibelinterpretation''',
|
||||||
|
goal="Verständnis für biblische Texte und christliche Lehren fördern.",
|
||||||
|
llm=llm,
|
||||||
|
callbacks=[MyCustomHandler("Thelogical Content Developer")],
|
||||||
|
)
|
||||||
|
reviewer = Agent(
|
||||||
|
role='Interreligiösen Dialog fördern',
|
||||||
|
backstory='''Religionswissenschaftler mit internationaler Erfahrung im Dialog zwischen Weltreligionen.''',
|
||||||
|
goal="Förderung von ethischer Argumentation und philosophischem Denken",
|
||||||
|
llm=llm,
|
||||||
|
callbacks=[MyCustomHandler("Religious Dialogue Promoter")],
|
||||||
|
allow_delegation=True
|
||||||
|
)
|
||||||
|
|
||||||
|
def StartCrew(prompt):
|
||||||
|
|
||||||
|
task1 = Task(
|
||||||
|
description=f"""Entwickeln Sie einen Unterrichtsplan zum Thema {prompt}. """,
|
||||||
|
agent=writer,
|
||||||
|
expected_output="Unterrichtsplan mit relevante theologischen Perspektiven und zeitgemäßen Methoden."
|
||||||
|
)
|
||||||
|
|
||||||
|
task2 = Task(
|
||||||
|
description=("Entwickeln Sie zusammen mit Ihren Kollegen an einen Unterrichtsplan unter Berücksichtigung der religionswissenschaftlicher und interreligiöser Aspekte"),
|
||||||
|
agent=reviewer,
|
||||||
|
expected_output="Kollaborativ entwickelter Unterrichtsplan",
|
||||||
|
human_input=True,
|
||||||
|
allow_delegation=True
|
||||||
|
|
||||||
|
)
|
||||||
|
# Establishing the crew with a hierarchical process
|
||||||
|
project_crew = Crew(
|
||||||
|
tasks=[task1, task2], # Tasks to be delegated and executed under the manager's supervision
|
||||||
|
agents=[writer, reviewer],
|
||||||
|
manager_llm=llm,
|
||||||
|
language="de",
|
||||||
|
process=Process.hierarchical # Specifies the hierarchical management approach
|
||||||
|
)
|
||||||
|
|
||||||
|
result = project_crew.kickoff()
|
||||||
|
|
||||||
|
chat_interface.send("## Final Result\n"+result, user="assistant", respond=False)
|
||||||
|
|
||||||
|
|
||||||
|
chat_interface = pn.chat.ChatInterface(callback=callback)
|
||||||
|
chat_interface.send("Beschreibe dein Unterrichttsvorhaben!", user="System", respond=False)
|
||||||
|
chat_interface.servable()
|
118
reli.py
Normal file
118
reli.py
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
# start with the following comando: panel serve chat-panel.py
|
||||||
|
|
||||||
|
import os
|
||||||
|
import platform
|
||||||
|
|
||||||
|
|
||||||
|
# Environment Variablen importieren
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
|
||||||
|
from crewai import Crew, Process, Agent, Task
|
||||||
|
from langchain_openai import ChatOpenAI
|
||||||
|
|
||||||
|
from langchain_core.callbacks import BaseCallbackHandler
|
||||||
|
from typing import TYPE_CHECKING, Any, Dict, Optional
|
||||||
|
|
||||||
|
def user_input_callback(content):
|
||||||
|
input("Bitte geben Sie Ihr Feedback zur Unterrichtsstunde ein: ")
|
||||||
|
|
||||||
|
|
||||||
|
llm = ChatOpenAI(model="gpt-3.5-turbo-0125")
|
||||||
|
|
||||||
|
theologe = Agent(
|
||||||
|
name="Theologe",
|
||||||
|
role='Theologische Inhalte entwickeln',
|
||||||
|
backstory='''Langjähriger Theologieprofessor mit Spezialisierung auf historisch-kritische Bibelinterpretation''',
|
||||||
|
goal="Verständnis für biblische Texte und christliche Lehren fördern.",
|
||||||
|
llm=llm,
|
||||||
|
allow_delegation=False,
|
||||||
|
verbose=True
|
||||||
|
)
|
||||||
|
religionswissenschaftler = Agent(
|
||||||
|
name="Religionswissenschaftler",
|
||||||
|
role='Interreligiösen Dialog fördern',
|
||||||
|
backstory='''Religionswissenschaftler mit internationaler Erfahrung im Dialog zwischen Weltreligionen.''',
|
||||||
|
goal="Förderung von ethischer Argumentation und philosophischem Denken",
|
||||||
|
llm=llm,
|
||||||
|
allow_delegation=False,
|
||||||
|
verbose=True,
|
||||||
|
)
|
||||||
|
ethiker = Agent(
|
||||||
|
name="Ethiker",
|
||||||
|
role='Ethiker',
|
||||||
|
backstory='''Ethiker mit Schwerpunkt auf angewandter Ethik''',
|
||||||
|
goal="Förderung von ethischer Argumentation und philosophischem Denken",
|
||||||
|
llm=llm,
|
||||||
|
allow_delegation=False,
|
||||||
|
verbose=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
moderator = Agent(
|
||||||
|
name="Moderator",
|
||||||
|
role='Generiert einen minutiösen Verlaufsplan für eine Stunde Religionsunterricht',
|
||||||
|
backstory='''Methoden und Didaktik Enthusiast mit besonderem Interesse am religionsbezogener Bildung.''',
|
||||||
|
goal="Entwicklung von perfekten Unterrichtsstunden für den Religionsunterricht.",
|
||||||
|
llm=llm,
|
||||||
|
allow_delegation=True,
|
||||||
|
verbose=True,
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def StartCrew(prompt):
|
||||||
|
|
||||||
|
task1 = Task(
|
||||||
|
description=f"""Entwickeln Sie Unterrichtsideen auf deutsch zum Thema {prompt} """,
|
||||||
|
agent=theologe,
|
||||||
|
expected_output="Kurze Liste mit Unterrichtsideen mit relevante theologischen Perspektiven und zeitgemäßen Methoden in deutscher Sprache.",
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
task2 = Task(
|
||||||
|
description=("""Prüfen Sie die Unterrichtsiddeen Ihrer Kollegen und ergänzsen Sie diese vor allem aus Ihrer religionswissenschaftlichen Perspektive.
|
||||||
|
Ergänzen Sie die Unterrichtsideen um Aspekte des interreligiösen Dialogs und angemessener Methoden."""),
|
||||||
|
agent=religionswissenschaftler,
|
||||||
|
expected_output="Feedback und Ergänzungsvorschläge zu den Unterrichtsideen.",
|
||||||
|
context=[task1],
|
||||||
|
)
|
||||||
|
|
||||||
|
task3 = Task(
|
||||||
|
description=("""Erstellen Sie aus dem Gesprächverlauf einen finalen Ablaufplan für den Unterricht auf deutsch.
|
||||||
|
Versichern Sie sich, dass sowohl theologische als auch religionswissenschaftliche Aspekte berücksichtigt wurden.
|
||||||
|
Stellen Sie sicher, dass der interreligiöse Dialog und zeitgemäße Methoden im Unterrichtsplan enthalten sind.
|
||||||
|
Wenn das Ergebniss Ihrer Meinung nach gut ist, legen Sie das Ergebnis
|
||||||
|
einem Menschen zur Prüfung vor.
|
||||||
|
Make sure to check with a human if the draft is good before finalizing your answer.!
|
||||||
|
"""),
|
||||||
|
agent=moderator,
|
||||||
|
expected_output="Ein perfekter Ablaufplan für den Unterricht in tabellarischer Form auf deutsch.",
|
||||||
|
context=[task1, task2],
|
||||||
|
human_input=True,
|
||||||
|
callback=user_input_callback,
|
||||||
|
)
|
||||||
|
task4 = Task(
|
||||||
|
description=("""Nehmen sie Argumente aus dem menschlichen Feedback auf und ändern sie den Plan entsprechend."""),
|
||||||
|
agent=moderator,
|
||||||
|
expected_output="Das Feedback berücksichtigender überarbeiteter tabellarischer Ablauf.",
|
||||||
|
context=[task3],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Establishing the crew with a hierarchical process
|
||||||
|
project_crew = Crew(
|
||||||
|
tasks=[task1, task2, task3, task4], # Tasks to be delegated and executed under the manager's supervision
|
||||||
|
agents=[theologe, religionswissenschaftler, moderator],
|
||||||
|
manager_llm=llm,
|
||||||
|
process=Process.sequential, # Specifies the hierarchical management approach
|
||||||
|
memory=False,
|
||||||
|
name="Religionsunterrichtsentwickelerrunde",
|
||||||
|
verbose=True
|
||||||
|
)
|
||||||
|
|
||||||
|
result = project_crew.kickoff()
|
||||||
|
print(result)
|
||||||
|
|
||||||
|
|
||||||
|
StartCrew('10 Gebote')
|
Reference in a new issue