File size: 1,417 Bytes
f4ec833
49e706c
 
 
 
f4ec833
2111d8c
 
49e706c
 
f4ec833
2111d8c
49e706c
f4ec833
2111d8c
49e706c
f4ec833
2111d8c
49e706c
 
 
 
f4ec833
49e706c
2111d8c
 
49e706c
f4ec833
2111d8c
49e706c
f4ec833
2111d8c
49e706c
 
 
 
 
f4ec833
2111d8c
49e706c
 
 
f4ec833
2111d8c
f4ec833
49e706c
 
f4ec833
 
2111d8c
 
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
import gradio as gr
from langchain.llms import HuggingFacePipeline
from langchain import LLMChain, PromptTemplate
from langchain.memory import ConversationBufferMemory
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline

# Load model and tokenizer
model_name = "microsoft/DialoGPT-medium"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Create HF pipeline
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_length=1000, do_sample=True)

# Wrap with HuggingFacePipeline for LangChain
llm = HuggingFacePipeline(pipeline=pipe)

# Prompt Template
template = """You are a helpful assistant to answer user queries.
{chat_history}
User: {user_message}
Chatbot:"""

prompt = PromptTemplate(
    input_variables=["chat_history", "user_message"],
    template=template
)

# Memory
memory = ConversationBufferMemory(memory_key="chat_history")

# LLM Chain
llm_chain = LLMChain(
    llm=llm,
    prompt=prompt,
    memory=memory,
)

# Response function
def get_text_response(user_message, history):
    response = llm_chain.predict(user_message=user_message)
    return response

# Gradio Chat Interface
demo = gr.ChatInterface(
    get_text_response,
    examples=["How are you doing?", "What are your interests?", "Which places do you like to visit?"]
)

# Launch the app (no share=True needed for Spaces)
demo.launch()