Spaces:
Sleeping
Sleeping
import os | |
from openai import OpenAI | |
import google.generativeai as genai | |
from anthropic import AI_PROMPT, HUMAN_PROMPT, Anthropic | |
import streamlit as st | |
from dotenv import load_dotenv | |
load_dotenv() | |
anthropic = Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY")) | |
genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) | |
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) | |
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=["Anthropic", "Google Gemini", "OpenAI"] | |
) | |
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 == "Anthropic": | |
completion = anthropic.completions.create( | |
model="claude-2", | |
max_tokens_to_sample=300, | |
prompt=f"{HUMAN_PROMPT} {prompt}{AI_PROMPT}", | |
) | |
st.markdown(completion.completion) | |
elif provider == "Google Gemini": | |
model = genai.GenerativeModel("gemini-pro") | |
response = model.generate_content(prompt) | |
st.markdown(response.text) | |
elif provider == "OpenAI": | |
chat_completion = client.chat.completions.create( | |
model="gpt-3.5-turbo", | |
messages=[{"role": "user", "content": prompt}] | |
) | |
st.markdown(chat_completion.choices[0].message.content) | |