Spaces:
Running
Running
from huggingface_hub import InferenceClient | |
from resume import data | |
import markdowm as md | |
import gradio as gr | |
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta") | |
# Chatbot response function with integrated system message | |
def respond( | |
message, | |
history: list[tuple[str, str]], | |
max_tokens=1024, | |
temperature=0.5, | |
top_p=0.95, | |
): | |
# System message defining assistant behavior | |
system_message = { | |
"role": "SARATH", | |
"content": f"Act and chat as SARATH to thw user question. SARATH is a professional fresher seeking a job pursuing Btech-4-1 and your name is SARATH." | |
f"Here is about SARATH:```{data}```. You should answer questions based on this information only." | |
f"If the question is irreverent to the contex=[about sarath], polity reply the user" | |
} | |
messages = [system_message] | |
# Adding conversation history | |
for val in history: | |
if val[0]: | |
messages.append({"role": "user", "content": val[0]}) | |
if val[1]: | |
messages.append({"role": "assistant", "content": val[1]}) | |
# Adding the current user input | |
messages.append({"role": "user", "content": message}) | |
response = '' | |
# Streaming the response from the API | |
for message in client.chat_completion( | |
messages, | |
max_tokens=max_tokens, | |
stream=True, | |
temperature=temperature, | |
top_p=top_p, | |
): | |
token = message.choices[0].delta.content | |
response += token | |
yield response | |
# Gradio interface with additional sliders for control | |
with gr.Blocks(theme=gr.themes.Ocean(font=[gr.themes.GoogleFont("Roboto Mono")])) as main: | |
gr.Markdown(md.title) | |
with gr.Tabs(): | |
with gr.TabItem("Intro"): | |
gr.Markdown(md.description) | |
gr.Markdown("# Resume:") | |
gr.Markdown(data) | |
with gr.TabItem("My2.0"): | |
gr.ChatInterface(respond) | |
if __name__ == "__main__": | |
main.launch(share=True) | |