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
-
Clone the repository:
git clone https://github.com/yourusername/bond-ai.git cd bond-ai
-
Install dependencies using Poetry:
poetry config virtualenvs.in-project true poetry install poetry build poetry shell source $(poetry env info --path)/bin/activate
-
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:
- Fork the repository on GitHub.
- Clone your forked repository to your local machine:
git clone https://github.com/yourusername/bond-ai.git
cd bond-ai
- Create a new branch for your feature or bugfix:
git checkout -b your-feature-branch
- Make your changes and commit them with a descriptive message:
git add .
git commit -m "Description of your changes"
- Push your changes to your forked repository:
git push origin your-feature-branch
- Open a pull request on the original repository and describe your changes in detail.
Thank you for contributing!
Metadata
Release files for bondable 0.1.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bondable-0.1.15.tar.gz | 24.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bondable-0.1.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.5 kB
Release files / bondable-0.1.15.tar.gz
| Download URL | bondable-0.1.15.tar.gz |
|---|---|
| Size | 24.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c24f39d90e7c44a6b3b5646fa08b98d824417e8bf66db5c88b28a9bdbfb1edb1
|
|
BLAKE2b-256 checksum How to use checksums |
c603a246e758093e57235a7f7a21858876faf77f5e7bdd2560636fa3720a9776
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.2 Darwin/23.5.0
|
Release files / bondable-0.1.15-py3-none-any.whl
| Download URL | bondable-0.1.15-py3-none-any.whl |
|---|---|
| Size | 31.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00f64575358972e504d28207d025adc6aa7be91bb639adaa606d29683c31a606
|
|
BLAKE2b-256 checksum How to use checksums |
6b6bd09f6aea577cceddd7a3cfb2cf9b149e13534aa213ec2b554fd5a0f7c34b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.2 Darwin/23.5.0
|