import streamlit as st import requests from dotenv import load_dotenv import os # .env dosyasını yükle load_dotenv() # API bilgileri API_URL = os.getenv("API_URL") API_KEY = os.getenv("API_KEY") # Streamlit arayüzü st.title("Hafızalı Chatbot") st.write("Bu chatbot, hafızalıdır ve belirtilen yapay zekanın API'sini kullanır. kullanır.") # Model seçenekleri model_options = ["claude-3-haiku", "gpt-4o-mini", "llama", "mixtral"] selected_model = st.selectbox("Bir model seçin:", model_options) # Sohbet hafızasını başlat if 'messages' not in st.session_state: st.session_state['messages'] = [ {"role": "system", "content": f"Senin ismin {selected_model}. Sen kullanıcı dostu bir asistansın."} ] # Hafızayı sıfırlama fonksiyonu def reset_memory(): st.session_state['messages'] = [ {"role": "system", "content": f"Senin ismin {selected_model}. Sen kullanıcı dostu bir asistansın."} ] st.write("Hafıza sıfırlandı.") # Kullanıcıdan mesaj alma user_input = st.text_input("Mesajınızı yazın:") if st.button("Gönder"): if user_input: # Kullanıcı mesajını hafızaya ekle st.session_state['messages'].append({"role": "user", "content": user_input}) # API'ye istek gönderme response = requests.post( API_URL, headers={"Authorization": f"Bearer {API_KEY}"}, json={ "model": selected_model, # Seçilen model burada kullanılıyor "messages": st.session_state['messages'] } ) # Yanıtı işleme if response.status_code == 200: data = response.json() bot_response = data['choices'][0]['message']['content'] # Bot mesajını hafızaya ekle st.session_state['messages'].append({"role": "assistant", "content": bot_response}) st.text_area(f"{selected_model}:", value=bot_response, height=200) else: st.write(f"Bir hata oluştu: {response.status_code}") else: st.write("Lütfen bir mesaj girin.") # Hafızayı sıfırlama düğmesi if st.button("Hafızayı Sıfırla"): reset_memory()