File size: 2,125 Bytes
c1c4977
24d620f
b6e1d0d
9e80ceb
 
d943ab1
24d620f
9e80ceb
d943ab1
e7169f6
 
 
 
 
 
 
 
 
 
 
 
d943ab1
 
 
 
 
 
 
 
 
 
 
 
819658d
c119414
9e80ceb
d943ab1
ec395fa
 
d943ab1
 
 
 
 
 
 
 
 
 
9e74383
d943ab1
 
82909b4
 
d943ab1
 
82909b4
d943ab1
 
82909b4
819658d
82909b4
fed0941
d943ab1
a2061b4
fed0941
9dfb04d
d943ab1
b0c57d4
 
c28c28f
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import os
import streamlit as st
from datasets import load_dataset
from huggingface_hub import InferenceClient

# Get the API key from the environment variable
api_key = os.getenv("HF_API_KEY")
client = InferenceClient(api_key=api_key)

# Load the dataset
dataset = load_dataset("andreska/adregadocs", split="test")

# Function to read the content from the dataset
def read_dataset(dataset):
    text = []
    for item in dataset:
        text.append(item['text'])
    return "\n".join(text)

context = read_dataset(dataset)

# Inject custom CSS to change the background color to yellow
st.markdown(
    """
    <style>
    body {
        background-color: yellow;
    }
    </style>
    """,
    unsafe_allow_html=True
)

st.title("Adrega AI Help")
st.session_state.include_context = st.checkbox('Search in Help')

if 'conversation' not in st.session_state:
    st.session_state.conversation = ""

def handle_submit():
    user_input = st.session_state.user_input
    if user_input:
        if st.session_state.include_context:
            messages = [
                {"role": "system", "content": f"Context: {context}"},
                {"role": "user", "content": user_input}
            ]
        else:
            messages = [
                {"role": "system", "content": f"Context: Supported OS in Adrega is Commodore 64 and Amiga. We print Gantt diagrams in dos."},
                {"role": "user", "content": user_input}
            ]

        completion = client.chat.completions.create(
            model="Qwen/Qwen2.5-72B-Instruct",
            #model="Qwen/Qwen2.5-Coder-32B-Instruct",
            #model="HuggingFaceTB/SmolLM2-1.7B-Instruct",
            messages=messages,
            max_tokens=500
        )
        
        answer = completion.choices[0].message['content']
        st.session_state.conversation += f"User: {user_input}\nAdrega AI: {answer}\n\n"
    else:
        st.write("Please enter a question.")


st.text_input('Ask me a question', key='user_input', on_change=handle_submit)
if st.button("Ask"): 
    handle_submit()
st.markdown(st.session_state.conversation, unsafe_allow_html=True)