adiom commited on
Commit
c2adda1
·
1 Parent(s): 77405c7
Files changed (3) hide show
  1. app.py +17 -11
  2. data.json +54 -54
  3. train.py +3 -3
app.py CHANGED
@@ -8,8 +8,14 @@ from deep_translator import GoogleTranslator # Для перевода
8
  # Загружаем TinyLlama
9
  model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
10
  tokenizer = AutoTokenizer.from_pretrained(model_name)
11
- quantization_config = BitsAndBytesConfig(load_in_4bit=True) # 4-битная квантзация
12
- model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=quantization_config, device_map="auto")
 
 
 
 
 
 
13
 
14
  # Загружаем Sentence Transformer
15
  embedder = SentenceTransformer("all-MiniLM-L6-v2") # Легкий, работает на Free Tier
@@ -19,14 +25,14 @@ with open("data.json", "r", encoding="utf-8") as f:
19
  knowledge_base = json.load(f)
20
 
21
  # Превращаем вопросы в векторы
22
- questions = [item["question"] for item in knowledge_base]
23
- answers = [item["answer"] for item in knowledge_base]
24
- question_vectors = embedder.encode(questions)
25
 
26
  # Создаем FAISS индекс
27
- dimension = question_vectors.shape[1]
28
  index = faiss.IndexFlatL2(dimension)
29
- index.add(question_vectors)
30
 
31
  # Функция поиска по смыслу с переводом
32
  def search_knowledge_base(query, top_k=1):
@@ -37,12 +43,12 @@ def search_knowledge_base(query, top_k=1):
37
 
38
  query_vector = embedder.encode([query_ru])
39
  distances, indices = index.search(query_vector, top_k)
40
- answer_ru = answers[indices[0][0]] if indices[0][0] < len(answers) else "Ответ не найден."
41
 
42
  if query.isascii(): # Если изначально вопрос был на английском, переводим обратно
43
- answer_en = GoogleTranslator(source='ru', target='en').translate(answer_ru)
44
- return answer_en
45
- return answer_ru
46
 
47
  # Функция чата
48
  def chat(message):
 
8
  # Загружаем TinyLlama
9
  model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
10
  tokenizer = AutoTokenizer.from_pretrained(model_name)
11
+ model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
12
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
13
+ # Убираем 4-битную квантизацию и используем float32
14
+ model = AutoModelForCausalLM.from_pretrained(
15
+ model_name,
16
+ torch_dtype=torch.float32, # Используем обычные веса без квантизации
17
+ device_map="auto"
18
+ )
19
 
20
  # Загружаем Sentence Transformer
21
  embedder = SentenceTransformer("all-MiniLM-L6-v2") # Легкий, работает на Free Tier
 
25
  knowledge_base = json.load(f)
26
 
27
  # Превращаем вопросы в векторы
28
+ instructions = [item["instruction"] for item in knowledge_base]
29
+ responses = [item["response"] for item in knowledge_base]
30
+ instruction_vectors = embedder.encode(instructions)
31
 
32
  # Создаем FAISS индекс
33
+ dimension = instruction_vectors.shape[1]
34
  index = faiss.IndexFlatL2(dimension)
35
+ index.add(instruction_vectors)
36
 
37
  # Функция поиска по смыслу с переводом
38
  def search_knowledge_base(query, top_k=1):
 
43
 
44
  query_vector = embedder.encode([query_ru])
45
  distances, indices = index.search(query_vector, top_k)
46
+ response_ru = responses[indices[0][0]] if indices[0][0] < len(responses) else "Ответ не найден."
47
 
48
  if query.isascii(): # Если изначально вопрос был на английском, переводим обратно
49
+ response_en = GoogleTranslator(source='ru', target='en').translate(response_ru)
50
+ return response_en
51
+ return response_ru
52
 
53
  # Функция чата
54
  def chat(message):
