From 41dd22ac7ee178d97468300e0dc559e86d000d13 Mon Sep 17 00:00:00 2001 From: Anush Date: Fri, 20 Dec 2024 13:30:42 +0530 Subject: [PATCH] docs: Mastra integration (#1345) * docs: Mastra integration Signed-off-by: Anush008 * chore: _index.md Signed-off-by: Anush008 * fix: distance Signed-off-by: Anush008 --------- Signed-off-by: Anush008 --- .../documentation/frameworks/_index.md | 1 + .../documentation/frameworks/mastra.md | 104 ++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 qdrant-landing/content/documentation/frameworks/mastra.md diff --git a/qdrant-landing/content/documentation/frameworks/_index.md b/qdrant-landing/content/documentation/frameworks/_index.md index c6ae7b413..497b42e50 100644 --- a/qdrant-landing/content/documentation/frameworks/_index.md +++ b/qdrant-landing/content/documentation/frameworks/_index.md @@ -25,6 +25,7 @@ partition: build | [Langchain4j](/documentation/frameworks/langchain4j/) | Java framework for building context-aware, reasoning applications using LLMs. | | [LangGraph](/documentation/frameworks/langgraph/) | Python, Javascript libraries for building stateful, multi-actor applications. | | [LlamaIndex](/documentation/frameworks/llama-index/) | A data framework for building LLM applications with modular integrations. | +| [Mastra](/documentation/frameworks/mastra/) | Typescript framework to build AI applications and features quickly. | | [Mem0](/documentation/frameworks/mem0/) | Self-improving memory layer for LLM applications, enabling personalized AI experiences. | | [MemGPT](/documentation/frameworks/memgpt/) | System to build LLM agents with long term memory & custom tools | | [Neo4j GraphRAG](/documentation/frameworks/neo4j-graphrag/) | Package to build graph retrieval augmented generation (GraphRAG) applications using Neo4j and Python. | diff --git a/qdrant-landing/content/documentation/frameworks/mastra.md b/qdrant-landing/content/documentation/frameworks/mastra.md new file mode 100644 index 000000000..657ab88ae --- /dev/null +++ b/qdrant-landing/content/documentation/frameworks/mastra.md @@ -0,0 +1,104 @@ +--- +title: Mastra +--- + +# Mastra + +[Mastra](https://mastra.ai/) is a Typescript framework to build AI applications and features quickly. It gives you the set of primitives you need: workflows, agents, RAG, integrations, syncs and evals. You can run Mastra on your local machine, or deploy to a serverless cloud. + +Qdrant is available as a vector store in Mastra node to augment application with retrieval capabilities. + +## Setup + +```bash +npm install @mastra/core +``` + +## Usage + +```typescript +import { QdrantVector } from "@mastra/rag"; + +const qdrant = new QdrantVector({ + url: "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333" + apiKey: "", + https: true +}); +``` + +## Constructor Options + +| Name | Type | Description | +|--------|-----------|-------------------------------------------------------------------------------------------------------| +| `url` | `string` | REST URL of the Qdrant instance. Eg. | +| `apiKey` | `string` | Optional Qdrant API key | +| `https` | `boolean` | Whether to use TLS when setting up the connection. Recommended. | + +## Methods + +### `createIndex()` + +| Name | Type | Description | Default Value | +|------------|------------------------------------------|-------------------------------------------------|--------------| +| `indexName` | `string` | Name of the index to create | | +| `dimension` | `number` | Vector dimension size | | +| `metric` | `string` | Distance metric for similarity search | `cosine` | + +### `upsert()` + +| Name | Type | Description | Default Value | +|-------------|---------------------------|-----------------------------------------|--------------| +| `vectors` | `number[][]` | Array of embedding vectors | | +| `metadata` | `Record[]` | Metadata for each vector (optional) | | +| `namespace` | `string` | Optional namespace for organization | | + +### `query()` + +| Name | Type | Description | Default Value | +|------------|-------------------------|---------------------------------------------|--------------| +| `vector` | `number[]` | Query vector to find similar vectors | | +| `topK` | `number` | Number of results to return (optional) | `10` | +| `filter` | `Record` | Metadata filters for the query (optional) | | + +### `listIndexes()` + +Returns an array of index names as strings. + +### `describeIndex()` + +| Name | Type | Description | +|-------------|----------|----------------------------------| +| `indexName` | `string` | Name of the index to describe | + +#### Returns + +```typescript +interface IndexStats { + dimension: number; + count: number; + metric: "cosine" | "euclidean" | "dotproduct"; +} +``` + +### `deleteIndex()` + +| Name | Type | Description | +|-------------|----------|----------------------------------| +| `indexName` | `string` | Name of the index to delete | + +## Response Types + +Query results are returned in this format: + +```typescript +interface QueryResult { + id: string; + score: number; + metadata: Record; +} +``` + +## Further Reading + +- [Mastra Examples](https://github.com/mastra-ai/mastra/tree/main/examples) +- [Mastra Documentation](http://mastra.ai/docs/)