Mastra#
Mastra - фреймворк на TypeScript для быстрого создания приложений и функций искусственного интеллекта. Он предоставляет необходимый набор примитивов: рабочие процессы, агенты, извлечение информации из документов, интеграции, синхронизации и оценки производительности. Можно запускать Mastra на локальном компьютере или развернуть его на сервере без состояния в облаке.
Vector DB доступен в узле Mastra в качестве векторного хранилища для расширения возможностей приложения по извлечению данных.
Настройка#
npm install @mastra/core
Использование#
import { QdrantVector } from "@mastra/rag";
const qdrant = new QdrantVector({
url: "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333"
apiKey: "<YOUR_API_KEY>",
https: true
});
Параметры конструктора#
Имя |
Тип |
Описание |
|---|---|---|
|
|
URL REST-интерфейса экземпляра Vector DB. Например, https://xyz-example.eu-central.aws.cloud.qdrant.io:6333 |
|
|
Необязательный ключ API Vector DB |
|
|
Использовать ли TLS при настройке соединения. Рекомендуется |
Методы#
Метод createIndex()#
Имя |
Тип |
Описание |
Значение по умолчанию |
|---|---|---|---|
|
|
Название индекса для создания |
- |
|
|
Размерность вектора |
- |
|
|
Метрика расстояния для поиска сходства |
|
Метод upsert()#
Имя |
Тип |
Описание |
Значение по умолчанию |
|---|---|---|---|
|
|
Массив векторов вложений |
- |
|
|
Метаданные для каждого вектора (необязательно) |
- |
|
|
Пространство имен для организации (необязательно) |
- |
Метод query()#
Имя |
Тип |
Описание |
Значение по умолчанию |
|---|---|---|---|
|
|
Запросный вектор для нахождения похожих векторов |
- |
|
|
Количество возвращаемых результатов (необязательно) |
|
|
|
Фильтры метаданных для запроса (необязательно) |
- |
Метод listIndexes()#
Возвращает массив названий индексов в виде строк.
Метод describeIndex()#
Имя |
Тип |
Описание |
|---|---|---|
|
|
Название индекса для описания |
Возвращаемые значения#
interface IndexStats {
dimension: number;
count: number;
metric: "cosine" | "euclidean" | "dotproduct";
}
Метод deleteIndex()#
Имя |
Тип |
Описание |
|---|---|---|
|
|
Название индекса для удаления |
Типы ответов#
Результаты запросов возвращаются в следующем формате:
interface QueryResult {
id: string;
score: number;
metadata: Record<string, any>;
}