diff --git a/daprdocs/content/en/concepts/building-blocks-concept.md b/daprdocs/content/en/concepts/building-blocks-concept.md index ca3d7b955ff..948d967ff24 100644 --- a/daprdocs/content/en/concepts/building-blocks-concept.md +++ b/daprdocs/content/en/concepts/building-blocks-concept.md @@ -31,3 +31,4 @@ Dapr provides the following building blocks: | [**Distributed lock**]({{< ref "distributed-lock-api-overview.md" >}}) | `/v1.0-alpha1/lock` | The distributed lock API enables you to take a lock on a resource so that multiple instances of an application can access the resource without conflicts and provide consistency guarantees. | [**Cryptography**]({{< ref "cryptography-overview.md" >}}) | `/v1.0-alpha1/crypto` | The Cryptography API enables you to perform cryptographic operations, such as encrypting and decrypting messages, without exposing keys to your application. | [**Jobs**]({{< ref "jobs-overview.md" >}}) | `/v1.0-alpha1/jobs` | The Jobs API enables you to schedule and orchestrate jobs. Example scenarios include: +| [**Conversational**]({{< ref "conversational-overview.md" >}}) | `/v1.0-alpha1/conversation` | The Conversational API provides a common way to converse with different large language model providers. \ No newline at end of file diff --git a/daprdocs/content/en/concepts/components-concept.md b/daprdocs/content/en/concepts/components-concept.md index d7a4f92ab5b..c7c859eb40d 100644 --- a/daprdocs/content/en/concepts/components-concept.md +++ b/daprdocs/content/en/concepts/components-concept.md @@ -137,3 +137,10 @@ Dapr allows custom [middleware]({{< ref "middleware.md" >}}) to be plugged into {{% alert title="Note" color="primary" %}} Since pluggable components are not required to be written in Go, they follow a different implementation process than built-in Dapr components. For more information on developing built-in components, read [developing new components](https://github.com/dapr/components-contrib/blob/master/docs/developing-component.md). {{% /alert %}} + +### Conversational + +Dapr provides a way for developers to migrate and converse between different large language model servers and toolkits. + +- [List of supported conversational components]({{< ref supported-conversational >}}) +- [Conversational implementations](https://github.com/dapr/components-contrib/tree/main/conversation) \ No newline at end of file diff --git a/daprdocs/content/en/concepts/overview.md b/daprdocs/content/en/concepts/overview.md index ff0f7ad3114..a06cde4276b 100644 --- a/daprdocs/content/en/concepts/overview.md +++ b/daprdocs/content/en/concepts/overview.md @@ -55,6 +55,7 @@ Each of these building block APIs is independent, meaning that you can use any n | [**Distributed lock**]({{< ref "distributed-lock-api-overview.md" >}}) | The distributed lock API enables your application to acquire a lock for any resource that gives it exclusive access until either the lock is released by the application, or a lease timeout occurs. | [**Cryptography**]({{< ref "cryptography-overview.md" >}}) | The cryptography API provides an abstraction layer on top of security infrastructure such as key vaults. It contains APIs that allow you to perform cryptographic operations, such as encrypting and decrypting messages, without exposing keys to your applications. | [**Jobs**]({{< ref "jobs-overview.md" >}}) | The jobs API enables you to schedule jobs at specific times or intervals. +| [**Conversational**]({{< ref "conversational-overview.md" >}}) | The conversational API enables you to migrate between large language model servers and toolkits. ### Cross-cutting APIs diff --git a/daprdocs/content/en/developing-applications/building-blocks/conversational/_index.md b/daprdocs/content/en/developing-applications/building-blocks/conversational/_index.md new file mode 100644 index 00000000000..b5600d6e049 --- /dev/null +++ b/daprdocs/content/en/developing-applications/building-blocks/conversational/_index.md @@ -0,0 +1,7 @@ +--- +type: docs +title: "Conversational" +linkTitle: "Conversational" +weight: 130 +description: "Consistently leverage Large Language Models services" +--- \ No newline at end of file diff --git a/daprdocs/content/en/developing-applications/building-blocks/conversational/conversational-overview.md b/daprdocs/content/en/developing-applications/building-blocks/conversational/conversational-overview.md new file mode 100644 index 00000000000..e8a0c769262 --- /dev/null +++ b/daprdocs/content/en/developing-applications/building-blocks/conversational/conversational-overview.md @@ -0,0 +1,33 @@ +--- +type: docs +title: "Conversational overview" +linkTitle: "Overview" +weight: 1000 +description: "Overview of the conversational API building block" +--- + +Many large language model servers or toolkits provide their own APIs. Due to hardcode and API differences, migrating between these servers or toolkits can prove difficult. + +The conversational API building block works as an abstraction layer across those APIs to ease migration. + +## Features + + +## Try out pub/sub + +### Quickstarts and tutorials + +Want to put the Dapr conversational API to the test? Walk through the following quickstart and tutorials to see it in action: + +| Quickstart/tutorial | Description | +| ------------------- | ----------- | +| [Conversational quickstart](todo) | . | + +### Start using pub/sub directly in your app + +Want to skip the quickstarts? Not a problem. You can try out the conversational building block directly in your application. After [Dapr is installed]({{< ref "getting-started/_index.md" >}}), you can begin using the conversational API starting with [the how-to guide](todo). + +## Next steps + +- [How-To: Migrate between large language models]({{< ref howto-conversational-layer.md >}}) +- [Conversational API components]({{< ref supported-conversational >}}) \ No newline at end of file diff --git a/daprdocs/content/en/developing-applications/building-blocks/conversational/howto-conversational-layer.md b/daprdocs/content/en/developing-applications/building-blocks/conversational/howto-conversational-layer.md new file mode 100644 index 00000000000..7aec39315e1 --- /dev/null +++ b/daprdocs/content/en/developing-applications/building-blocks/conversational/howto-conversational-layer.md @@ -0,0 +1,9 @@ +--- +type: docs +title: "How-To: Migrate using the conversational API" +linkTitle: "How-To: Migrate" +weight: 2000 +description: "Learn how to use the conversational API to migrate between large language model servers and toolkits" +--- + +todo \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/_index.md b/daprdocs/content/en/reference/components-reference/supported-conversational/_index.md new file mode 100644 index 00000000000..05d84ed0a91 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/_index.md @@ -0,0 +1,12 @@ +--- +type: docs +title: "Conversational component specs" +linkTitle: "Conversational" +weight: 9000 +description: The supported conversational components that interface with Dapr +no_list: true +--- + +{{< partial "components/description.html" >}} + +{{< partial "components/conversational.html" >}} \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/anthropic.md b/daprdocs/content/en/reference/components-reference/supported-conversational/anthropic.md new file mode 100644 index 00000000000..c884a0e5bf2 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/anthropic.md @@ -0,0 +1,6 @@ +--- +type: docs +title: "Anthropic" +linkTitle: "Anthropic" +description: Detailed information on the Anthropic conversational component +--- \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/aws-bedrock.md b/daprdocs/content/en/reference/components-reference/supported-conversational/aws-bedrock.md new file mode 100644 index 00000000000..41c7b978ad7 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/aws-bedrock.md @@ -0,0 +1,6 @@ +--- +type: docs +title: "AWS Bedrock" +linkTitle: "AWS Bedrock" +description: Detailed information on the AWS Bedrock conversational component +--- \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/echo.md b/daprdocs/content/en/reference/components-reference/supported-conversational/echo.md new file mode 100644 index 00000000000..6921a1967d8 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/echo.md @@ -0,0 +1,6 @@ +--- +type: docs +title: "Echo" +linkTitle: "Echo" +description: Detailed information on the Echo conversational component +--- \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/hugging-face.md b/daprdocs/content/en/reference/components-reference/supported-conversational/hugging-face.md new file mode 100644 index 00000000000..517b8a93324 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/hugging-face.md @@ -0,0 +1,6 @@ +--- +type: docs +title: "Hugging Face" +linkTitle: "Hugging Face" +description: Detailed information on the Hugging Face conversational component +--- \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/mistral.md b/daprdocs/content/en/reference/components-reference/supported-conversational/mistral.md new file mode 100644 index 00000000000..0ce6cbcc9a4 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/mistral.md @@ -0,0 +1,6 @@ +--- +type: docs +title: "Mistral" +linkTitle: "Mistral" +description: Detailed information on the Mistral conversational component +--- \ No newline at end of file diff --git a/daprdocs/content/en/reference/components-reference/supported-conversational/openai.md b/daprdocs/content/en/reference/components-reference/supported-conversational/openai.md new file mode 100644 index 00000000000..c15198ee951 --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-conversational/openai.md @@ -0,0 +1,6 @@ +--- +type: docs +title: "OpenAI" +linkTitle: "OpenAI" +description: Detailed information on the OpenAI conversational component +--- \ No newline at end of file diff --git a/daprdocs/data/components/conversational/aws.yaml b/daprdocs/data/components/conversational/aws.yaml new file mode 100644 index 00000000000..6f5b33d2022 --- /dev/null +++ b/daprdocs/data/components/conversational/aws.yaml @@ -0,0 +1,5 @@ +- component: AWS Bedrock + link: aws-bedrock + state: Alpha + version: v1 + since: "1.15" \ No newline at end of file diff --git a/daprdocs/data/components/conversational/generic.yaml b/daprdocs/data/components/conversational/generic.yaml new file mode 100644 index 00000000000..d99b5e23ba6 --- /dev/null +++ b/daprdocs/data/components/conversational/generic.yaml @@ -0,0 +1,25 @@ +- component: Echo + link: echo + state: Alpha + version: v1 + since: "1.15" +- component: Hugging Face + link: hugging-face + state: Alpha + version: v1 + since: "1.15" +- component: Mistral + link: mistral + state: Alpha + version: v1 + since: "1.15" +- component: OpenAI + link: openai + state: Alpha + version: v1 + since: "1.15" +- component: Anthropic + link: anthropic + state: Alpha + version: v1 + since: "1.15" \ No newline at end of file diff --git a/daprdocs/layouts/partials/components/conversational.html b/daprdocs/layouts/partials/components/conversational.html new file mode 100644 index 00000000000..a6d15bbe34f --- /dev/null +++ b/daprdocs/layouts/partials/components/conversational.html @@ -0,0 +1,28 @@ +{{- $groups := dict + "Generic" $.Site.Data.components.conversational.generic + "Amazon Web Services (AWS)" $.Site.Data.components.conversational.aws + + }} + + {{ range $group, $components := $groups }} +

{{ $group }}

+ + + + + + + + {{ range sort $components "component" }} + + + + + + + {{ end }} +
ComponentStatusComponent versionSince runtime version
{{ .component }} + {{ .state }}{{ .version }}{{ .since }}
+ {{ end }} + + {{ partial "components/componenttoc.html" . }} \ No newline at end of file