Remote indexes
A remote index refers to a tool index that is either
- Published in the Stores repository, or
- A valid GitHub repository containing a
tools.toml
file
When these indexes are loaded for the very first time, stores
will clone the relevant repository locally in a cache folder (./.tools
by default). Any required dependencies will also be installed in a virtual environment created for each index.
Loading a published Stores tool index
You can browse the available indexes in our growing repository. If you are unable to find a tool that fits your requirements, consider contributing!
Any of the published indexes in the Stores repository can be loaded by its name. If a specific version is desired, you can use the format <index_name>:<version>
.
index = Index([
"silanthro/hackernews",
"silanthro/send-gmail:0.3.0",
])
Loading a valid GitHub repo
In order to use a public GitHub repository, the repository needs to have a tools.toml
file that declares which functions are available to the LLM.
In addition, any required dependencies should be declared via any of the following files:
requirements.txt
setup.py
pyproject.toml
Assuming that is all available, you can load a GitHub repository the same way you load a published tool index. In fact, all published tool indexes have a corresponding public GitHub repository.
This will clone the latest commit on the default branch. To use a specific branch or commit, use the format <github_account>/<repo_name>:<branch_or_commit>
.
index = Index([
"github_account/repo_name",
"foo/bar:branch_name", # Specify a specific branch
"hello/world:da43e6f2", # Specify a specific commit
])