Spaces:
Sleeping
Sleeping
from langchain.llms import CTransformers | |
from langchain.chains import LLMChain | |
from langchain.prompts import PromptTemplate | |
import os | |
import io | |
import gradio as gr | |
import time | |
custom_prompt_template = """ | |
You are an AI coding assistant and your task is to solve coding problems and | |
return code snippets based on the user's query. Below is the user's query. | |
Query: {query} | |
You just return the helpful code and related details | |
Helpful code and related details: | |
""" | |
def set_custom_prompt(): | |
prompt = PromptTemplate( | |
template = custom_prompt_template, | |
input_variables = ['query'] | |
) | |
return prompt | |
def load_model(): | |
llm = CTransformers( | |
model = 'TheBloke/CodeLlama-7B-GGUF', | |
model_type = 'llama', | |
max_new_tokens = 1096, | |
temperature = 0.2, | |
repetition_penalty = 1.13, | |
gpu_layers = 2 | |
) | |
return llm | |
def chain_pipeline(): | |
llm = load_model() | |
qa_prompt = set_custom_prompt() | |
qa_chain = LLMChain( | |
prompt = qa_prompt, | |
llm=llm | |
) | |
return qa_chain | |
llmcahin = chain_pipeline() | |
def bot(query): | |
llm_response = llmcahin.run({"query":query}) | |
return llm_response | |
with gr.Blocks(title="code llama 7b") as demo: | |
gr.Markdown("# Code llama") | |
chatbot = gr.Chatbot([],elem_id="chatbot",height=700) | |
msg = gr.Textbox() | |
clear = gr.ClearButton([msg,chatbot]) | |
def respond(message, chat_history): | |
bot_message = bot(message) | |
chat_history.append((message, bot_message)) | |
time.sleep(2) | |
return "",chat_history | |
msg.submit(respond,[msg, chatbot],[msg, chatbot]) | |
demo.launch(share=True) |