File size: 1,640 Bytes
8e7c697
 
d409298
5471235
d409298
8e7c697
d409298
8e7c697
d409298
9ad10ff
8e7c697
 
 
 
 
d409298
8e7c697
 
d409298
8e7c697
 
 
 
88ee008
d409298
88ee008
d409298
 
88ee008
 
 
d409298
8e7c697
 
d409298
8e7c697
e46f715
 
 
 
 
88ee008
 
 
 
 
8e7c697
 
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
import streamlit as st
import requests
from datasets import load_dataset

NAME='bigcode/bigcodebench'

# Function to load data
@st.cache_data
def load_data(file):
    return load_dataset('bigcode/bigcodebench', split='v0.1.0_hf', use_auth_token=True)

# Function to filter data based on search keyword
def filter_data(data, keyword):
    if not keyword:
        return data
    filtered_data = [item for item in data if keyword.lower() in item['complete_prompt'].lower()]
    return filtered_data

data = load_data(NAME)

search_keyword = st.sidebar.text_input('Search by keyword', '')
filtered_data = filter_data(data, search_keyword)
if filtered_data:
    index = st.sidebar.number_input('Select Index', min_value=0, max_value=len(filtered_data)-1, value=0, step=1)    
    show_solution = st.sidebar.checkbox('Show Solution')
    show_test = st.sidebar.checkbox('Show Test Cases')
    snippet1 = filtered_data[index]['complete_prompt']
    snippet2 = filtered_data[index]['instruct_prompt']
    task_id = filtered_data[index]['task_id']
    st.title(task_id)
    
    st.subheader("Code Completion")
    st.code(snippet1, language='python')
    
    st.subheader("Natural Language Instruction to Code")
    st.code(snippet2, language='python')
    
    if show_solution:
        snippet3 = filtered_data[index]['canonical_solution']
        st.subheader("Solution")
        st.code(snippet3, language='python')
    
    if show_test:
        snippet4 = filtered_data[index]['test']
        st.subheader("Test Cases")
        st.code(snippet4, language='python')
else:
    st.error("No data available. Check the URL or search criteria.")