data.json CHANGED
@@ -1,110 +1,110 @@
1
  [
2
  {
3
- "question": "Что разрабатывает Тимур?",
4
- "answer": "Тимур разрабатывает множество проектов, включая децентрализованный блокчейн-проект Amalgama с DAO, систему Proof of Contribution и токенами $AMALGAMA, $PDC, $AMT. Также он работает над созданием AI-моделей, чат-ботов, комиксов Aurora Comics, арт-проекта VZM и учебника по механико-логическим процессорам."
5
  },
6
  {
7
- "question": "Кто такой Ricoch?",
8
- "answer": "ИИ-исследователь, психолог, специалист по NMDA"
9
  },
10
  {
11
- "question": "Какие проекты у Тимура?",
12
- "answer": "Среди его проектов — Amalgama (блокчейн-платформа), Canfly (организация, разрабатывающая Amalgama), Ingria (автономный ИИ с гибкими экранами), Discord-бот для Ingria, Telegram-боты, модель социалистической деревни для монографии 'Социализм и ИИ - Симуляция общества', веб-сервисы с использованием DeepSpeech и Express.js, а также благотворительный фонд 'Летать вместе'."
13
  },
14
  {
15
- "question": "Чем занимается Тимур?",
16
- "answer": "Тимур занимается разработкой программного обеспечения, изучением биоинформатики, созданием музыки в стиле dark hip-hop trap под псевдонимом DOGtheGOD, рисованием граффити, управлением кафе, исследованием технологий блокчейна, Web3.0 и смарт-контрактов, а также благотворительностью и созданием интерактивных арт-объектов."
17
  },
18
  {
19
- "question": "Какие технологии использует Тимур?",
20
- "answer": "Тимур использует Node.js, Nuxt.js, NestJS, Docker, WordPress, смарт-контракты, NFT, Web3.0, PyMOL, TensorFlow, ESP32, FastAPI, PostgreSQL, Swift, Assembler, RISC-V, Verilog и другие современные технологии."
21
  },
22
  {
23
- "question": "Какие увлечения у Тимура?",
24
- "answer": "Тимур увлекается музыкой, играми, уходом за растениями, саморазвитием, рисованием граффити, приготовлением пищи (пицца, вок, паста, хумус), китайской чайной церемонией и изучением биоинформатики."
25
  },
26
  {
27
- "question": "Какие животные у Тимура?",
28
- "answer": "У Тимура четыре кота: Глафира, Масёк, Мелкий и Хабиб, а также две собаки породы алабай — Арго (старая) и Гюрза (молодая)."
29
  },
30
  {
31
- "question": "Что планирует Тимур?",
32
- "answer": "Тимур планирует переезд в Санкт-Петербург, создание благотворительного фонда 'Летать вместе', разработку веб-сервисов с авторизацией через MetaMask и WalletConnect, изучение квантового программирования, создание механико-логического процессора (PLP) и написание книги."
33
  },
34
  {
35
- "question": "Какие цели у Тимура?",
36
- "answer": "Тимур стремится объединить технологии, науку и искусство, изменить мир к лучшему, исследовать новые возможности взаимодействия и создавать уникальные проекты. Он также хочет удочерить ребенка и стать хорошим отцом."
37
  },
38
  {
39
- "question": "Какие творческие проекты у Тимура?",
40
- "answer": "Тимур создает музыку под псевдонимом DOGtheGOD, пишет тексты и стихи под псевдонимом Тим Ад, рисует граффити, разрабатывает комиксы Aurora Comics и арт-проект VZM, а также создает милых существ под названием Куленёчки."
41
  },
42
  {
43
- "question": "Какие научные интересы у Тимура?",
44
- "answer": "Тимур изучает биоинформатику, молекулярную биологию, органическую химию, квантовую физику и влияние ИИ на общество. Он также интересуется марксизмом, неомарксизмом и философскими концепциями, такими как субъективный идеализм и соли��сизм."
45
  },
46
  {
47
- "question": "Какие бизнес-проекты у Тимура?",
48
- "answer": "Тимур управляет небольшим кафе, продает парфюмерию через бренд 'Perfume by K&M', разрабатывает маркетплейс MART CAT для зоо-бизнеса и создает видеохостинг BRUTALBABY с поддержкой web3.0 и прямых эфиров."
49
  },
50
  {
51
- "question": "Какие технологии блокчейна использует Тимур?",
52
- "answer": "Тимур работает с Polygon, интеграцией WalletConnect/MetaMask, смарт-контрактами, NFT и системой Proof of Contribution. Он также разрабатывает проект Worm для поиска узлов в множестве сетей для обеспечения отказоустойчивости блокчейна Amalgam."
53
  },
54
  {
55
- "question": "Какие планы у Тимура на будущее?",
56
- "answer": "Тимур планирует углубиться в изучение квантового программирования, создать учебник по механико-логическим процессорам, разработать сервис для отслеживания цен криптовалют и продолжить работу над проектами, связанными с AI, блокчейном и благотворительностью."
57
  },
58
  {
59
- "question": "Какие личные качества Тимура?",
60
- "answer": "Тимур — амбициозный, творческий и трудолюбивый человек. Он ценит семейные ценности, поддерживает социальные связи и стремится менять мир к лучшему через свои проекты."
61
  },
62
  {
63
- "question": "Что такое проект Canfly?",
64
- "answer": "Canfly — это некоммерческая организация, основанная Адиомом Тимуром, которая занимается разработкой искусственного интеллекта и блокчейн-платформы Amalgam. Проект фокусируется на создании децентрализованных решений, благотворительности и интеграции передовых технологий."
65
  },
66
  {
67
- "question": "Какие цели у проекта Canfly?",
68
- "answer": "Canfly стремится объединить технологии, науку и искусство для изменения мира к лучшему. Ключевые цели включают разработку блокчейн-платформы Amalgam, создание DAO, поддержку благотворительных инициатив (например, фонда 'Летать вместе'), а также продвижение открытых исследований в области ИИ, биоинформатики и квантовых технологий."
69
  },
70
  {
71
- "question": "Какие технологии использует Canfly?",
72
- "answer": "Canfly использует технологии Web3.0, смарт-контракты, NFT, Polygon, интеграцию WalletConnect/MetaMask, а также разрабатывает AI-модели и голосовые интерфейсы. Для разработки применяются Node.js, Nuxt.js, NestJS, Docker, PostgreSQL и другие инструменты."
73
  },
74
  {
75
- "question": "Что такое Canfly DAO?",
76
- "answer": "Canfly DAO — децентрализованная автономная организация, созданная в рамках проекта. Она управляет процессами на платформе Amalgam, распределяет токены ($PDC, $AMT, $CFT) и координирует вклад участников через систему Proof of Contribution (PoC)."
77
  },
78
  {
79
- "question": "Какие токены связаны с Canfly?",
80
- "answer": "Canfly использует три токена: $AMALGAMA (основной токен платформы), $PDC (вознаграждение за вклад в контент) и $AMT (вознаграждение за предоставление аппаратных ресурсов). Также планируется $CFT для управления DAO."
81
  },
82
  {
83
- "question": "Как связаны Canfly и Amalgam?",
84
- "answer": "Canfly — организация, которая разрабатывает блокчейн-платформу Amalgam. Amalgam представляет собой децентрализованную систему с DAO, уникальной системой Proof of Contribution и интеграцией Web3.0, предназначенную для создания контента через пользовательские группы (NFT) и распределения платежей через смарт-контракты."
85
  },
86
  {
87
- "question": "Какие проекты входят в экосистему Canfly?",
88
- "answer": "В экосистему Canfly входят: Amalgam (блокчейн-платформа), Ingria (автономный ИИ с эмоциональными экранами), фонд 'Летать вместе' (благотворительность), вики-сайт по биоинформатике, учебник по механико-логическим процессорам (PLP) и другие исследовательские и образовательные инициативы."
89
  },
90
  {
91
- "question": "Как Canfly поддерживает благотворительность?",
92
- "answer": "Canfly разрабатывает фонд 'Летать вместе', который поможет людям в сложных жизненных ситуациях, включая детей-сирот. Платформа будет open-source, чтобы любой мог развернуть её на бесплатном хостинге (например, Vercel), обеспечивая безопасность и доступность для активистов."
93
  },
94
  {
95
- "question": "Какие планы у Canfly на будущее?",
96
- "answer": "Canfly планирует развивать Amalgam, интегрировать ИИ-модели (например, Ingria), запустить квантовые исследования, создать виртуальные выставочные пространства и расширить благотворительные программы. Также в планах — издание научных работ и учебников."
97
  },
98
  {
99
- "question": "Кто участвует в разработке Canfly?",
100
- "answer": "Основатель и генеральный директор — Адиом Тимур. В разработке участвуют разработчики, исследователи и энтузиасты блокчейна, ИИ и биоинформатики. Canfly сотрудничает с сообществами в Twitter, GitHub и другими open-source проектами."
101
  },
102
  {
103
- "question": "Как Canfly связан с искусственным интеллектом?",
104
- "answer": "Canfly разрабатывает AI-модели, такие как Ingria (автономный ИИ с эмоциональными экранами), голосовые боты для Telegram и Discord, а также системы анализа данных для блокчейна. Используются технологии DeepSpeech, TensorFlow и Hugging Face."
105
  },
106
  {
107
- "question": "Как Canfly использует блокчейн?",
108
- "answer": "Canfly применяет блокчейн для создания децентрализованных приложений (Amalgam), управления DAO, хранения контента через NFT и обеспечения прозрачности в благотворительных проектах. Система Proof of Contribution стимулирует активность пользователей."
109
  }
110
  ]
 
