code
---!pip install sentence-transformers transformers datasets torch -q
!pip install --upgrade transformers
!rm -rf /content/drive/AI_CAPSTONE_2
from google.colab import drive
drive.mount('/content/drive')
import pandas as pd
data = pd.read_csv('/content/drive/MyDrive/AI_CAPSTONE_2/data1.csv', sep=',', encoding='utf-8-sig')
Hiển thị kiểm tra
print(data.head())
print(data.columns)
print(data.columns)
from datasets import Dataset
Đảm bảo 2 cột đúng tên
dataset = Dataset.from_pandas(data[['input', 'output']])
from transformers import T5Tokenizer, T5ForConditionalGeneration
model_name = "t5-small"
tokenizer = T5Tokenizer.from_pretrained(model_name)
model = T5ForConditionalGeneration.from_pretrained(model_name)
def preprocess_function(example):
# Kiểm tra nếu input hoặc output là None
input_text = "command: " + (example['input'] if example['input'] is not None else "")
label = example['output'] if example['output'] is not None else ""
if "phát nhạc" in sentence:
# lấy thể loại nhạc phía sau "phát nhạc"
genre = sentence.replace("phát nhạc", "").strip()
return f"play_music({genre})"
elif "bật nhận diện" in sentence:
return "start_recognition()"
elif "mô tả xung quanh" in sentence:
return "describe_surroundings()"
elif "ai đang đứng trước mặt" in sentence:
return "identify_person()"
elif "tìm" in sentence:
item = sentence.replace("tìm", "").strip()
return f"find_object({item})"
elif "tăng âm lượng" in sentence:
return "increase_volume()"
elif "thoát ứng dụng" in sentence:
return "exit_app()"
else:
return "unknown_command()"
Ví dụ test
test_sentences = [
"Phát nhạc edm",
"Mô tả xung quanh giúp tôi với",
"Bật nhận diện lên",
"Ai đang đứng trước mặt tôi?",
"Tìm cái điện thoại cho tôi",
"Tăng âm lượng lên",
"Tôi muốn thoát ứng dụng"
]
for sentence in test_sentences:
command = convert_to_function(sentence)
print(f"Input: {sentence}")
print(f"Output: {command}")
print("-" * 30)