PandasAI / app.py
mgokg's picture
Update app.py
46bf7bb verified
raw
history blame
2.79 kB
import streamlit as st
import os
import google.generativeai as genai
# Streamlit Seite konfigurieren
st.set_page_config(
page_title="Gemini Chatbot mit Google Search",
page_icon="🤖"
)
genai.configure(api_key=os.environ["geminiapi"])
# Modell-Konfiguration
generation_config = {
"temperature": 0.4,
"top_p": 0.95,
"top_k": 40,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
grounding_config = genai.types.GroundingConfig(
source_type=genai.types.GroundingSource.GOOGLE_SEARCH
)
model = genai.GenerativeModel(
model_name="gemini-2.0-flash-exp",
generation_config=generation_config,
grounding_config=grounding_config
)
# Chat Session State initialisieren
if "chat_session" not in st.session_state:
st.session_state.chat_session = model.start_chat(history=[])
# UI Komponenten
st.title("🤖 Gemini Chatbot mit Google Search")
user_input = st.text_input("Stelle deine Frage:", key="user_input")
if user_input:
# Prompt mit Sprachaufforderung kombinieren
full_prompt = f"{user_input}\nAntworte immer auf Deutsch"
# Antwort generieren
response = st.session_state.chat_session.send_message(full_prompt)
# Antwort extrahieren
if response.candidates:
response_text = response.candidates[0].content.parts[0].text
else:
response_text = "Keine Antwort erhalten"
# Antwort anzeigen
st.subheader("Antwort:")
st.write(response_text)
# Quellen anzeigen falls vorhanden
if response.grounding_metadata:
st.subheader("Quellen:")
for source in response.grounding_metadata.sources:
st.markdown(f"- [{source.url}]({source.url})")
"""
# Flask API
from flask import Flask, jsonify
import threading
from flask_cors import CORS, cross_origin
# Streamlit Frontend
import streamlit as st
import requests
st.title("huhu")
#st.text(data)
data="ok"
app = Flask(__name__)
cors = CORS(app)
@app.route('/endpoint', methods=['GET'])
def my_endpoint():
#get data from GET Request
data = request.args # Die Daten, die vom Client gesendet wurden
#post request
#data = request.form.get('variable')
#print(prompt)
#st.text(data)
return "Daten erfolgreich empfangen!"
#result = selenium(prompt)
# Das Ergebnis an PHP zurückgeben
#import streamlit as st
#st.write(prompt)
#prompting(prompt)
#return prompt
def run_flask():
app.run(port=5000)
# Starte den Flask-Server in einem separaten Thread
flask_thread = threading.Thread(target=run_flask)
flask_thread.start()
#response = requests.get('https://huggingface.co/spaces/mgokg/PandasAI:5000/api?data=huhu')
#data = response.json()
#st.write(response) # Zeigt die Daten in der Streamlit-Oberfläche an
"""