Sebbe33 commited on
Commit
17ae52f
·
verified ·
1 Parent(s): 1fb18bd

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +57 -0
  2. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from streamlit_markmap import markmap
3
+ from langchain.llms import OpenAI
4
+ from langchain.prompts import PromptTemplate
5
+
6
+
7
+ # Sidebar: Eingabe des OpenAI API Keys
8
+ st.sidebar.header("Einstellungen")
9
+ api_key = st.sidebar.text_input("OpenAI API Key", type="password")
10
+
11
+
12
+ # Streamlit-Konfiguration
13
+ st.set_page_config(page_title="Mindmap Generator", layout="wide")
14
+ st.title("Mindmap Ideen-Generator mit LangChain und OpenAI")
15
+
16
+ # Texteingabe für den Brainstorming-Prompt
17
+ user_prompt = st.text_area(
18
+ "Thema",
19
+ "Gib hier ein Thema ein, zu dem aus verschiedenen Perspektiven Ideen generiert werden sollen..."
20
+ )
21
+
22
+ # Button, um die Generierung zu starten
23
+ if st.button("Generiere Mindmap"):
24
+ if not user_prompt.strip():
25
+ st.error("Bitte gib ein Thema ein!")
26
+ else:
27
+ with st.spinner("Generiere Mindmap..."):
28
+ # Prompt-Vorlage definieren, die den LLM anweist, eine Markmap im Markdown-Format zu erzeugen.
29
+ template = """
30
+ Du bist ein kreativer Ideengeber und sollst ein Brainstorming zu folgendem Thema erstellen:
31
+ {topic}
32
+
33
+ Generiere aus fünf Perspektiven mindestens jeweils zehn Ideen.
34
+
35
+ Erstelle bitte eine Mindmap im Markdown-Format (Markmap), in der die Hauptideen und Unterideen hierarchisch strukturiert sind.
36
+ Nutze folgendes Format und gib nur das RAW aus:
37
+ # Hauptidee
38
+ ## Unteridee 1
39
+ ## Unteridee 2
40
+ ### Weitere Unteridee
41
+ """
42
+ prompt = PromptTemplate(template=template, input_variables=["topic"])
43
+ full_prompt = prompt.format(topic=user_prompt)
44
+
45
+ # OpenAI LLM initialisieren (ggf. Umgebungsvariablen wie OPENAI_API_KEY setzen)
46
+ llm = OpenAI(model_name="gpt-4o", temperature=0.7, max_tokens=50000, openai_api_key=api_key)
47
+
48
+
49
+ # Anfrage an das LLM senden
50
+ mindmap_markdown = llm(full_prompt)
51
+
52
+ # Ausgabe der generierten Mindmap
53
+ st.markdown("## Generierte Mindmap (Markdown):")
54
+ st.code(mindmap_markdown, language="markdown")
55
+
56
+ # Darstellung der Mindmap mit streamlit_markmap
57
+ markmap(mindmap_markdown, height=600)
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit
2
+ langchain
3
+ openai
4
+ streamlit-markmap