Skip to content

Commit

Permalink
feat: adjust eino agent code & .env
Browse files Browse the repository at this point in the history
  • Loading branch information
BytePender committed Jan 18, 2025
1 parent b04d27a commit 609f2d8
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 52 deletions.
13 changes: 8 additions & 5 deletions quickstart/eino_assistant/.env
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# ark model: https://console.volcengine.com/ark
# 必填,
# 火山云方舟 ChatModel 的 Endpoint ID
ARK_CHAT_MODEL=""
export ARK_CHAT_MODEL=""
# 火山云方舟 向量化模型的 Endpoint ID
ARK_EMBEDDING_MODEL=""
export ARK_EMBEDDING_MODEL=""
# 火山云方舟的 API Key
ARK_API_KEY=""
export ARK_API_KEY=""

# langfuse: https://cloud.langfuse.com/
# 下面两个环境变量如果为空,则不开启 langfuse callback
# Langfuse Project 的 Public Key
LANGFUSE_PUBLIC_KEY=""
export LANGFUSE_PUBLIC_KEY=""
# Langfuse Project 的 Secret Key。 注意,Secret Key 仅可在被创建时查看一次
LANGFUSE_SECRET_KEY=""
export LANGFUSE_SECRET_KEY=""

# Redis Server 的地址,不填写时,默认是 localhost:6379
export REDIS_ADDR=
3 changes: 2 additions & 1 deletion quickstart/eino_assistant/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,5 @@ cmd/einoagent/data/
__debug_bin*
/einoagent
.DS_Store
/data
/data/
/einoagent
21 changes: 9 additions & 12 deletions quickstart/eino_assistant/cmd/einoagentcli/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ import (
"strconv"
"strings"

"github.com/cloudwego/eino-ext/devops"

"github.com/cloudwego/eino-ext/callbacks/langfuse"
"github.com/cloudwego/eino-ext/devops"
"github.com/cloudwego/eino/callbacks"
"github.com/cloudwego/eino/compose"
"github.com/cloudwego/eino/schema"
Expand All @@ -41,15 +40,6 @@ import (
"github.com/cloudwego/eino-examples/quickstart/eino_assistant/pkg/mem"
)

func init() {
if os.Getenv("EINO_DEBUG") != "false" {
err := devops.Init(context.Background())
if err != nil {
log.Printf("[eino dev] init failed, err=%v", err)
}
}
}

var id = flag.String("id", "", "conversation id")

var memory = mem.GetDefaultMemory()
Expand All @@ -59,13 +49,20 @@ var cbHandler callbacks.Handler
func main() {
flag.Parse()

// 开启 Eino 的可视化调试能力
err := devops.Init(context.Background())
if err != nil {
log.Printf("[eino dev] init failed, err=%v", err)
return
}

if *id == "" {
*id = strconv.Itoa(rand.Intn(1000000))
}

ctx := context.Background()

err := Init()
err = Init()
if err != nil {
log.Printf("[eino agent] init failed, err=%v", err)
return
Expand Down
12 changes: 0 additions & 12 deletions quickstart/eino_assistant/cmd/knowledgeindexing/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,17 @@ import (
"context"
"fmt"
"io/fs"
"log"
"os"
"path/filepath"
"strings"

"github.com/cloudwego/eino-ext/components/document/transformer/splitter/markdown"
"github.com/cloudwego/eino-ext/devops"
"github.com/cloudwego/eino/components/document"
"github.com/cloudwego/eino/components/embedding"
"github.com/redis/go-redis/v9"

"github.com/cloudwego/eino-examples/quickstart/eino_assistant/eino/knowledgeindexing"
)

func init() {
if os.Getenv("EINO_DEBUG") != "false" {
err := devops.Init(context.Background())
if err != nil {
log.Printf("[eino dev] init failed, err=%v", err)
}
}
}

func main() {
ctx := context.Background()

Expand Down
4 changes: 1 addition & 3 deletions quickstart/eino_assistant/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: '3.3'

services:
redis-stack:
image: redis/redis-stack:latest
Expand All @@ -13,7 +11,7 @@ services:
- REDIS_ARGS=--dir /data --appendonly no --save 1800 1
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 3
8 changes: 4 additions & 4 deletions quickstart/eino_assistant/eino/eino_agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"gen_local_state": {
"output_type": {}
},
"id": "4Eyjho",
"id": "f_oI8e",
"component": "Graph",
"nodes": [
{
Expand Down Expand Up @@ -41,7 +41,7 @@
{
"id": "8AgKo6",
"key": "InputToQuery",
"name": "",
"name": "UserMessageToQuery",
"type": "Lambda",
"component_schema": {
"name": "Lambda",
Expand Down Expand Up @@ -177,7 +177,7 @@
{
"id": "CDNTqO",
"key": "ReactAgent",
"name": "",
"name": "ReAct Agent",
"type": "Lambda",
"component_schema": {
"name": "react",
Expand Down Expand Up @@ -1449,7 +1449,7 @@
{
"id": "lJ0-pN",
"key": "InputToHistory",
"name": "",
"name": "UserMessageToVariables",
"type": "Lambda",
"component_schema": {
"name": "Lambda",
Expand Down
8 changes: 5 additions & 3 deletions quickstart/eino_assistant/eino/einoagent/orchestration.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ func BuildEinoAgent(ctx context.Context, config *BuildConfig) (r compose.Runnabl
InputToHistory = "InputToHistory"
)
g := compose.NewGraph[*UserMessage, *schema.Message]()
_ = g.AddLambdaNode(InputToQuery, compose.InvokableLambdaWithOption(NewInputToQuery))
_ = g.AddLambdaNode(InputToQuery, compose.InvokableLambdaWithOption(NewInputToQuery),
compose.WithNodeName("UserMessageToQuery"))
chatTemplateKeyOfChatTemplate, err := NewChatTemplate(ctx, config.EinoAgent.ChatTemplateKeyOfChatTemplate)
if err != nil {
return nil, err
Expand All @@ -54,13 +55,14 @@ func BuildEinoAgent(ctx context.Context, config *BuildConfig) (r compose.Runnabl
if err != nil {
return nil, err
}
_ = g.AddLambdaNode(ReactAgent, reactAgentKeyOfLambda)
_ = g.AddLambdaNode(ReactAgent, reactAgentKeyOfLambda, compose.WithNodeName("ReAct Agent"))
redisRetrieverKeyOfRetriever, err := NewRedisRetriever(ctx, config.EinoAgent.RedisRetrieverKeyOfRetriever)
if err != nil {
return nil, err
}
_ = g.AddRetrieverNode(RedisRetriever, redisRetrieverKeyOfRetriever, compose.WithOutputKey("documents"))
_ = g.AddLambdaNode(InputToHistory, compose.InvokableLambdaWithOption(NewInputToHistory))
_ = g.AddLambdaNode(InputToHistory, compose.InvokableLambdaWithOption(NewInputToHistory),
compose.WithNodeName("UserMessageToVariables"))
_ = g.AddEdge(compose.START, InputToQuery)
_ = g.AddEdge(compose.START, InputToHistory)
_ = g.AddEdge(ReactAgent, compose.END)
Expand Down
3 changes: 3 additions & 0 deletions quickstart/eino_assistant/eino/knowledgeindexing/embedding.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package knowledgeindexing

import (
"context"
"log"
"os"

"github.com/cloudwego/eino-ext/components/embedding/ark"
Expand All @@ -30,6 +31,8 @@ func defaultArkEmbeddingConfig(ctx context.Context) (*ark.EmbeddingConfig, error
APIKey: os.Getenv("ARK_API_KEY"),
Model: os.Getenv("ARK_EMBEDDING_MODEL"),
}

log.Printf("apiKey: %v, model: %v", config.APIKey, config.Model)
return config, nil
}

Expand Down
16 changes: 4 additions & 12 deletions quickstart/eino_assistant/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,8 @@ github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/eino v0.3.6 h1:3yfdKKxMVWefdOyGXHuqUMM5cc9iioijj2mpPsDZKIg=
github.com/cloudwego/eino v0.3.6/go.mod h1:+kmJimGEcKuSI6OKhet7kBedkm1WUZS3H1QRazxgWUo=
github.com/cloudwego/eino v0.3.7 h1:PE1yFaAPVenRhDl0x6N1U2rKrfZkSr1hKlcacO6P+VA=
github.com/cloudwego/eino v0.3.7/go.mod h1:+kmJimGEcKuSI6OKhet7kBedkm1WUZS3H1QRazxgWUo=
github.com/cloudwego/eino-ext/callbacks/langfuse v0.0.0-20250115025927-7f73d3f2f438 h1:vFN922Ah4Qb6tcBI0uREpABf+WYz1uw6JZYIb0q+VR0=
github.com/cloudwego/eino-ext/callbacks/langfuse v0.0.0-20250115025927-7f73d3f2f438/go.mod h1:5StXiP9SugyHuqTZ1cAX5wOGnQq4hKGK+R81C74uHHM=
github.com/cloudwego/eino-ext/callbacks/langfuse v0.0.0-20250117061805-cd80d1780d76 h1:ItCp3l6FEb2UAGp8S5n7+zIVF3HRnipn5AOjtCvawkU=
github.com/cloudwego/eino-ext/callbacks/langfuse v0.0.0-20250117061805-cd80d1780d76/go.mod h1:5StXiP9SugyHuqTZ1cAX5wOGnQq4hKGK+R81C74uHHM=
github.com/cloudwego/eino-ext/components/document/loader/file v0.0.0-20250116071241-3f1eaaafd49c h1:FCsu5ctlFx8Frxu/LcswWk3vB/26qbYIKEKKIQOKubQ=
Expand All @@ -44,17 +40,13 @@ github.com/cloudwego/eino-ext/components/embedding/ark v0.0.0-20250116071241-3f1
github.com/cloudwego/eino-ext/components/embedding/ark v0.0.0-20250116071241-3f1eaaafd49c/go.mod h1:RCwPJYYY9DnhuGyIWCjaicX1ajWf3XooS92En6fW18o=
github.com/cloudwego/eino-ext/components/indexer/redis v0.0.0-20250116071241-3f1eaaafd49c h1:ugOzWE2dvJnuXyuOPX7N3q05wT3oP3IHQASVfik8nrs=
github.com/cloudwego/eino-ext/components/indexer/redis v0.0.0-20250116071241-3f1eaaafd49c/go.mod h1:7z1agcgwS3CAO+ADgf0QCu0lOh5Owe+/DaI33hfcr+g=
github.com/cloudwego/eino-ext/components/model/ark v0.0.0-20250116071241-3f1eaaafd49c h1:SxCAjJwjTNGk4dG4ANQfTlaAYqiiNXcy4TB7ZtXkAG4=
github.com/cloudwego/eino-ext/components/model/ark v0.0.0-20250116071241-3f1eaaafd49c/go.mod h1:+xktpoBbBriT3bDBONMXDd4LNs6Z2tSI/fWzjFIMmgc=
github.com/cloudwego/eino-ext/components/model/ark v0.0.0-20250117061805-cd80d1780d76 h1:EttuZVs4Ysd2r0L+8Ki2H3cy+t3rIJ0ad2yTi3OI2PE=
github.com/cloudwego/eino-ext/components/model/ark v0.0.0-20250117061805-cd80d1780d76/go.mod h1:+xktpoBbBriT3bDBONMXDd4LNs6Z2tSI/fWzjFIMmgc=
github.com/cloudwego/eino-ext/components/retriever/redis v0.0.0-20250116071241-3f1eaaafd49c h1:XAXw18lVge6EmoXP98TtGc4Fy+Anp7b2VLFsq7tD1NY=
github.com/cloudwego/eino-ext/components/retriever/redis v0.0.0-20250116071241-3f1eaaafd49c/go.mod h1:2WrVfYFjZHSmjA+8iSwXcS0CW3oaC2XM/XzFh/1bW4Q=
github.com/cloudwego/eino-ext/components/retriever/redis v0.0.0-20250117061805-cd80d1780d76 h1:Y22yHaxUvl4NfN3ESDG/BcNrNIC4hL3A3DreNqpES0I=
github.com/cloudwego/eino-ext/components/retriever/redis v0.0.0-20250117061805-cd80d1780d76/go.mod h1:2WrVfYFjZHSmjA+8iSwXcS0CW3oaC2XM/XzFh/1bW4Q=
github.com/cloudwego/eino-ext/components/tool/duckduckgo v0.0.0-20250116071241-3f1eaaafd49c h1:SRgJQjAWHhMQFMILu+fJxRM1jDHUJkV2FK9zkle4NDQ=
github.com/cloudwego/eino-ext/components/tool/duckduckgo v0.0.0-20250116071241-3f1eaaafd49c/go.mod h1:Do8C+KMH+3PiF/jYV/8oFQz+UvCTrThswB9fZWiqfgI=
github.com/cloudwego/eino-ext/components/tool/duckduckgo v0.0.0-20250117061805-cd80d1780d76 h1:ueBCollhWzpdZ5KN1UPuytgko03y3UvikChKYCc7KYU=
github.com/cloudwego/eino-ext/components/tool/duckduckgo v0.0.0-20250117061805-cd80d1780d76/go.mod h1:Do8C+KMH+3PiF/jYV/8oFQz+UvCTrThswB9fZWiqfgI=
github.com/cloudwego/eino-ext/devops v0.0.0-20250114083745-f699cc985d88 h1:JgTR0+mbLPY6rOyhT7hJOg0x8tKxWMpHAVrjTBa5IiA=
github.com/cloudwego/eino-ext/devops v0.0.0-20250114083745-f699cc985d88/go.mod h1:Xz9wAdKxOpoHNPFZ1RtPhCiSBmhoV5kJlWqmQyqcXkg=
github.com/cloudwego/eino-ext/devops v0.0.0-20250117061805-cd80d1780d76 h1:mE2pxr1sVUz/ucRZCMflE2O5B1JfPEqO3V8BgJ3WQYU=
github.com/cloudwego/eino-ext/devops v0.0.0-20250117061805-cd80d1780d76/go.mod h1:MzPGghc4J7rSevtxeZpqAejpaFbkoCNzG6AQLG93WmE=
github.com/cloudwego/eino-ext/libs/acl/langfuse v0.0.0-20250113033825-eb19b2b6b386 h1:dF//5iW+PCS8ZnZ0PwmO2enn3Oek++mbgB6dmaJAz6o=
github.com/cloudwego/eino-ext/libs/acl/langfuse v0.0.0-20250113033825-eb19b2b6b386/go.mod h1:77jqGUJZjxg+V/sJ8S6dd0JtRLO782yVWHmhuFgb9ig=
Expand Down

0 comments on commit 609f2d8

Please sign in to comment.