Inhoud

Streamlit

🗂️ Terug naar start

💡 Meer Steamlit Algemene basis
📚 Multipage Meerdere pagina's in Streamlit app
📏 Meerdere kolommen

Streamlit Assistent GPT

Een beginnershandleiding voor Streamlit

Your Streamlit Apps Don’t Have to Suck: LayOut aanpassen

😉 Emoji's in Streamlit GUI

⚠️ NOTE: problemen gehad bij het online zetten van een app op streamlit en Heroku omgeving omdat “pywin32” in het “requirements.txt” bestand stond. Oplossing:
🔸 Verwijder “pywin32” uit requirements.txt
🔸 Delete “pywin32” uit lokale omgeving als deze niet nodig is“:

pip uninstall pywin32

Installeren

pip install streamlit

Bij problemen met gewoon installeren de onderstaande methode gebruiken

python -m pip install streamlit

Versie controleren

streamlit --version

Upgrade streamlit

pip install --upgrade streamlit

Of

python.exe -m pip install --upgrade streamlit

Streamlit Verwijderen uit Python project

pip uninstall streamlit

Een Streamlit App Starten

streamlit run app.py

Gekleurde tekst in/met Streamlit

st.write(f":blue[tool invoked]: {tool_name} ")
st.write(":green[Please approve the tool picked up by the agent - select either 'yes' or 'no' ]")

JavaScript in Streamlit

How to Fix JavaScript Return Issues in Streamlit Python Integration
Streamlit components for JavaScript

OpenAI GPT: Overzicht JS componenten


Streamlit App template

🃏 Een template voor een Python app die gebruik maakt van Streamlit voor de GUI waarin de content dynamisch wordt geladen. Met dynamisch menu in het zijpaneel

GitHub A3D: streamlitetemplate


Asyncio

Asyncio gebruiken in Streamlit werkt weer net even anders omdat streamlit zelf al een loop gebruikt. Het is dus zaak om gebruik te maken van die Streamlit loop om foutmeldingen te voorkomen. Dit kun je doen door gebruik te maken van nest-asyncio

pip install nest_asyncio

Dan in het script waarin je asynchroon wil gebruiken:

import nest_asyncio

nest_asyncio.apply() # To prevent asyncio runtime error in Streamlit

Note: niet in een class maar gewoon rechtstreeks in het Python bestand

Vervolgens (als voorbeeld in een Class):

def run(self, user_input):
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
        return asyncio.run(self.run_async(user_input))
       
async def run_async(self, user_input):
        result_1, result_2 = await asyncio.gather(
            self.get_documents_async(user_input, zoek_vector, filter),
            self.get_documents_async(user_input, hypo_vector, filter)
        )
        ...

Voor gewone code of:

def run(self, user_input):
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
        return asyncio.run(self.run_async(user_input))
       
async def run_async(self, user_input):
        agent = self.maakTriageAgent()
        result = Runner.run_sync(agent, user_input)
        return result.final_output

In een OpenIAgent SDK aanroep


Markdown Cheat-sheet
Material Icons
Emoji's (kopiëren/plakken):

Streamlit Home
Streamlit workspace
Streamlit API referentie
Streamlit Cheat Sheet
Markdown Cheat-sheet
Emoji's (kopiëren/plakken)


💡 Meer Steamlit