# `Sycophant.EmbeddingWireProtocol`

Behaviour for embedding wire protocol adapters.

Each adapter translates between Sycophant's canonical `EmbeddingRequest`
and a provider-specific HTTP format.

## Built-in Adapters

  * `Sycophant.EmbeddingWireProtocol.BedrockEmbed` - AWS Bedrock embedding API
  * `Sycophant.EmbeddingWireProtocol.OpenAIEmbed` - OpenAI-compatible embedding API (used by Azure)

# `decode_response`

```elixir
@callback decode_response(body :: map(), headers :: [{String.t(), String.t()}]) ::
  {:ok, Sycophant.EmbeddingResponse.t()} | {:error, Splode.Error.t()}
```

# `encode_request`

```elixir
@callback encode_request(Sycophant.EmbeddingRequest.t()) ::
  {:ok, map()} | {:error, Splode.Error.t()}
```

# `request_path`

```elixir
@callback request_path(Sycophant.EmbeddingRequest.t()) :: String.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
