ai / app.py
Ruzgar ?????
Update app.py
ee1acfd verified
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()