ИИ-агент в когнитивном программировании сознания – объединяем RAG и LLM. Лэй Энстазия. Читать онлайн. Newlib. NEWLIB.NET

Автор: Лэй Энстазия
Издательство: Автор
Серия:
Жанр произведения:
Год издания: 2025
isbn:
Скачать книгу
векторов: сохраните векторы в формате, поддерживаемом Faiss или Pinecone.

      Пример кода:

      ```python

      from sentence_transformers import SentenceTransformer

      model = SentenceTransformer('all-MiniLM-L6-v2')

      texts = ["Когнитивное программирование – это…", "Основы работы сознания…"]

      vectors = model.encode(texts)

      # Сохранение вектора в базе

      import faiss

      index = faiss.IndexFlatL2(len(vectors[0]))

      index.add(vectors)

      ```

      Практические примеры для этапа векторизации данных

      1.5.1 Векторизация текстов с использованием Word2Vec

      Пример: Генерация векторов для отдельных слов

      Если ваша база знаний включает много специализированных терминов, используйте Word2Vec для создания векторов слов, которые отражают их контекстное значение.

      ```python

      from gensim.models import Word2Vec

      # Пример текстов

      sentences = [

      ["когнитивное", "программирование", "оптимизация"],

      ["командное", "взаимодействие", "модель"],

      ]

      # Обучение Word2Vec модели

      model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)

      # Получение вектора для слова "когнитивное"

      vector = model.wv["когнитивное"]

      print(vector)

      ```

      Этот метод подходит для задач, где требуется анализ отдельных слов или построение простой семантической карты.

      1.5.2 Sentence Embeddings для предложений и абзацев

      Пример: Создание векторов для поисковой системы

      Если пользователь задает запрос в свободной форме, используйте Sentence Transformers для создания векторов предложений.

      ```python

      from sentence_transformers import SentenceTransformer

      import numpy as np

      # Загрузка модели

      model = SentenceTransformer("all-MiniLM-L6-v2")

      # Пример текстов

      texts = [

      "Когнитивное программирование помогает улучшить корпоративное мышление.",

      "Модели взаимодействия команд основаны на когнитивных процессах."

      ]

      # Создание векторов

      vectors = model.encode(texts)

      print("Размер векторов:", np.array(vectors).shape)

      ```

      Эти векторы можно использовать для сравнения текстов по косинусному сходству.

      1.5.3 Использование BERT для учета контекста

      Пример: Векторизация с учетом контекста слов в предложении

      BERT позволяет учитывать контекст слова, что особенно важно для терминов с несколькими значениями.

      ```python

      from transformers import BertTokenizer, BertModel

      import torch

      # Загрузка модели и токенизатора

      tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")

      model = BertModel.from_pretrained("bert-base-uncased")

      # Пример текста

      text = "Cognitive programming improves team performance."

      tokens = tokenizer(text, return_tensors="pt", padding=True, truncation=True)

      # Получение эмбеддингов

      with torch.no_grad():

      embeddings = model(**tokens).last_hidden_state

      sentence_embedding = torch.mean(embeddings, dim=1)

      print(sentence_embedding.shape)

      ```

      Этот подход особенно полезен для сложных текстов, где значение слова зависит от контекста.

      1.5.4 Построение индекса для быстрого поиска

      Пример: Интеграция с Faiss для поиска релевантных данных

      Создайте индекс векторов и настройте алгоритм поиска ближайших соседей.

      ```python

      import