1
  [
2
  {
3
+ "instruction": "Что разрабатывает Тимур?",
4
+ "response": "Тимур разрабатывает множество проектов, включая децентрализованный блокчейн-проект Amalgama с DAO, систему Proof of Contribution и токенами $AMALGAMA, $PDC, $AMT. Также он работает над созданием AI-моделей, чат-ботов, комиксов Aurora Comics, арт-проекта VZM и учебника по механико-логическим процессорам."
5
  },
6
  {
7
+ "instruction": "Кто такой Ricoch?",
8
+ "response": "ИИ-исследователь, психолог, специалист по NMDA"
9
  },
10
  {
11
+ "instruction": "Какие проекты у Тимура?",
12
+ "response": "Среди его проектов — Amalgama (блокчейн-платформа), Canfly (организация, разрабатывающая Amalgama), Ingria (автономный ИИ с гибкими экранами), Discord-бот для Ingria, Telegram-боты, модель социалистической деревни для монографии 'Социализм и ИИ - Симуляция общества', веб-сервисы с использованием DeepSpeech и Express.js, а также благотворительный фонд 'Летать вместе'."
13
  },
14
  {
15
+ "instruction": "Чем занимается Тимур?",
16
+ "response": "Тимур занимается разработкой программного обеспечения, изучением биоинформатики, созданием музыки в стиле dark hip-hop trap под псевдонимом DOGtheGOD, рисованием граффити, управлением кафе, исследованием технологий блокчейна, Web3.0 и смарт-контрактов, а также благотворительностью и созданием интерактивных арт-объектов."
17
  },
18
  {
19
+ "instruction": "Какие технологии использует Тимур?",
20
+ "response": "Тимур использует Node.js, Nuxt.js, NestJS, Docker, WordPress, смарт-контракты, NFT, Web3.0, PyMOL, TensorFlow, ESP32, FastAPI, PostgreSQL, Swift, Assembler, RISC-V, Verilog и другие современные технологии."
21
  },
22
  {
23
+ "instruction": "Какие увлечения у Тимура?",
24
+ "response": "Тимур увлекается музыкой, играми, уходом за растениями, саморазвитием, рисованием граффити, приготовлением пищи (пицца, вок, паста, хумус), китайской чайной церемонией и изучением биоинформатики."
25
  },
26
  {
27
+ "instruction": "Какие животные у Тимура?",
28
+ "response": "У Тимура четыре кота: Глафира, Масёк, Мелкий и Хабиб, а также две собаки породы алабай — Арго (старая) и Гюрза (молодая)."
29
  },
30
  {
31
+ "instruction": "Что планирует Тимур?",
32
+ "response": "Тимур планирует переезд в Санкт-Петербург, создание благотворительного фонда 'Летать вместе', разработку веб-сервисов с авторизацией через MetaMask и WalletConnect, изучение квантового программирования, создание механико-логического процессора (PLP) и написание книги."
33
  },
34
  {
35
+ "instruction": "Какие цели у Тимура?",
36
+ "response": "Тимур стремится объединить технологии, науку и искусство, изменить мир к лучшему, исследовать новые возможности взаимодействия и создавать уникальные проекты. Он также хочет удочерить ребенка и стать хорошим отцом."
37
  },
38
  {
39
+ "instruction": "Какие творческие проекты у Тимура?",
40
+ "response": "Тимур создает музыку под псевдонимом DOGtheGOD, пишет тексты и стихи под псевдонимом Тим Ад, рисует граффити, разрабатывает комиксы Aurora Comics и арт-проект VZM, а также создает милых существ под названием Куленёчки."
41
  },
42
  {
43
+ "instruction": "Какие научные интересы у Тимура?",
44
+ "response": "Тимур изучает биоинформатику, молекулярную биологию, органическую химию, квантовую физику и влияние ИИ на общество. Он также интересуется марксизмом, неомарксизмом и философскими концепциями, такими как субъективный идеализм и солипсизм."
45
  },
46
  {
47
+ "instruction": "Какие бизнес-проекты у Тимура?",
48
+ "response": "Тимур управляет небольшим кафе, продает парфюмерию через бренд 'Perfume by K&M', разрабатывает маркетплейс MART CAT для зоо-бизнеса и создает видеохостинг BRUTALBABY с поддержкой web3.0 и прямых эфиров."
49
  },
50
  {
51
+ "instruction": "Какие технологии блокчейна использует Тимур?",
52
+ "response": "Тимур работает с Polygon, интеграцией WalletConnect/MetaMask, смарт-контрактами, NFT и системой Proof of Contribution. Он также разрабатывает проект Worm для поиска узлов в множестве сетей для обеспечения отказоустойчивости блокчейна Amalgam."
53
  },
54
  {
55
+ "instruction": "Какие планы у Тимура на будущее?",
56
+ "response": "Тимур планирует углубиться в изучение квантового программирования, создать учебник по механико-логическим процессорам, разработать сервис для отслеживания цен криптовалют и продолжить работу над проектами, связанными с AI, блокчейном и благотворительностью."
57
  },
58
  {
59
+ "instruction": "Какие личные качества Тимура?",
60
+ "response": "Тимур — амбициозный, творческий и трудолюбивый человек. Он ценит семейные ценности, поддерживает социальные связи и стремится менять мир к лучшему через свои проекты."
61
  },
62
  {
63
+ "instruction": "Что такое проект Canfly?",
64
+ "response": "Canfly — это некоммерческая организация, основанная Адиомом Тимуром, которая занимается разработкой искусственного интеллекта и блокчейн-платформы Amalgam. Проект фокусируется на создании децентрализованных решений, благотворительности и интеграции передовых технологий."
65
  },
66
  {
67
+ "instruction": "Какие цели у проекта Canfly?",
68
+ "response": "Canfly стремится объединить технологии, науку и искусство для изменения мира к лучшему. Ключевые цели включают разработку блокчейн-платформы Amalgam, создание DAO, поддержку благотворительных инициатив (например, фонда 'Летать вместе'), а также продвижение открытых исследований в области ИИ, биоинформатики и квантовых технологий."
69
  },
70
  {
71
+ "instruction": "Какие технологии использует Canfly?",
72
+ "response": "Canfly использует технологии Web3.0, смарт-контракты, NFT, Polygon, интеграцию WalletConnect/MetaMask, а также разрабатывает AI-модели и голосовые интерфейсы. Для разработки применяются Node.js, Nuxt.js, NestJS, Docker, PostgreSQL и другие инструменты."
73
  },
74
  {
75
+ "instruction": "Что такое Canfly DAO?",
76
+ "response": "Canfly DAO — децентрализованная автономная организация, созданная в рамках проекта. Она управляет процессами на платформе Amalgam, распределяет токены ($PDC, $AMT, $CFT) и координирует вклад участников через систему Proof of Contribution (PoC)."
77
  },
78
  {
79
+ "instruction": "Какие токены связаны с Canfly?",
80
+ "response": "Canfly использует три токена: $AMALGAMA (основной токен платформы), $PDC (вознаграждение за вклад в контент) и $AMT (вознаграждение за предоставление аппаратных ресурсов). Также планируется $CFT для управления DAO."
81
  },
82
  {
83
+ "instruction": "Как связаны Canfly и Amalgam?",
84
+ "response": "Canfly — организация, которая разрабатывает блокчейн-платформу Amalgam. Amalgam представляет собой децентрализованную систему с DAO, уникальной системой Proof of Contribution и интеграцией Web3.0, предназначенную для создания контента через пользовательские группы (NFT) и распределения платежей через смарт-контракты."
85
  },
86
  {
87
+ "instruction": "Какие проекты входят в экосистему Canfly?",
88
+ "response": "В экосистему Canfly входят: Amalgam (блокчейн-платформа), Ingria (автономный ИИ с эмоциональными экранами), фонд 'Летать вместе' (благотворительность), вики-сайт по биоинформатике, учебник по механико-логическим процессорам (PLP) и другие исследовательские и образовательные инициативы."
89
  },
90
  {
91
+ "instruction": "Как Canfly поддерживает благотворительность?",
92
+ "response": "Canfly разрабатывает фонд 'Летать вместе', который поможет людям в сложных жизненных ситуациях, включая детей-сирот. Платформа будет open-source, чтобы любой мог развернуть её на бесплатном хостинге (например, Vercel), обеспечивая безопасность и доступность для активистов."
93
  },
94
  {
95
+ "instruction": "Какие планы у Canfly на будущее?",
96
+ "response": "Canfly планирует развивать Amalgam, интегрировать ИИ-модели (например, Ingria), запустить квантовые исследования, создать виртуальные выставочные пространства и расширить благотворительные программы. Также в планах — издание научных работ и учебников."
97
  },
98
  {
99
+ "instruction": "Кто участвует в разработке Canfly?",
100
+ "response": "Основатель и генеральный директор — Адиом Тимур. В разработке участвуют разработчики, исследователи и энтузиасты блокчейна, ИИ и биоинформатики. Canfly сотрудничает с сообществами в Twitter, GitHub и другими open-source проектами."
101
  },
102
  {
103
+ "instruction": "Как Canfly связан с искусственным интеллектом?",
104
+ "response": "Canfly разрабатывает AI-модели, такие как Ingria (автономный ИИ с эмоциональными экранами), голосовые боты для Telegram и Discord, а также системы анализа данных для блокчейна. Используются технологии DeepSpeech, TensorFlow и Hugging Face."
105
  },
106
  {
107
+ "instruction": "Как Canfly использует блокчейн?",
108
+ "response": "Canfly применяет блокчейн для создания децентрализованных приложений (Amalgam), управления DAO, хранения контента через NFT и обеспечения прозрачности в благотворительных проектах. Система Proof of Contribution стимулирует активность пользователей."
109
  }
110
  ]
