跳到主要内容

Groq

概览

本文档提供了详细的介绍和指导,说明如何在Go编程环境中将Groq的机器学习模型与Langchaingo库进行集成。这种集成使Go开发者能够利用预训练的人工智能模型来实现各种应用,包括自然语言处理、文本生成等。

先决条件

  • 在您的计算机上安装了Go编程语言(推荐使用1.22.0或更高版本)。
  • 有效的Groq API密钥。通过在Groq平台上创建账户并生成新的令牌来获取它。

安装

要在您的Go项目中安装Groq包,请运行以下命令:

go get github.com/tmc/langchaingo

确保将您的Groq API密钥设置为环境变量:

export GROQ_API_KEY=your-api-key

您可以使用.env文件来存储API密钥,并在Go应用程序中加载它。

.env 文件:

GROQ_API_KEY=your-api-key

但您不需要使用godotenv包来加载.env文件。

使用方法

package main

import (
"context"
"fmt"
"log"
"os"

"github.com/joho/godotenv"
"github.com/tmc/langchaingo/llms"
"github.com/tmc/langchaingo/llms/openai"
)

func main() {
err := godotenv.Load()
if err != nil {
log.Fatalf("Error loading .env file")
}

apiKey := os.Getenv("GROQ_API_KEY")

llm, err := openai.New(
openai.WithModel("llama3-8b-8192"),
openai.WithBaseURL("https://api.groq.com/openai/v1"),
openai.WithToken(apiKey),
)
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
_, err = llms.GenerateFromSinglePrompt(ctx,
llm,
"Write a long poem about how golang is a fantastic language.",
llms.WithTemperature(0.8),
llms.WithMaxTokens(4096),
llms.WithStreamingFunc(func(ctx context.Context, chunk []byte) error {
fmt.Print(string(chunk))
return nil
}),
)
fmt.Println()
if err != nil {
log.Fatal(err)
}
}