File size: 2,610 Bytes
9883063
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# This file is .....
# Author: Hanbin Wang
# Date: 2023/4/18
import transformers
import streamlit as st
from PIL import Image

from transformers import RobertaTokenizer, T5ForConditionalGeneration
from transformers import pipeline


def main():
    # `st.set_page_config` is used to display the default layout width, the title of the app, and the emoticon in the browser tab.

    st.set_page_config(
        layout="centered", page_title="MaMaL-Com Demo(代码补全)", page_icon="❄️"
    )

    c1, c2 = st.columns([0.32, 2])

    # The snowflake logo will be displayed in the first column, on the left.

    with c1:
        st.image(
            "./panda.png",
            width=100,
        )

    # The heading will be on the right.

    with c2:
        st.caption("")
        st.title("MaMaL-Com(代码补全)")


    ############ SIDEBAR CONTENT ############

    st.sidebar.image("./panda.png",width=270)

    st.sidebar.markdown("---")

    st.sidebar.write(
    """

    ## 使用方法:

    在【输入】文本框输入未完成的代码,点击【补全】按钮,即会显示补全的代码。

    """
    )

    st.sidebar.write(
    """

    ## 注意事项:

    1)APP托管在外网上,请确保您可以全局科学上网。

    

    2)您可以下载[MaMaL-Com](https://huggingface.co/hanbin/MaMaL-Com)模型,本地测试。(无需科学上网)

    """
    )


    st.sidebar.markdown("---")


    # Let's add some info about the app to the sidebar.

    st.sidebar.write(
    """

    App 由 东北大学NLP课小组成员创建, 使用 [Streamlit](https://streamlit.io/)🎈 和 [HuggingFace](https://huggingface.co/inference-api)'s [MaMaL-Com](https://huggingface.co/hanbin/MaMaL-Com) 模型.

    """
    )

    st.write(
        "> **Tip:** 首次运行需要加载模型,可能需要一定的时间!"
    )

    st.write(
        "> **Tip:** 该Demo使用了Hugging Face 的 Pipeline,可能需要网络非常顺畅"
    )

    # model, tokenizer = load_model("hanbin/MaMaL-Gen")
    st.write("### 输入:")
    input = st.text_area("", height=200)
    button = st.button('补全')
    st.write("### 输出:")
    generator = pipeline('text-generation', model="E:\DenseRetrievalGroup\卢帅学长ckpt\py150_model\checkpoint")
    output = generator(input)
    # code = '''def hello():
    #     print("Hello, Streamlit!")'''
    if button:
        st.code(output, language='python')
    else:
        st.write('')




if __name__ == '__main__':

    main()