Loading...
Loading...
使用Go语言的Genkit开发AI驱动的应用。适用于用户要求使用Genkit在Go中构建AI功能、Agent、工作流或工具,或者处理涉及内容生成、提示词、流式输出、工具调用、对接模型提供商的Genkit Go代码的场景。
npx skill4agent add firebase/agent-skills developing-genkit-gopackage main
import (
"context"
"fmt"
"log"
"net/http"
"github.com/genkit-ai/genkit/go/ai"
"github.com/genkit-ai/genkit/go/genkit"
"github.com/genkit-ai/genkit/go/plugins/googlegenai"
"github.com/genkit-ai/genkit/go/plugins/server"
)
func main() {
ctx := context.Background()
g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{}))
genkit.DefineFlow(g, "jokeFlow", func(ctx context.Context, topic string) (string, error) {
return genkit.GenerateText(ctx, g,
ai.WithModelName("googleai/gemini-flash-latest"),
ai.WithPrompt("Tell me a joke about %s", topic),
)
})
mux := http.NewServeMux()
for _, f := range genkit.ListFlows(g) {
mux.HandleFunc("POST /"+f.Name(), genkit.Handler(f))
}
log.Fatal(server.Start(ctx, "127.0.0.1:8080", mux))
}| 功能 | 参考文档 | 适用场景 |
|---|---|---|
| 初始化 | references/getting-started.md | 配置 |
| 内容生成 | references/generation.md | |
| 提示词 | references/prompts.md | |
| 工具 | references/tools.md | |
| 工作流与HTTP | references/flows-and-http.md | |
| 模型提供商 | references/providers.md | Google AI、Vertex AI、Anthropic、OpenAI兼容模型、Ollama配置 |
genkit --versioncurl -sL cli.genkit.dev | bash# Start app with Developer UI (tracing, flow testing) at http://localhost:4000
genkit start -- go run .
genkit start -o -- go run . # also opens browser
# Run a flow directly from the CLI
genkit flow:run myFlow '{"data": "input"}'
genkit flow:run myFlow '{"data": "input"}' --stream # with streaming
genkit flow:run myFlow '{"data": "input"}' --wait # wait for completion
# Look up Genkit documentation
genkit docs:search "streaming" go
genkit docs:list go
genkit docs:read go/flows.mdggenkit.Init*Genkitgenkit.Handlerjsonschema:"description=...".prompt