add tab for go

Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
This commit is contained in:
Hannah Hunter 2025-01-21 12:45:35 -05:00
parent 3f79a6bb9f
commit 3a923f42cd
1 changed files with 105 additions and 9 deletions

View File

@ -12,7 +12,7 @@ The conversation building block is currently in **alpha**.
Let's take a look at how the [Dapr conversation building block]({{< ref conversation-overview.md >}}) makes interacting with the Anthropic LLM easier. In this quickstart, you use the Anthropic component to communicate with the LLM and ask it for a poem about Dapr.
{{< tabs ".NET" >}}
{{< tabs ".NET" Go >}}
<!-- .NET -->
{{% codetab %}}
@ -42,13 +42,6 @@ From the root of the Quickstarts directory, navigate into the conversation direc
cd conversation/csharp/sdk/conversation
```
Install the dependencies:
```bash
dotnet restore
dotnet build
```
### Step 3: Launch the conversation service
Start the conversation service with the following command:
@ -59,7 +52,7 @@ dapr run --app-id conversation --resources-path "../../../components/" -- dotnet
**Expected output**
```dotnetcli
```
== APP == info: System.Net.Http.HttpClient.Default.LogicalHandler[100]
== APP == Start processing HTTP request POST http://localhost:50115/dapr.proto.runtime.v1.Dapr/ConverseAlpha1
== APP == info: System.Net.Http.HttpClient.Default.ClientHandler[100]
@ -157,6 +150,108 @@ static partial class Log
}
```
{{% /codetab %}}
<!-- Go -->
{{% codetab %}}
### Step 1: Pre-requisites
For this example, you will need:
- [Dapr CLI and initialized environment](https://docs.dapr.io/getting-started).
- [Latest version of Go](https://go.dev/dl/).
<!-- IGNORE_LINKS -->
- [Docker Desktop](https://www.docker.com/products/docker-desktop)
<!-- END_IGNORE -->
### Step 2: Set up the environment
Clone the [sample provided in the Quickstarts repo](https://github.com/dapr/quickstarts/tree/master/conversation).
```bash
git clone https://github.com/dapr/quickstarts.git
```
From the root of the Quickstarts directory, navigate into the conversation directory:
```bash
cd conversation/go/sdk/conversation
```
### Step 3: Launch the conversation service
Start the conversation service with the following command:
```bash
```
**Expected output**
```
```
### What happened?
#### `conversation.yaml` LLM component
In [`conversation/components`](https://github.com/dapr/quickstarts/tree/master/conversation/components) directly of the quickstart, the [`conversation.yaml` file](https://github.com/dapr/quickstarts/tree/master/conversation/components/conversation.yml) configures the Anthropic LLM component.
```yml
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: echo
spec:
type: conversation.echo
version: v1
```
For authentication, the component also uses a secret store called [`envvar-secrets`](https://github.com/dapr/quickstarts/tree/master/conversation/components/envvar.yml).
#### `conversation.go` conversation app
```go
package main
import (
"context"
"fmt"
"log"
dapr "github.com/dapr/go-sdk/client"
)
func main() {
client, err := dapr.NewClient()
if err != nil {
panic(err)
}
input := dapr.ConversationInput{
Message: "hello world",
// Role: nil, // Optional
// ScrubPII: nil, // Optional
}
fmt.Printf("conversation input: %s\n", input.Message)
var conversationComponent = "echo"
request := dapr.NewConversationRequest(conversationComponent, []dapr.ConversationInput{input})
resp, err := client.ConverseAlpha1(context.Background(), request)
if err != nil {
log.Fatalf("err: %v", err)
}
fmt.Printf("conversation output: %s\n", resp.Outputs[0].Result)
}
```
{{% /codetab %}}
{{< /tabs >}}
@ -177,6 +272,7 @@ Join the discussion in our [discord channel](https://discord.com/channels/778680
- SDK samples of this quickstart:
- [.NET](https://github.com/dapr/quickstarts/tree/master/conversation/go/http)
- [Go](todo)
- Learn more about [the conversation building block]({{< ref conversation-overview.md >}})
{{< button text="Explore Dapr tutorials >>" page="getting-started/tutorials/_index.md" >}}