HuggingFace Transformers 工具与代理 亲身实践
HuggingFace Transformers 工具与代理实践
Transformers版本v4.29.0,建立在工具和代理的概念之上,提供了一个基于transformers的自然语言API。如何使用它们?让我们以语言学习为例进行深入探讨!
代理和工具是什么?
这里的“代理”是一个大型语言模型,我们让它可以访问一组特定的工具。
LLMs在生成小样本代码方面表现出色,因此该API利用这一点,通过提示LLM提供使用一组工具执行任务的小样本代码。
工具非常简单:它们是一个带有名称和描述的单个函数。然后,我们使用这些工具的描述来提示代理。通过提示,我们向代理展示了它如何利用工具来执行查询中所请求的内容。【来源】
工具可以做什么?工具可以回答给定图像上的问题或总结一段长文本为一两个句子。每个工具都旨在专注于一个非常简单的任务。
实践操作:设置和初始化代理
让我们运行Google Colab笔记本的第一个单元格。在这里,我们应该选择最新版本的transformers(v4.29.0),然后在提示时输入HuggingFace用户访问令牌。
#@title 设置transformers版本transformers_version = "v4.29.0" #@param ["main", "v4.29.0"] {allow-input: true}print(f"正在使用transformers版本{transformers_version}设置一切")!pip install huggingface_hub>=0.14.1 git+https://github.com/huggingface/transformers@$transformers_version -q diffusers accelerate datasets torch soundfile sentencepiece opencv-python openaiimport IPythonimport soundfile as sfdef play_audio(audio): sf.write("speech_converted.wav", audio.numpy(), samplerate=16000) return IPython.display.Audio("speech_converted.wav")from huggingface_hub import notebook_loginnotebook_login()
一旦登录成功,我们可以继续并初始化代理,这是一个大型语言模型(LLM)。可以使用OpenAI获得最佳结果,但也可使用完全开源的模型,如StarCoder或OpenAssistant。在我们的演示中,使用了一个StarCoder代理。