store.OpenAIStore

A vector store backed by OpenAI’s Vector Store API.

Usage

Source

store.OpenAIStore(
    client,
    store_id,
    *,
    attributes_spec=None,
    attributes=None,
)

OpenAIStore uses OpenAI’s hosted vector storage service for document storage and retrieval. Documents are uploaded as files and automatically chunked and embedded by OpenAI.

Examples

from raghilda.store import OpenAIStore

# Create a new store
store = OpenAIStore.create(name="my-store")

# Or connect to an existing store
store = OpenAIStore.connect(store_id="vs_abc123")

# Insert documents
from raghilda.document import MarkdownDocument
doc = MarkdownDocument(content="# Hello\nWorld", origin="example.md")
store.upsert(doc)

# Retrieve similar chunks
chunks = store.retrieve("greeting", top_k=5)

Methods

Name Description
connect() Connect to an existing OpenAI vector store.
create() Create a new OpenAI vector store.
retrieve() Retrieve the most similar chunks to the given text.

connect()

Connect to an existing OpenAI vector store.

Usage

Source

connect(store_id, base_url="https://api.openai.com/v1", api_key=None)
Parameters
store_id: str

The ID of the vector store to connect to (e.g., “vs_abc123”).

base_url: str = "https://api.openai.com/v1"

Base URL for the OpenAI API.

api_key: Optional[str] = None
OpenAI API key. If None, uses the OPENAI_API_KEY environment variable.
Returns
OpenAIStore
A connected store instance.

create()

Create a new OpenAI vector store.

Usage

Source

create(
    base_url="https://api.openai.com/v1",
    api_key=None,
    *,
    attributes=None,
    metadata=None,
    **kwargs
)
Parameters
base_url: str = "https://api.openai.com/v1"

Base URL for the OpenAI API.

api_key: Optional[str] = None

OpenAI API key. If None, uses the OPENAI_API_KEY environment variable.

attributes: Optional[AttributesSchemaSpec] = None

Optional schema for user-defined attribute columns. Attribute names use identifier-style syntax. OpenAIStore filters only support declared attributes.

metadata: Optional[Mapping[str, str]] = None

Additional metadata to attach to the OpenAI vector store resource.

**kwargs
Additional arguments passed to the vector store creation (e.g., name, expires_after).
Returns
OpenAIStore
A newly created store instance.

retrieve()

Retrieve the most similar chunks to the given text.

Usage

Source

retrieve(text, top_k, *, attributes_filter=None, **kwargs)
Parameters
text: str

The query text to search for.

top_k: int

The maximum number of chunks to return.

attributes_filter: Optional[AttributeFilter] = None

Optional attribute filter as SQL-like string or dict AST. Supports declared attributes only. Built-in columns such as origin are not available in OpenAI filters.

**kwargs
Additional arguments passed to OpenAI’s vector_stores.search().
Returns
Sequence[RetrievedOpenAIMarkdownChunk]
The retrieved chunks with their relevance metrics.