File size: 1,908 Bytes
e35cf17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import streamlit as st
import os
from groq import Groq

# Custom function to load variables from a .env file
def load_dotenv(filepath=".env"):
    try:
        with open(filepath, "r") as f:
            for line in f:
                line = line.strip()
                # Skip comments and empty lines
                if not line or line.startswith("#"):
                    continue
                if "=" in line:
                    key, value = line.split("=", 1)
                    os.environ.setdefault(key.strip(), value.strip())
    except FileNotFoundError:
        st.error("No .env file found. Please create one with your API key.")
    except Exception as e:
        st.error(f"Error loading .env file: {e}")

# Load environment variables from the .env file
load_dotenv()

def main():
    st.title("Samyotech Chatbot")
    
    # Fetch API key from environment variables
    groq_api_key = os.environ.get("GROQ_API_KEY")
    
    if groq_api_key:
        client = Groq(api_key=groq_api_key)
        st.write("### Chat with LLM")
        user_input = st.text_area("Enter your message:")
        
        if st.button("Generate Response"):
            if user_input.strip():
                try:
                    response = client.chat.completions.create(
                        model="llama-3.3-70b-versatile",
                        messages=[
                            {"role": "user", "content": user_input}
                        ]
                    )
                    st.write("### Response:")
                    st.write(response.choices[0].message.content)
                except Exception as e:
                    st.error(f"Error: {e}")
            else:
                st.warning("Please enter a message to generate a response.")
    else:
        st.error("API key not found. Please ensure your .env file contains GROQ_API_KEY.")

if __name__ == "__main__":
    main()