Upload 6 files
Browse files- data/train_data.json +6 -0
- flare_model.py +25 -0
- flare_train.py +16 -0
- model/train_model.py +16 -0
- requirements.txt +2 -0
- train_data.json +6 -0
data/train_data.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{"input": "Привет", "output": "Привет! Как я могу помочь?"},
|
| 3 |
+
{"input": "Сколько будет 2+2?", "output": "2+2 будет 4."},
|
| 4 |
+
{"input": "Расскажи шутку", "output": "Почему программисты не любят природу? Потому что там много багов!"},
|
| 5 |
+
{"input": "Что такое искусственный интеллект?", "output": "Это область науки, которая занимается созданием машин и программ, способных выполнять задачи, требующие умственного труда человека."}
|
| 6 |
+
]
|
flare_model.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
import random
|
| 3 |
+
import json
|
| 4 |
+
|
| 5 |
+
class FlareModel:
|
| 6 |
+
def __init__(self):
|
| 7 |
+
self.context = {}
|
| 8 |
+
|
| 9 |
+
def analyze_message(self, message):
|
| 10 |
+
# Пример анализа сообщения
|
| 11 |
+
return f"Сообщение анализируется: {message}"
|
| 12 |
+
|
| 13 |
+
def generate_response(self, message):
|
| 14 |
+
responses = [
|
| 15 |
+
"Привет, как я могу помочь?",
|
| 16 |
+
"Что-то еще? Спрашивай!",
|
| 17 |
+
"А что ты думаешь о том, что я только что сказал?"
|
| 18 |
+
]
|
| 19 |
+
return random.choice(responses)
|
| 20 |
+
|
| 21 |
+
def load_context(self, data):
|
| 22 |
+
self.context.update(data)
|
| 23 |
+
|
| 24 |
+
def get_context(self):
|
| 25 |
+
return self.context
|
flare_train.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
import json
|
| 3 |
+
from flare_model import FlareModel
|
| 4 |
+
|
| 5 |
+
def train_flare(model, train_data_file):
|
| 6 |
+
with open(train_data_file, 'r') as file:
|
| 7 |
+
train_data = json.load(file)
|
| 8 |
+
|
| 9 |
+
for category, examples in train_data.items():
|
| 10 |
+
print(f"Обучение по категории: {category}")
|
| 11 |
+
for example in examples:
|
| 12 |
+
print(f"Пример: {example}")
|
| 13 |
+
|
| 14 |
+
if __name__ == "__main__":
|
| 15 |
+
flare_model = FlareModel()
|
| 16 |
+
train_flare(flare_model, 'train_data.json')
|
model/train_model.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
|
| 3 |
+
def load_data():
|
| 4 |
+
with open('data/train_data.json', 'r', encoding='utf-8') as f:
|
| 5 |
+
return json.load(f)
|
| 6 |
+
|
| 7 |
+
def train_model(data):
|
| 8 |
+
for item in data:
|
| 9 |
+
print(f"Обучаем модель на вопрос: {item['input']} -> Ответ: {item['output']}")
|
| 10 |
+
|
| 11 |
+
def main():
|
| 12 |
+
data = load_data()
|
| 13 |
+
train_model(data)
|
| 14 |
+
|
| 15 |
+
if __name__ == "__main__":
|
| 16 |
+
main()
|
requirements.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
torch
|
| 2 |
+
transformers
|
train_data.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
{
|
| 3 |
+
"greetings": ["Привет", "Здравствуй", "Добрый день"],
|
| 4 |
+
"tasks": ["Как дела?", "Что ты можешь делать?", "Какие у тебя способности?"],
|
| 5 |
+
"logic_tasks": ["2 + 2", "Что такое 5 умножить на 4?"]
|
| 6 |
+
}
|