ИИ-агент в когнитивном программировании сознания – объединяем RAG и LLM - страница 11

Шрифт
Интервал



Contextual Embeddings: BERT или RoBERTa для учета контекста слов в предложении.


Шаги:


Предварительная обработка текста: Проверьте токенизацию, удалите стоп-слова (если это необходимо).


Обучение или использование предобученных моделей: Используйте библиотеки, такие как Hugging Face Transformers.


Построение индекса векторов: сохраните векторы в формате, поддерживаемом 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 для учета контекста


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