Thanks to visit codestin.com
Credit goes to github.com

Skip to content

mixedbread-ai/openbread

Repository files navigation

Openbread

npm version License: Apache 2.0

Openbread is an open-source monorepo containing tools for interacting with Mixedbread's store platform. Currently, it houses the command-line interface (CLI) that enables seamless store management, file processing, and intelligent search capabilities.

Packages

A comprehensive command-line interface for managing Mixedbread stores.

Key Features:

  • Store management (create, update, delete, list)
  • Intelligent file upload with processing strategies
  • Advanced sync with git-based and hash-based change detections
  • Vector search and Q&A capabilities
  • Manifest-based file uploads
  • Configuration management and aliases

Installation:

npm install -g @mixedbread/cli

Quick Start:

# Set your API key
export MXBAI_API_KEY=mxb_xxxxx

# Create a store
mxbai store create "My Documents"

# Upload files with high-quality processing
mxbai store upload "My Documents" "**/*.md" --strategy high_quality --contextualization

# Search your content
mxbai store search "My Documents" "how to get started"

Prerequisites

  • Node.js: Version 20 or higher
  • Package Manager: npm, yarn, pnpm, or bun
  • Mixedbread API Key: Get yours here

Getting Started

  1. Get your API key from Mixedbread

  2. Install the CLI:

    npm install -g @mixedbread/cli
  3. Set up authentication:

    export MXBAI_API_KEY=your_api_key_here
  4. Start building:

    • Create stores for your documents
    • Upload and process files with different strategies
    • Search and interact with your content

Development

Openbread is a monorepo managed with pnpm and Turbo, designed to host multiple tools for the Mixedbread ecosystem.

Setup

# Clone the repository
git clone https://github.com/mixedbread-ai/openbread.git
cd openbread

# Install dependencies
pnpm install

# Build all packages
pnpm build

Development Workflow

# Start development mode (watches for changes)
pnpm dev

# Run tests
pnpm test

# Lint and format
pnpm lint
pnpm format

# Type checking
pnpm check-types

Project Structure

openbread/
├── packages/
│   └── cli/          # Command-line interface
├── package.json      # Root package configuration
├── turbo.json        # Turbo build configuration
└── pnpm-workspace.yaml # pnpm workspace configuration

Release Management

This project uses Changesets for version management and automated releases.

Contributing Changes

  1. Make your changes
  2. Create a changeset:
    pnpm changeset
  3. Commit and push:
    git add .changeset
    git commit -m "chore: add changeset for [your changes]"
    git push

Automated Release Process

  • Changesets automatically create "Version Packages" PRs
  • Merging these PRs triggers automated npm publishing
  • Releases include GitHub releases with changelogs

Documentation

Support

License

This project is licensed under the Apache License 2.0.


🍞 Baked with love by Mixedbread

About

Mixedbread open source collection

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •