mirror of https://github.com/dapr/docs.git
Add documentation for get embedding operation in Azure OpenAI (#3658)
* Add documentation for get embedding Signed-off-by: Shivam Singh <shivamhere247@gmail.com> * Resolve comments Signed-off-by: Shivam Singh <shivamhere247@gmail.com> --------- Signed-off-by: Shivam Singh <shivamhere247@gmail.com>
This commit is contained in:
parent
dd6730849d
commit
7e1fa65c0e
|
@ -26,8 +26,6 @@ spec:
|
||||||
value: "1234567890abcdef"
|
value: "1234567890abcdef"
|
||||||
- name: endpoint # Required
|
- name: endpoint # Required
|
||||||
value: "https://myopenai.openai.azure.com"
|
value: "https://myopenai.openai.azure.com"
|
||||||
- name: deploymentId # Required
|
|
||||||
value: "my-model"
|
|
||||||
```
|
```
|
||||||
{{% alert title="Warning" color="warning" %}}
|
{{% alert title="Warning" color="warning" %}}
|
||||||
The above example uses `apiKey` as a plain string. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
|
The above example uses `apiKey` as a plain string. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
|
||||||
|
@ -39,7 +37,6 @@ The above example uses `apiKey` as a plain string. It is recommended to use a s
|
||||||
|--------------------|:--------:|--------|---------|---------|
|
|--------------------|:--------:|--------|---------|---------|
|
||||||
| `endpoint` | Y | Output | Azure OpenAI service endpoint URL. | `"https://myopenai.openai.azure.com"` |
|
| `endpoint` | Y | Output | Azure OpenAI service endpoint URL. | `"https://myopenai.openai.azure.com"` |
|
||||||
| `apiKey` | Y* | Output | The access key of the Azure OpenAI service. Only required when not using Azure AD authentication. | `"1234567890abcdef"` |
|
| `apiKey` | Y* | Output | The access key of the Azure OpenAI service. Only required when not using Azure AD authentication. | `"1234567890abcdef"` |
|
||||||
| `deploymentId` | Y | Output | The name of the model deployment. | `"my-model"` |
|
|
||||||
| `azureTenantId` | Y* | Input | The tenant ID of the Azure OpenAI resource. Only required when `apiKey` is not provided. | `"tenentID"` |
|
| `azureTenantId` | Y* | Input | The tenant ID of the Azure OpenAI resource. Only required when `apiKey` is not provided. | `"tenentID"` |
|
||||||
| `azureClientId` | Y* | Input | The client ID that should be used by the binding to create or update the Azure OpenAI Subscription and to authenticate incoming messages. Only required when `apiKey` is not provided.| `"clientId"` |
|
| `azureClientId` | Y* | Input | The client ID that should be used by the binding to create or update the Azure OpenAI Subscription and to authenticate incoming messages. Only required when `apiKey` is not provided.| `"clientId"` |
|
||||||
| `azureClientSecret` | Y* | Input | The client secret that should be used by the binding to create or update the Azure OpenAI Subscription and to authenticate incoming messages. Only required when `apiKey` is not provided. | `"clientSecret"` |
|
| `azureClientSecret` | Y* | Input | The client secret that should be used by the binding to create or update the Azure OpenAI Subscription and to authenticate incoming messages. Only required when `apiKey` is not provided. | `"clientSecret"` |
|
||||||
|
@ -61,8 +58,6 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
- name: endpoint
|
- name: endpoint
|
||||||
value: "https://myopenai.openai.azure.com"
|
value: "https://myopenai.openai.azure.com"
|
||||||
- name: deploymentId
|
|
||||||
value: "my-model"
|
|
||||||
- name: azureTenantId
|
- name: azureTenantId
|
||||||
value: "***"
|
value: "***"
|
||||||
- name: azureClientId
|
- name: azureClientId
|
||||||
|
@ -76,6 +71,7 @@ This component supports **output binding** with the following operations:
|
||||||
|
|
||||||
- `completion` : [Completion API](#completion-api)
|
- `completion` : [Completion API](#completion-api)
|
||||||
- `chat-completion` : [Chat Completion API](#chat-completion-api)
|
- `chat-completion` : [Chat Completion API](#chat-completion-api)
|
||||||
|
- `get-embedding` : [Embedding API](#get-embedding-api)
|
||||||
|
|
||||||
### Completion API
|
### Completion API
|
||||||
|
|
||||||
|
@ -83,8 +79,9 @@ To call the completion API with a prompt, invoke the Azure OpenAI binding with a
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"operation": "create",
|
"operation": "completion",
|
||||||
"data": {
|
"data": {
|
||||||
|
"deploymentId": "my-model",
|
||||||
"prompt": "A dog is",
|
"prompt": "A dog is",
|
||||||
"maxTokens":5
|
"maxTokens":5
|
||||||
}
|
}
|
||||||
|
@ -93,6 +90,7 @@ To call the completion API with a prompt, invoke the Azure OpenAI binding with a
|
||||||
|
|
||||||
The data parameters are:
|
The data parameters are:
|
||||||
|
|
||||||
|
- `deploymentId` - string that specifies the model deployment ID to use.
|
||||||
- `prompt` - string that specifies the prompt to generate completions for.
|
- `prompt` - string that specifies the prompt to generate completions for.
|
||||||
- `maxTokens` - (optional) defines the max number of tokens to generate. Defaults to 16 for completion API.
|
- `maxTokens` - (optional) defines the max number of tokens to generate. Defaults to 16 for completion API.
|
||||||
- `temperature` - (optional) defines the sampling temperature between 0 and 2. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic. Defaults to 1.0 for completion API.
|
- `temperature` - (optional) defines the sampling temperature between 0 and 2. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic. Defaults to 1.0 for completion API.
|
||||||
|
@ -107,7 +105,7 @@ Read more about the importance and usage of these parameters in the [Azure OpenA
|
||||||
{{< tabs Linux >}}
|
{{< tabs Linux >}}
|
||||||
{{% codetab %}}
|
{{% codetab %}}
|
||||||
```bash
|
```bash
|
||||||
curl -d '{ "data": {"prompt": "A dog is ", "maxTokens":15}, "operation": "completion" }' \
|
curl -d '{ "data": {"deploymentId: "my-model" , "prompt": "A dog is ", "maxTokens":15}, "operation": "completion" }' \
|
||||||
http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
|
http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
|
||||||
```
|
```
|
||||||
{{% /codetab %}}
|
{{% /codetab %}}
|
||||||
|
@ -142,6 +140,7 @@ To perform a chat-completion operation, invoke the Azure OpenAI binding with a `
|
||||||
{
|
{
|
||||||
"operation": "chat-completion",
|
"operation": "chat-completion",
|
||||||
"data": {
|
"data": {
|
||||||
|
"deploymentId": "my-model",
|
||||||
"messages": [
|
"messages": [
|
||||||
{
|
{
|
||||||
"role": "system",
|
"role": "system",
|
||||||
|
@ -161,6 +160,7 @@ To perform a chat-completion operation, invoke the Azure OpenAI binding with a `
|
||||||
|
|
||||||
The data parameters are:
|
The data parameters are:
|
||||||
|
|
||||||
|
- `deploymentId` - string that specifies the model deployment ID to use.
|
||||||
- `messages` - array of messages that will be used to generate chat completions.
|
- `messages` - array of messages that will be used to generate chat completions.
|
||||||
Each message is of the form:
|
Each message is of the form:
|
||||||
- `role` - string that specifies the role of the message. Can be either `user`, `system` or `assistant`.
|
- `role` - string that specifies the role of the message. Can be either `user`, `system` or `assistant`.
|
||||||
|
@ -180,6 +180,7 @@ Each message is of the form:
|
||||||
```bash
|
```bash
|
||||||
curl -d '{
|
curl -d '{
|
||||||
"data": {
|
"data": {
|
||||||
|
"deploymentId": "my-model",
|
||||||
"messages": [
|
"messages": [
|
||||||
{
|
{
|
||||||
"role": "system",
|
"role": "system",
|
||||||
|
@ -228,6 +229,53 @@ The response body contains the following JSON:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Get Embedding API
|
||||||
|
|
||||||
|
The `get-embedding` operation returns a vector representation of a given input that can be easily consumed by machine learning models and other algorithms.
|
||||||
|
To perform a `get-embedding` operation, invoke the Azure OpenAI binding with a `POST` method and the following JSON body:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"operation": "get-embedding",
|
||||||
|
"data": {
|
||||||
|
"deploymentId": "my-model",
|
||||||
|
"message": "The capital of France is Paris."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The data parameters are:
|
||||||
|
|
||||||
|
- `deploymentId` - string that specifies the model deployment ID to use.
|
||||||
|
- `message` - string that specifies the text to embed.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
{{< tabs Linux >}}
|
||||||
|
|
||||||
|
{{% codetab %}}
|
||||||
|
```bash
|
||||||
|
curl -d '{
|
||||||
|
"data": {
|
||||||
|
"deploymentId": "embeddings",
|
||||||
|
"message": "The capital of France is Paris."
|
||||||
|
},
|
||||||
|
"operation": "get-embedding"
|
||||||
|
}' \
|
||||||
|
http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
|
||||||
|
```
|
||||||
|
{{% /codetab %}}
|
||||||
|
|
||||||
|
{{< /tabs >}}
|
||||||
|
|
||||||
|
#### Response
|
||||||
|
|
||||||
|
The response body contains the following JSON:
|
||||||
|
|
||||||
|
```json
|
||||||
|
[0.018574921,-0.00023652936,-0.0057790717,.... (1536 floats total for ada)]
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Related links
|
## Related links
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue