Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.27.0"
".": "0.28.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 49
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-4983c57f5143aaeadfbb4af35595570e613035ae500ff1597fdf600cc2a48959.yml
openapi_spec_hash: ecc0a6cfe61c3c959d034d094f36befe
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-7c2a2a34f9dcbbc872b3b3a920ad90e64f2313cb45150bc54b66cf49da5c847f.yml
openapi_spec_hash: 458f00057a397021bab7b374f0191f18
config_hash: 22524d9aa927566851636768f6a861cd
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.28.0 (2025-08-21)

Full Changelog: [v0.27.0...v0.28.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.27.0...v0.28.0)

### Features

* **api:** api update ([fc99412](https://github.com/mixedbread-ai/mixedbread-python/commit/fc99412c9b2b9f2c235182af2ea37c55686a4e44))

## 0.27.0 (2025-08-17)

Full Changelog: [v0.26.0...v0.27.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.26.0...v0.27.0)
Expand Down
2 changes: 1 addition & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ Methods:
Types:

```python
from mixedbread.types import EncodingFormat, ObjectType
from mixedbread.types import EncodingFormat
```

Methods:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "mixedbread"
version = "0.27.0"
version = "0.28.0"
description = "The official Python library for the Mixedbread API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/mixedbread/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "mixedbread"
__version__ = "0.27.0" # x-release-please-version
__version__ = "0.28.0" # x-release-please-version
40 changes: 18 additions & 22 deletions src/mixedbread/resources/vector_stores/files.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ def create(
self,
vector_store_identifier: str,
*,
file_id: str,
metadata: object | NotGiven = NOT_GIVEN,
experimental: file_create_params.Experimental | NotGiven = NOT_GIVEN,
file_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand All @@ -64,22 +64,22 @@ def create(
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> VectorStoreFile:
"""
Upload a new file to a vector store for indexing.
Add an already uploaded file to a vector store.

Args: vector_store_identifier: The ID or name of the vector store to upload to
file: The file to upload and index
Args: vector_store_identifier: The ID or name of the vector store to add the
file to file: The file to add and index

Returns: VectorStoreFile: Details of the uploaded and indexed file
Returns: VectorStoreFile: Details of the added and indexed file

Args:
vector_store_identifier: The ID or name of the vector store

file_id: ID of the file to add

metadata: Optional metadata for the file

experimental: Strategy for adding the file

file_id: ID of the file to add

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand All @@ -96,9 +96,9 @@ def create(
f"/v1/vector_stores/{vector_store_identifier}/files",
body=maybe_transform(
{
"file_id": file_id,
"metadata": metadata,
"experimental": experimental,
"file_id": file_id,
},
file_create_params.FileCreateParams,
),
Expand Down Expand Up @@ -286,8 +286,7 @@ def search(
self,
*,
query: str,
vector_store_identifiers: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_identifiers: List[str],
top_k: int | NotGiven = NOT_GIVEN,
filters: Optional[file_search_params.Filters] | NotGiven = NOT_GIVEN,
file_ids: Union[Iterable[object], List[str], None] | NotGiven = NOT_GIVEN,
Expand Down Expand Up @@ -344,7 +343,6 @@ def search(
{
"query": query,
"vector_store_identifiers": vector_store_identifiers,
"vector_store_ids": vector_store_ids,
"top_k": top_k,
"filters": filters,
"file_ids": file_ids,
Expand Down Expand Up @@ -489,9 +487,9 @@ async def create(
self,
vector_store_identifier: str,
*,
file_id: str,
metadata: object | NotGiven = NOT_GIVEN,
experimental: file_create_params.Experimental | NotGiven = NOT_GIVEN,
file_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand All @@ -500,22 +498,22 @@ async def create(
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> VectorStoreFile:
"""
Upload a new file to a vector store for indexing.
Add an already uploaded file to a vector store.

Args: vector_store_identifier: The ID or name of the vector store to upload to
file: The file to upload and index
Args: vector_store_identifier: The ID or name of the vector store to add the
file to file: The file to add and index

Returns: VectorStoreFile: Details of the uploaded and indexed file
Returns: VectorStoreFile: Details of the added and indexed file

Args:
vector_store_identifier: The ID or name of the vector store

file_id: ID of the file to add

metadata: Optional metadata for the file

experimental: Strategy for adding the file

file_id: ID of the file to add

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand All @@ -532,9 +530,9 @@ async def create(
f"/v1/vector_stores/{vector_store_identifier}/files",
body=await async_maybe_transform(
{
"file_id": file_id,
"metadata": metadata,
"experimental": experimental,
"file_id": file_id,
},
file_create_params.FileCreateParams,
),
Expand Down Expand Up @@ -724,8 +722,7 @@ async def search(
self,
*,
query: str,
vector_store_identifiers: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_identifiers: List[str],
top_k: int | NotGiven = NOT_GIVEN,
filters: Optional[file_search_params.Filters] | NotGiven = NOT_GIVEN,
file_ids: Union[Iterable[object], List[str], None] | NotGiven = NOT_GIVEN,
Expand Down Expand Up @@ -782,7 +779,6 @@ async def search(
{
"query": query,
"vector_store_identifiers": vector_store_identifiers,
"vector_store_ids": vector_store_ids,
"top_k": top_k,
"filters": filters,
"file_ids": file_ids,
Expand Down
16 changes: 4 additions & 12 deletions src/mixedbread/resources/vector_stores/vector_stores.py
Original file line number Diff line number Diff line change
Expand Up @@ -351,8 +351,7 @@ def question_answering(
self,
*,
query: str | NotGiven = NOT_GIVEN,
vector_store_identifiers: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_identifiers: List[str],
top_k: int | NotGiven = NOT_GIVEN,
filters: Optional[vector_store_question_answering_params.Filters] | NotGiven = NOT_GIVEN,
file_ids: Union[Iterable[object], List[str], None] | NotGiven = NOT_GIVEN,
Expand Down Expand Up @@ -402,7 +401,6 @@ def question_answering(
{
"query": query,
"vector_store_identifiers": vector_store_identifiers,
"vector_store_ids": vector_store_ids,
"top_k": top_k,
"filters": filters,
"file_ids": file_ids,
Expand All @@ -422,8 +420,7 @@ def search(
self,
*,
query: str,
vector_store_identifiers: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_identifiers: List[str],
top_k: int | NotGiven = NOT_GIVEN,
filters: Optional[vector_store_search_params.Filters] | NotGiven = NOT_GIVEN,
file_ids: Union[Iterable[object], List[str], None] | NotGiven = NOT_GIVEN,
Expand Down Expand Up @@ -481,7 +478,6 @@ def search(
{
"query": query,
"vector_store_identifiers": vector_store_identifiers,
"vector_store_ids": vector_store_ids,
"top_k": top_k,
"filters": filters,
"file_ids": file_ids,
Expand Down Expand Up @@ -804,8 +800,7 @@ async def question_answering(
self,
*,
query: str | NotGiven = NOT_GIVEN,
vector_store_identifiers: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_identifiers: List[str],
top_k: int | NotGiven = NOT_GIVEN,
filters: Optional[vector_store_question_answering_params.Filters] | NotGiven = NOT_GIVEN,
file_ids: Union[Iterable[object], List[str], None] | NotGiven = NOT_GIVEN,
Expand Down Expand Up @@ -855,7 +850,6 @@ async def question_answering(
{
"query": query,
"vector_store_identifiers": vector_store_identifiers,
"vector_store_ids": vector_store_ids,
"top_k": top_k,
"filters": filters,
"file_ids": file_ids,
Expand All @@ -875,8 +869,7 @@ async def search(
self,
*,
query: str,
vector_store_identifiers: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
vector_store_identifiers: List[str],
top_k: int | NotGiven = NOT_GIVEN,
filters: Optional[vector_store_search_params.Filters] | NotGiven = NOT_GIVEN,
file_ids: Union[Iterable[object], List[str], None] | NotGiven = NOT_GIVEN,
Expand Down Expand Up @@ -934,7 +927,6 @@ async def search(
{
"query": query,
"vector_store_identifiers": vector_store_identifiers,
"vector_store_ids": vector_store_ids,
"top_k": top_k,
"filters": filters,
"file_ids": file_ids,
Expand Down
1 change: 0 additions & 1 deletion src/mixedbread/types/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from .embedding import Embedding as Embedding
from .data_source import DataSource as DataSource
from .file_object import FileObject as FileObject
from .object_type import ObjectType as ObjectType
from .vector_store import VectorStore as VectorStore
from .expires_after import ExpiresAfter as ExpiresAfter
from .info_response import InfoResponse as InfoResponse
Expand Down
4 changes: 2 additions & 2 deletions src/mixedbread/types/embedding_create_response.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Union, Optional
from typing_extensions import Literal

from .._models import BaseModel
from .embedding import Embedding
from .object_type import ObjectType
from .shared.usage import Usage
from .encoding_format import EncodingFormat
from .multi_encoding_embedding import MultiEncodingEmbedding
Expand All @@ -22,7 +22,7 @@ class EmbeddingCreateResponse(BaseModel):
data: Union[List[Embedding], List[MultiEncodingEmbedding]]
"""The created embeddings."""

object: Optional[ObjectType] = None
object: Optional[Literal["list"]] = None
"""The object type of the response"""

normalized: bool
Expand Down
21 changes: 0 additions & 21 deletions src/mixedbread/types/object_type.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from __future__ import annotations

from typing import List, Union, Iterable, Optional
from typing_extensions import TypeAlias, TypedDict
from typing_extensions import Required, TypeAlias, TypedDict

from .shared_params.search_filter_condition import SearchFilterCondition
from .vector_store_chunk_search_options_param import VectorStoreChunkSearchOptionsParam
Expand All @@ -18,11 +18,9 @@ class VectorStoreQuestionAnsweringParams(TypedDict, total=False):
If not provided, the question will be extracted from the passed messages.
"""

vector_store_identifiers: Optional[List[str]]
vector_store_identifiers: Required[List[str]]
"""IDs or names of vector stores to search"""

vector_store_ids: Optional[List[str]]

top_k: int
"""Number of results to return"""

Expand Down
4 changes: 1 addition & 3 deletions src/mixedbread/types/vector_store_search_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ class VectorStoreSearchParams(TypedDict, total=False):
query: Required[str]
"""Search query text"""

vector_store_identifiers: Optional[List[str]]
vector_store_identifiers: Required[List[str]]
"""IDs or names of vector stores to search"""

vector_store_ids: Optional[List[str]]

top_k: int
"""Number of results to return"""

Expand Down
6 changes: 3 additions & 3 deletions src/mixedbread/types/vector_stores/file_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@


class FileCreateParams(TypedDict, total=False):
file_id: Required[str]
"""ID of the file to add"""

metadata: object
"""Optional metadata for the file"""

experimental: Experimental
"""Strategy for adding the file"""

file_id: Required[str]
"""ID of the file to add"""


class Experimental(TypedDict, total=False):
parsing_strategy: Literal["fast", "high_quality"]
Expand Down
23 changes: 1 addition & 22 deletions src/mixedbread/types/vector_stores/file_list_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,28 +39,7 @@ class Pagination(BaseModel):

class FileListResponse(BaseModel):
pagination: Pagination
"""Response model for cursor-based pagination.

Examples: Forward pagination response: { "has_more": true, "first_cursor":
"eyJjcmVhdGVkX2F0IjoiMjAyNC0xMi0zMSIsImlkIjoiYWJjMTIzIn0=", "last_cursor":
"eyJjcmVhdGVkX2F0IjoiMjAyNC0xMi0zMCIsImlkIjoieHl6Nzg5In0=", "total": null }

Final page response:
{
"has_more": false,
"first_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNC0xMi0yOSIsImlkIjoibGFzdDEyMyJ9",
"last_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNC0xMi0yOCIsImlkIjoiZmluYWw0NTYifQ==",
"total": 42
}

Empty results:
{
"has_more": false,
"first_cursor": null,
"last_cursor": null,
"total": 0
}
"""
"""Response model for cursor-based pagination."""

object: Optional[Literal["list"]] = None
"""The object type of the response"""
Expand Down
Loading