> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cyborg.co/llms.txt
> Use this file to discover all available pages before exploring further.

# as_retriever

Returns a LangChain `VectorStoreRetriever` for use in chains and agents.

<Tabs>
  <Tab title="Embedded">
    ```python theme={null}
    as_retriever(**kwargs) -> VectorStoreRetriever
    ```

    ### Parameters

    | Parameter  | Type  | Description                                                                       |
    | ---------- | ----- | --------------------------------------------------------------------------------- |
    | `**kwargs` | `Any` | Arguments passed to `VectorStoreRetriever` (e.g., `search_type`, `search_kwargs`) |

    ### Returns

    `VectorStoreRetriever`: A retriever backed by this vector store

    ### Example Usage

    ```python theme={null}
    from langchain.chains import RetrievalQA
    from langchain_openai import ChatOpenAI

    # Create a retriever from the vector store
    retriever = store.as_retriever(
        search_type="similarity",
        search_kwargs={"k": 5}
    )

    # Use in a RetrievalQA chain
    qa_chain = RetrievalQA.from_chain_type(
        llm=ChatOpenAI(),
        retriever=retriever
    )

    answer = qa_chain.invoke("What is machine learning?")

    # MMR retriever for diverse results
    mmr_retriever = store.as_retriever(
        search_type="mmr",
        search_kwargs={"k": 5, "fetch_k": 20, "lambda_mult": 0.5}
    )
    ```
  </Tab>

  <Tab title="Python SDK">
    ```python theme={null}
    as_retriever(**kwargs) -> VectorStoreRetriever
    ```

    ### Parameters

    | Parameter  | Type  | Description                                                                       |
    | ---------- | ----- | --------------------------------------------------------------------------------- |
    | `**kwargs` | `Any` | Arguments passed to `VectorStoreRetriever` (e.g., `search_type`, `search_kwargs`) |

    ### Returns

    `VectorStoreRetriever`: A retriever backed by this vector store

    ### Example Usage

    ```python theme={null}
    from langchain.chains import RetrievalQA
    from langchain_openai import ChatOpenAI

    retriever = store.as_retriever(
        search_type="similarity",
        search_kwargs={"k": 5}
    )

    qa_chain = RetrievalQA.from_chain_type(
        llm=ChatOpenAI(),
        retriever=retriever
    )

    answer = qa_chain.invoke("What is machine learning?")
    ```
  </Tab>

  <Tab title="JS/TS">
    ```typescript theme={null}
    asRetriever(options?: VectorStoreRetrieverInput): VectorStoreRetriever
    ```

    ### Parameters

    | Parameter | Type                        | Description                                                                      |
    | --------- | --------------------------- | -------------------------------------------------------------------------------- |
    | `options` | `VectorStoreRetrieverInput` | *(Optional)* Retriever configuration options (e.g., `k`, `searchType`, `filter`) |

    ### Returns

    `VectorStoreRetriever`: A retriever backed by this vector store

    <Note>The JS/TS `asRetriever()` is inherited from the LangChain base `VectorStore` class. There is no CyborgDB-specific override — it uses the standard LangChain retriever behavior.</Note>

    ### Example Usage

    ```typescript theme={null}
    import { ChatOpenAI } from '@langchain/openai';
    import { RetrievalQAChain } from 'langchain/chains';

    const retriever = store.asRetriever({ k: 5 });

    const chain = RetrievalQAChain.fromLLM(
        new ChatOpenAI(),
        retriever
    );

    const result = await chain.invoke({
        query: "What is machine learning?"
    });
    ```
  </Tab>
</Tabs>
