updates from mark and yaron

Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
This commit is contained in:
Hannah Hunter 2024-12-02 13:33:52 -05:00
parent 3429445df4
commit 0c802faa7d
8 changed files with 40 additions and 25 deletions

View File

@ -31,4 +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: <ul><li>Schedule batch processing jobs to run every business day</li><li>Schedule various maintenance scripts to perform clean-ups</li><li>Schedule ETL jobs to run at specific times (hourly, daily) to fetch new data, process it, and update the data warehouse with the latest information.</li></ul>
| [**Conversation**]({{< ref "conversation-overview.md" >}}) | `/v1.0-alpha1/conversation` | The Conversation API provides a common way to converse with different large language model providers.
| [**Conversation**]({{< ref "conversation-overview.md" >}}) | `/v1.0-alpha1/conversation` | The Conversation API enables you to supply prompts to converse with different large language model (LLMs) and includes features such as prompt caching and personally identifiable information (PII) obfuscation.

View File

@ -122,11 +122,18 @@ Lock components are used as a distributed lock to provide mutually exclusive acc
### Cryptography
[Cryptography]({{< ref cryptography-overview.md >}}) components are used to perform crypographic operations, including encrypting and decrypting messages, without exposing keys to your application.
[Cryptography]({{< ref cryptography-overview.md >}}) components are used to perform cryptographic operations, including encrypting and decrypting messages, without exposing keys to your application.
- [List of supported cryptography components]({{< ref supported-cryptography >}})
- [Cryptography implementations](https://github.com/dapr/components-contrib/tree/master/crypto)
### Conversation
Dapr provides developers a way to abstract interactions with large language models (LLMs) with built-in security and reliability features. Use [conversation]({{< ref conversation-overview.md >}}) components to send prompts to different LLMs, along with the conversation context.
- [List of supported conversation components]({{< ref supported-conversation >}})
- [Conversation implementations](https://github.com/dapr/components-contrib/tree/main/conversation)
### Middleware
Dapr allows custom [middleware]({{< ref "middleware.md" >}}) to be plugged into the HTTP request processing pipeline. Middleware can perform additional actions on an HTTP request (such as authentication, encryption, and message transformation) before the request is routed to the user code, or the response is returned to the client. The middleware components are used with the [service invocation]({{< ref "service-invocation-overview.md" >}}) building block.
@ -136,11 +143,4 @@ 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 %}}
### Conversation
Dapr provides a way for developers to migrate and converse between different large language model servers and toolkits.
- [List of supported conversation components]({{< ref supported-conversation >}})
- [Conversation implementations](https://github.com/dapr/components-contrib/tree/main/conversation)
{{% /alert %}}

View File

@ -55,7 +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.
| [**Conversation**]({{< ref "conversation-overview.md" >}}) | The conversation API enables you to migrate between large language model servers and toolkits.
| [**Conversation**]({{< ref "conversation-overview.md" >}}) | The conversation API enables you to abstract the complexities of interacting with large language models (LLMs) and includes features such as prompt caching and personally identifiable information (PII) obfuscation. Using [conversation components]({{< ref supported-conversation >}}), you can supply prompts to converse with different LLMs.
### Cross-cutting APIs

View File

@ -3,5 +3,5 @@ type: docs
title: "Conversation"
linkTitle: "Conversation"
weight: 130
description: "Consistently leverage Large Language Models services"
description: "Utilize prompts with Large Language Models (LLMs)"
---

View File

@ -6,11 +6,19 @@ weight: 1000
description: "Overview of the conversation API building block"
---
Using the Dapr conversation API you can reduce the complexity of interacting with LLMS and enable critical security and reliability functionality with out-of-the-box features like prompt caching and PII data obfuscation.
Using the Dapr conversation API, you can reduce the complexity of interacting with Large Language Models (LLMs) and enable critical performance and security functionality with features like prompt caching and personally identifiable information (PII) data obfuscation.
## Features
### Supported SDKs
### Prompt caching
todo
### Personally identifiable information (PII) obfuscation
todo
## Supported SDKs
You can use the following SDKs to author a workflow.
@ -20,7 +28,7 @@ You can use the following SDKs to author a workflow.
| Rust | [converse](https://github.com/dapr/rust-sdk/blob/main/dapr/src/client.rs#L542) |
| Go | [conversation](https://github.com/dapr/go-sdk/tree/main/client/conversation.go) |
## Try out pub/sub
## Try out conversation
### Quickstarts and tutorials
@ -36,5 +44,5 @@ Want to skip the quickstarts? Not a problem. You can try out the conversation bu
## Next steps
- [How-To: Migrate between large language models]({{< ref howto-conversation-layer.md >}})
- [How-To: Converse with an LLM using the conversation API]({{< ref howto-conversation-layer.md >}})
- [Conversation API components]({{< ref supported-conversation >}})

View File

@ -1,9 +1,9 @@
---
type: docs
title: "How-To: Migrate using the conversation API"
linkTitle: "How-To: Migrate"
title: "How-To: Converse with an LLM using the conversation API"
linkTitle: "How-To: Converse"
weight: 2000
description: "Learn how to use the conversation API to migrate between large language model servers and toolkits"
description: "Learn how to abstract the complexities of interacting with large language models"
---
todo

View File

@ -94,7 +94,7 @@ Want to put workflows to the test? Walk through the following quickstart and tut
| Quickstart/tutorial | Description |
| ------------------- | ----------- |
| [Workflow quickstart]({{< ref workflow-quickstart.md >}}) | Run a workflow application with four workflow activities to see Dapr Workflow in action |
| [Workflow Python SDK example](https://github.com/dapr/python-sdk/tree/master/examples/demo_workflow) | Learn how to create a Dapr Workflow and invoke it using the Python `DaprClient` package. |
| [Workflow Python SDK example](https://github.com/dapr/python-sdk/tree/master/examples/demo_workflow) | Learn how to create a Dapr Workflow and invoke it using the Python `dapr-ext-workflow` package. |
| [Workflow JavaScript SDK example](https://github.com/dapr/js-sdk/tree/main/examples/workflow) | Learn how to create a Dapr Workflow and invoke it using the JavaScript SDK. |
| [Workflow .NET SDK example](https://github.com/dapr/dotnet-sdk/tree/master/examples/Workflow) | Learn how to create a Dapr Workflow and invoke it using ASP.NET Core web APIs. |
| [Workflow Java SDK example](https://github.com/dapr/java-sdk/tree/master/examples/src/main/java/io/dapr/examples/workflows) | Learn how to create a Dapr Workflow and invoke it using the Java `io.dapr.workflows` package. |

View File

@ -6,27 +6,35 @@ description: "Detailed documentation on the conversation API"
weight: 1400
---
Dapr provides users with an abstraction layer to reduce the complexity of interacting with LLMS using either a new runtime method or HTTP endpoint.
Dapr provides an API to interact with Large Language Models (LLMs) and enables critical performance and security functionality with features like prompt caching and PII data obfuscation.
## Converse
This endpoint lets you converse with LLMs.
```
POST /v1.0/conversation/[component]/converse
POST /v1.0-alpha1/conversation/<llm-name>/converse
```
### URL parameters
| Parameter | Description |
| --------- | ----------- |
| `component` | The name of the component you're using. [See a list of all available Conversation components]({{< ref supported-conversation >}})
| `llm-name` | The name of the LLM component. [See a list of all available conversation components.]({{< ref supported-conversation >}})
### Request body
| Field | Description |
| --------- | ----------- |
| `conversationContext` | |
| `inputs` | |
| `parameters` | |
### Request content
```json
REQUEST = {
"conversationContext": "ID of an existing chat room",
"inputs": ["what is Dapr", "Why use Dapr"],
"parameters": {},
}
@ -44,7 +52,6 @@ Code | Description
```json
RESPONSE = {
"conversationContext": "ID of an existing chat room",
"outputs": {
{
"result": "Dapr is distribution application runtime ...",