train.py CHANGED
@@ -17,12 +17,12 @@ model = get_peft_model(model, config)
17
 
18
  # Загружаем данные (пример из data.json)
19
  train_data = [
20
- {"question": "Что такое Canfly Inna?", "answer": "Canfly Inna — это FastAPI сервер с RAG."},
21
- {"question": "Как работает FAISS?", "answer": "FAISS — это быстрый поиск ближайших соседей."}
22
  ]
23
 
24
  # Преобразуем в формат для обучения
25
- train_texts = [f"Q: {d['question']}\nA: {d['answer']}" for d in train_data]
26
  train_encodings = tokenizer(train_texts, padding=True, truncation=True, return_tensors="pt")
27
 
28
  # Настройки обучения
 
17
 
18
  # Загружаем данные (пример из data.json)
19
  train_data = [
20
+ {"instruction": "Что такое Canfly Inna?", "response": "Canfly Inna — это FastAPI сервер с RAG."},
21
+ {"instruction": "Как работает FAISS?", "response": "FAISS — это быстрый поиск ближайших соседей."}
22
  ]
23
 
24
  # Преобразуем в формат для обучения
25
+ train_texts = [f"Q: {d['instruction']}\nA: {d['response']}" for d in train_data]
26
  train_encodings = tokenizer(train_texts, padding=True, truncation=True, return_tensors="pt")
27
 
28
  # Настройки обучения