var F=Object.defineProperty;var H=(q)=>q;function I(q,y){this[q]=H.bind(null,y)}var K=(q,y)=>{for(var D in y)F(q,D,{get:y[D],enumerable:!0,configurable:!0,set:I.bind(y,D)})};var M=(q,y)=>()=>(q&&(y=q(q=0)),y);import E from"@contractspec/lib.ui-link";import{ChevronRight as J}from"lucide-react";import{jsx as f,jsxs as z}from"react/jsx-runtime";function T(){return z("div",{className:"space-y-8",children:[z("div",{className:"space-y-4",children:[f("h1",{className:"font-bold text-4xl",children:"Qdrant"}),f("p",{className:"text-muted-foreground",children:"Qdrant is a high-performance vector database for semantic search, recommendations, and RAG (Retrieval-Augmented Generation) applications."})]}),z("div",{className:"space-y-4",children:[f("h2",{className:"font-bold text-2xl",children:"Setup"}),f("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:f("pre",{children:`# .env
QDRANT_URL=https://...
QDRANT_API_KEY=...
QDRANT_COLLECTION=documents`})})]}),z("div",{className:"space-y-4",children:[f("h2",{className:"font-bold text-2xl",children:"Storing vectors"}),f("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:f("pre",{children:`capabilityId: qdrant-upsert
provider:
  type: qdrant
  operation: upsert

inputs:
  collection:
    type: string
  points:
    type: array
    items:
      type: object
      properties:
        id: string
        vector: array
        payload: object

outputs:
  status:
    type: string`})})]}),z("div",{className:"space-y-4",children:[f("h2",{className:"font-bold text-2xl",children:"Semantic search"}),f("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:f("pre",{children:`capabilityId: qdrant-search
provider:
  type: qdrant
  operation: search

inputs:
  collection:
    type: string
  vector:
    type: array
    items:
      type: number
  limit:
    type: number
    default: 10

outputs:
  results:
    type: array
    items:
      type: object
      properties:
        id: string
        score: number
        payload: object`})})]}),z("div",{className:"space-y-4",children:[f("h2",{className:"font-bold text-2xl",children:"RAG workflow example"}),f("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:f("pre",{children:`workflowId: rag-query
version: '1.0.0'.0.0

steps:
  - id: generate-embedding
    capability: openai-embeddings
    inputs:
      text: \${input.query}

  - id: search-documents
    capability: qdrant-search
    inputs:
      collection: "documents"
      vector: \${steps.generate-embedding.output.embedding}
      limit: 5

  - id: generate-answer
    capability: openai-chat
    inputs:
      messages:
        - role: "system"
          content: "Answer based on the context provided"
        - role: "user"
          content: |
            Context: \${steps.search-documents.output.results}
            Question: \${input.query}`})})]}),z("div",{className:"flex items-center gap-4 pt-4",children:[f(E,{href:"/docs/integrations/elevenlabs",className:"btn-ghost",children:"Previous: ElevenLabs"}),z(E,{href:"/docs/integrations/s3",className:"btn-primary",children:["Next: S3 Storage ",f(J,{size:16})]})]})]})}export{T as IntegrationsQdrantPage};
