Skip to main content

Bond AI is and SDK and UI for working with agents built using the OpenAI Assistants API

Project description

Bond AI

Bond AI leverages OpenAI's Assistant APi to help develop Generative AI agents and chatbots with access to your own tools, APIs and data sources. Bond AI also has a web UI with a built-in chat interface and is extensible to other interfaces with access to these agents.

Features

  • Simple definition of agents with tools and data
  • Automatic discovery of agents
  • Built-in threads, tool access and data integration from the Assistants API
  • Google authentication support
  • Thread sharing between users
  • Modular design with agents, threads, and pages

Getting Started

Prerequisites

  • Python 3.13
  • Poetry

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/bond-ai.git
    cd bond-ai
    
  2. Install dependencies using Poetry:

    poetry config virtualenvs.in-project true
    
    poetry install
    
    poetry build
    
    poetry shell
    
    source $(poetry env info --path)/bin/activate
    
  3. Set up environment variables:

    gcloud auth application-default login

    gcloud config set project

    gcloud config get-value project

    Create a .env file in the project root directory and add the following variables:

    OPENAI_API_KEY=your_openai_api_key
    OPENAI_PROJECT=you_openai_project_id
    OPENAI_DEPLOYMENT=openai_model #(e.g. "gpt-4o-mini")
    
    # or
    # AZURE_OPENAI_API_KEY=your_azure_openai_api_key
    # AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
    # AZURE_OPENAI_API_VERSION=api_version (e.g. 2024-08-01-preview)
    
    AUTH_ENABLED=True
    GOOGLE_AUTH_CREDS_PATH=path_to_your_google_auth_creds.json
    GOOGLE_AUTH_REDIRECT_URI=your_redirect_uri_for_this_app
    
    METADATA_DB_URL=database_url_for_metadata #(e.g. sqlite:///.metadata.db)
    

Running the Application

To start the application, run the following command:

python -m bond_ai.app.start --server.port=8080 --server.address=0.0.0.0

Running Tests

To run the tests, use the following command:

poetry run pytest

This will execute all the tests in the tests directory and provide a summary of the results.

The primary source code is located in the bond_ai directory, and the test code is in the tests directory. This project uses Poetry for dependency management and setup.

Contributing

We welcome contributions to the Bond AI project! To contribute, please follow these steps:

  1. Fork the repository on GitHub.
  2. Clone your forked repository to your local machine:
git clone https://github.com/yourusername/bond-ai.git
cd bond-ai
  1. Create a new branch for your feature or bugfix:
git checkout -b your-feature-branch
  1. Make your changes and commit them with a descriptive message:
git add .
git commit -m "Description of your changes"
  1. Push your changes to your forked repository:
git push origin your-feature-branch
  1. Open a pull request on the original repository and describe your changes in detail.

Thank you for contributing!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bondable-0.1.14.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bondable-0.1.14-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file bondable-0.1.14.tar.gz.

File metadata

  • Download URL: bondable-0.1.14.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.5.0

File hashes

Hashes for bondable-0.1.14.tar.gz
Algorithm Hash digest
SHA256 2b25f1e27e1f5a1850a272336c6ca716c28bce9237ac9a5bcf659ac4a57f6b12
MD5 ccc0bfce2bb7cbf4e7870b6ad96c848c
BLAKE2b-256 529129a69ee97c61f15fa8752f902ebf285b4d124844b553b39aab138c79840a

See more details on using hashes here.

File details

Details for the file bondable-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: bondable-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.5.0

File hashes

Hashes for bondable-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 31ee9c6c465bcc991f1516c1e67f77634b7c81a1b1300ddc8a70a3a9c5570a36
MD5 62507662f01ff9f8252025a9e15edb49
BLAKE2b-256 aa0863f2567a68f77b23bba3213f5232ffaa4e6270dff2f88d224b9fc11f913f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page