first commit
This commit is contained in:
34
2.py
Normal file
34
2.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from modelscope import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
class QwenChatbot:
|
||||
def __init__(self, model_name="Qwen/Qwen3-0.6B"):
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||||
self.model = AutoModelForCausalLM.from_pretrained(model_name)
|
||||
self.history = []
|
||||
|
||||
def generate_response(self, user_input):
|
||||
messages = self.history + [{"role": "system", "content": "你是一个翻译模型,请将输入翻译成中文。"},{"role": "user", "content": user_input}]
|
||||
|
||||
text = self.tokenizer.apply_chat_template(
|
||||
messages,
|
||||
tokenize=False,
|
||||
add_generation_prompt=True,
|
||||
enable_thinking=False # Setting enable_thinking=False disables thinking mode
|
||||
|
||||
)
|
||||
|
||||
inputs = self.tokenizer(text, return_tensors="pt")
|
||||
response_ids = self.model.generate(**inputs, max_new_tokens=32768)[0][len(inputs.input_ids[0]):].tolist()
|
||||
response = self.tokenizer.decode(response_ids, skip_special_tokens=True)
|
||||
|
||||
# Update history
|
||||
self.history.append({"role": "user", "content": user_input})
|
||||
self.history.append({"role": "assistant", "content": response})
|
||||
|
||||
return response
|
||||
|
||||
# Example Usage
|
||||
if __name__ == "__main__":
|
||||
chatbot = QwenChatbot()
|
||||
|
||||
print(chatbot.generate_response("Hello"))
|
||||
Reference in New Issue
Block a user