strftime-ai / app.py
kneelesh48's picture
Update models
06ab451
raw
history blame
2.24 kB
import os
from groq import Groq
from openai import OpenAI
from anthropic import Anthropic
import google.generativeai as genai
from dotenv import load_dotenv
import streamlit as st
load_dotenv()
st.set_page_config(page_title="strftime AI", page_icon="πŸ•˜")
with open("static/style.css", encoding="utf-8") as f:
st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)
st.header("strftime AI")
with st.sidebar:
provider = st.radio(
"Choose AI Provider",
options=[
"Groq",
"Anthropic",
"OpenAI",
"Google Gemini",
]
)
text = st.text_input("Enter datetime text eg. 2023-09-28T15:27:58Z", value="2023-09-28T15:27:58Z")
if text:
prompt = (
"Convert the following datetime string into strftime format, "
"show the strftime string on top and then breakdown of % symbols: " + text
)
if provider == "Groq":
client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
chat_completion = client.chat.completions.create(
messages=[{"role": "user", "content": prompt}],
model="llama3-8b-8192",
max_tokens=1024,
)
st.markdown(chat_completion.choices[0].message.content)
elif provider == "OpenAI":
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
chat_completion = client.chat.completions.create(
messages=[{"role": "user", "content": prompt}],
model="gpt-3.5-turbo",
max_tokens=1024,
)
st.markdown(chat_completion.choices[0].message.content)
elif provider == "Anthropic":
client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
message = client.messages.create(
messages=[{"role": "user", "content": prompt}],
model="claude-3-haiku-20240307",
max_tokens=1024,
)
st.markdown(message.content[0].text)
elif provider == "Google Gemini":
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
model = genai.GenerativeModel("gemini-pro")
response = model.generate_content(prompt)
st.markdown(response.text)