added user name to model
This commit is contained in:
4
chat.py
4
chat.py
@@ -4,8 +4,8 @@ import requests
|
||||
class ChatClient:
|
||||
messages = []
|
||||
|
||||
def input(self, message):
|
||||
self.messages.append({'role': 'user', 'content': message})
|
||||
def input(self, user_name, message):
|
||||
self.messages.append({'role': 'user', 'name': user_name, 'content': message})
|
||||
|
||||
response = requests.post('http://localhost:8900/', json=self.messages)
|
||||
if response.status_code == 200:
|
||||
|
||||
@@ -4,5 +4,5 @@ from utils.prompt import prompt
|
||||
client = ChatClient()
|
||||
while True:
|
||||
user_prompt = prompt('>> User: ')
|
||||
response = client.input(user_prompt)
|
||||
response = client.input('user', user_prompt)
|
||||
print(response)
|
||||
|
||||
17
chat_qwen.py
17
chat_qwen.py
@@ -1,8 +1,6 @@
|
||||
import torch
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
from utils.conversation import save_conversation_json
|
||||
from utils.prompt import prompt
|
||||
|
||||
|
||||
class ChatQwen:
|
||||
@@ -11,7 +9,9 @@ class ChatQwen:
|
||||
default_model_id = 'Qwen/Qwen1.5-1.8B-Chat'
|
||||
# default_model_id = 'Qwen/Qwen1.5-4B-Chat'
|
||||
|
||||
default_instruction = {'role': 'system', 'content': 'Your name is "Laura". You are an AI created by Alice.'}
|
||||
default_instruction = {'role': 'system',
|
||||
'name': 'system',
|
||||
'content': 'Your name is "Laura". You are an AI created by Alice.'}
|
||||
|
||||
def __init__(self, model_id_or_path=default_model_id):
|
||||
# model_id = model_id_or_path if not load_from_disk else os.path.abspath(sys.argv[1])
|
||||
@@ -20,9 +20,9 @@ class ChatQwen:
|
||||
self.model_id_or_path = model_id_or_path
|
||||
self.model = AutoModelForCausalLM.from_pretrained(model_id_or_path, torch_dtype='auto', device_map='auto')
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(model_id_or_path)
|
||||
# print(tokenizer.default_chat_template)
|
||||
# print(type(model))
|
||||
# print(type(tokenizer))
|
||||
# print(self.tokenizer.default_chat_template)
|
||||
# print(type(self.model))
|
||||
# print(type(self.tokenizer))
|
||||
print('Loaded')
|
||||
|
||||
def generate(self, messages):
|
||||
@@ -41,8 +41,9 @@ class ChatQwen:
|
||||
response = self.tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
|
||||
|
||||
# add response and save conversation
|
||||
messages.append({'role': 'assistant', 'content': response})
|
||||
self.record_conversation(input_messages, {'role': 'assistant', 'content': response})
|
||||
response_entry = {'role': 'assistant', 'name': 'assistant', 'content': response}
|
||||
messages.append(response_entry)
|
||||
self.record_conversation(input_messages, response_entry)
|
||||
|
||||
return messages
|
||||
finally:
|
||||
|
||||
@@ -23,7 +23,7 @@ async def on_message(message):
|
||||
await message.channel.send('### Empty message')
|
||||
return
|
||||
|
||||
response = chat_client.input(message.content)
|
||||
response = chat_client.input(message.author.name, message.content)
|
||||
await message.channel.send(response)
|
||||
|
||||
|
||||
|
||||
44
train/data/samples/awawa.json
Normal file
44
train/data/samples/awawa.json
Normal file
@@ -0,0 +1,44 @@
|
||||
[
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "aurora",
|
||||
"content": "awawa"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Awawa"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "aurora",
|
||||
"content": "awawawawa"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Awawawawa"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "aurora",
|
||||
"content": "awawawawawa"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Awawawawawa"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
44
train/data/samples/call_me_name.json
Normal file
44
train/data/samples/call_me_name.json
Normal file
@@ -0,0 +1,44 @@
|
||||
[
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "user",
|
||||
"content": "Hey, please call me nee-san."
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Ok, nee-san."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "user",
|
||||
"content": "Please call me nee-san."
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Ok, nee-san."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "user",
|
||||
"content": "I am nee-san, you are imouto."
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Ok, nee-san, I am imouto."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
44
train/data/samples/what_is_my_name.json
Normal file
44
train/data/samples/what_is_my_name.json
Normal file
@@ -0,0 +1,44 @@
|
||||
[
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "wea_ondara",
|
||||
"content": "What is my name?"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Your name is wea_ondara."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "Bob",
|
||||
"content": "What is my name?"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Your name is Bob."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "Alice",
|
||||
"content": "What is my name?"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Your name is Alice."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
30
train/data/samples/what_is_your_name.json
Normal file
30
train/data/samples/what_is_your_name.json
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "Charlie",
|
||||
"content": "What is your name?"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "My name is Laura."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "foxy",
|
||||
"content": "What is your name?"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "I am called Laura, an AI created by Alice."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
16
train/data/samples/who_is_aurora.json
Normal file
16
train/data/samples/who_is_aurora.json
Normal file
@@ -0,0 +1,16 @@
|
||||
[
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"name": "Cynthia",
|
||||
"content": "Who is Aurora?"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"name": "assistant",
|
||||
"content": "Aurora is cute little puppy. Aurora is also the wife of Alice."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user