strftime-ai / app.py
Neelesh
Add support for groq
0214b2e
raw
history blame
No virus
2.22 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") 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="mixtral-8x7b-32768",
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)