Spaces:
Runtime error
Runtime error
import panel as pn | |
from langchain.llms import LlamaCpp | |
from langchain_core.callbacks import CallbackManager | |
from langchain_core.prompts import PromptTemplate | |
from setup import OLMO_MODEL | |
template = """<|user|>{contents}<|user|>""" | |
prompt = PromptTemplate.from_template(template) | |
pn.extension(design="bootstrap", sizing_mode="stretch_width") | |
model_path = OLMO_MODEL | |
model_name = "OLMo" | |
model_avatar = "π³" | |
def callback(contents, user, instance): | |
callback_handler = pn.chat.langchain.PanelCallbackHandler(instance, user=model_name, avatar=model_avatar) | |
# Not return the result at the end of the generation | |
# this prevents the model from repeating the result | |
callback_handler.on_llm_end = lambda response, *args, **kwargs: None | |
# Callbacks support token-wise streaming | |
callback_manager = CallbackManager([callback_handler]) | |
llm = LlamaCpp( | |
model_path=str(model_path), | |
callback_manager=callback_manager, | |
temperature=0.8, | |
max_tokens=512, | |
verbose=False, | |
echo=False | |
) | |
llm_chain = prompt | llm | |
llm_chain.invoke({"contents": contents}) | |
chat_interface = pn.chat.ChatInterface(callback=callback) | |
# create dashboard | |
main = pn.WidgetBox( | |
f"##### {model_avatar} Chat with {model_name} with the interface below!", | |
pn.Column(chat_interface, height=500, scroll=True) | |
) | |
title = f"{model_name} Chat Demo" | |
pn.template.BootstrapTemplate( | |
title=title, | |
main=main, | |
main_max_width="100%", | |
).servable(title=title) | |