Spaces:
Running
Running
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) | |