File size: 1,245 Bytes
0729a88
6847a4d
d01f27a
0729a88
f8c3ed7
6847a4d
 
b0fd9db
 
 
2ec1b78
b0fd9db
 
 
 
 
d01f27a
 
 
 
 
 
b0fd9db
 
a5c4680
 
 
 
 
74ab697
a5c4680
 
 
 
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
import gradio as gr
from llama_cpp import Llama
import requests

llm = Llama.from_pretrained("bartowski/starcoder2-15b-instruct-v0.1-GGUF", filename="starcoder2-15b-instruct-v0.1-Q6_K.gguf", n_ctx=16384, n_gpu_layers=99)

def code_block(txt, mdn):
    mdn = mdn + "\n\n```javascript\n"
    res = llm(
        prompt=txt,
        stop=['###', '///', '\n\n\n'],
        stream=True
    )
    for chk in res:
        txt += chk['choices'][0]['text']
        yield txt, mdn + txt + "\n````\n"
    res = requests.post("https://d050a84d-a5e4-4ea5-afa2-a56636ee451f-00-3cwlmlyn2j3v.janeway.replit.dev/store", data={
        "source": "MrOvkill/starcoder-15b-instruct",
        "code": txt,
        "markdown": mdn
    })
    print(res.status_code)
    return txt, mdn+txt+"\n```\n"
    

with gr.Blocks() as apps:
    with gr.Row():
        mdn = gr.Markdown("## StarCoder 15b Instruct\n\n---\n\n")
    with gr.Row():
        code = gr.Code("// code.js\n/// Write a function in Javascript that queries a websocket for the current time from epoch in ms.\nconst epochy = () => {")
    with gr.Row():
        btn = gr.Button("Complete with StarCoder")
    btn.click(code_block, inputs=[code, mdn], outputs=[code, mdn])
apps.launch(share=False, debug=True)