Skip to content

Commit

Permalink
feat: API and Ecosystem
Browse files Browse the repository at this point in the history
- Added API page
- Removed feedback form - it is clunky
  • Loading branch information
tazarov committed Mar 12, 2024
1 parent 8359ac5 commit 4c61498
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 3 deletions.
52 changes: 52 additions & 0 deletions docs/core/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Chroma API

In this article we will cover the Chroma API in an indepth details.

## Accessing the API

If you are running a Chroma server you can access its API at - `http://<chroma_server_host>:<chroma_server_port>/docs` (
e.g. `http://localhost:8000/docs`).

## API Endpoints

TBD

## Generating Clients

While Chroma ecosystem has client implementations for many languages, it may be the case you want to roll out your own.
Below we explain some of the options available to you:

### Using OpenAPI Generator

The fastest way to build a client is to use the OpenAPI Generator the API spec.

### Manually Creating a Client

If you more control over things, you can create your own client by using the API spec as guideline.

For your convenience we provide some data structures in various languages to help you get started. The important
structures are:

- Client
- Collection
- Embedding
- Document
- ID
- Metadata
- QueryRequest/QueryResponse
- Include
- Where Filter
- WhereDocument Filter

##### Python

##### Typescript

##### Golang

##### Java

##### Rust

##### Elixir

24 changes: 21 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,26 @@ ChromaDB.
- [Docker Compose](running/running-chroma.md#docker-compose-cloned-repo) - Running ChromaDB in Docker Compose
- [Kubernetes](running/running-chroma.md#minikube-with-helm-chart) - Running ChromaDB in Kubernetes (Minikube)

## The Ecosystem

### Clients

- Python Client (Official Chroma client)
- JavaScript Client (Official Chroma client)
- Rust Client (Community maintained)
- Go Client (Community maintained)
- Java Client (Community maintained)
-

### User Interfaces

### Tooling

- CDP
- CLI



## Strategies

- [Backup](strategies/backup.md) - Backing up ChromaDB data
Expand All @@ -35,6 +55,4 @@ ChromaDB.

## Get Help

Missing something? Let us know by [opening an issue](https://github.com/amikos-tech/chroma-cookbook/issues/new), reach out on [Discord](https://discord.gg/MMeYNTmh3x) (look for `@taz`), or filling the form below.

<iframe class="airtable-embed" src="https://airtable.com/embed/app3cuVTqpgEQTu8c/pagzxhmjuELguLXEJ/form" frameborder="0" onmousewheel="" width="100%" height="533" style="background: transparent; border: 1px solid #ccc;"></iframe>
Missing something? Let us know by [opening an issue](https://github.com/amikos-tech/chroma-cookbook/issues/new), reach out on [Discord](https://discord.gg/MMeYNTmh3x) (look for `@taz`).

0 comments on commit 4c61498

Please sign in to comment.