跳到主要内容

Hugging Face

概览

本文档提供了将Hugging Face机器学习模型与LangchainGo库在Go编程环境中集成的详细概述和技术指导。此集成允许Go开发者利用预训练的人工智能模型,应用于自然语言处理、文本生成等领域。

先决条件

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

安装

go get github.com/tmc/langchaingo

确保将您的Hugging Face API令牌设置为环境变量:

export HUGGINGFACEHUB_API_TOKEN='your_hugging_face_api_token'

使用方法

package main

import (
"context"
"fmt"
"log"

"github.com/tmc/langchaingo/llms"
"github.com/tmc/langchaingo/llms/huggingface"
)

func main() {
// You may instantiate a client with a custom token and/or custom model
// clientOptions := []huggingface.Option{
// huggingface.WithToken("HF_1234"),
// huggingface.WithModel("ZZZ"),
// }
// llm, err := huggingface.New(clientOptions...)

// Or you may instantiate a client with a default model and use token from environment variable
llm, err := huggingface.New()
if err != nil {
log.Fatal(err)
}
ctx := context.Background()

// Or override default model to another one
generateOptions := []llms.CallOption{
llms.WithModel("gpt2"),
// llms.WithTopK(10),
// llms.WithTopP(0.95),
// llms.WithSeed(13),
}
completion, err := llms.GenerateFromSinglePrompt(
ctx,
llm,
"What would be a good company name be for name a company that makes colorful socks?",
generateOptions...)
// Check for errors
if err != nil {
log.Fatal(err)
}
fmt.Println(completion)
}