Rumah  >  Artikel  >  Peranti teknologi  >  AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

PHPz
PHPzke hadapan
2023-05-22 23:04:041134semak imbas

Beberapa masa lalu, HuggingGPT yang dicadangkan oleh pasukan Microsoft Universiti Zhejiang menjadi popular di seluruh kalangan teknologi.

Sistem kerjasama model besar ini menggunakan ChatGPT sebagai pengawal untuk memanggil pelbagai model dalam HuggingFace sesuka hati untuk mencapai tugas berbilang modal.

Membiarkan ChatGPT menjadi "bos" telah menjadi satu hala tuju yang ramai orang optimistik.

Tidak, apa yang sepatutnya akan datang akan datang...

"Transformers" dihasilkan secara rasmi oleh HuggingFace, AI paling popular di dunia Ejen komuniti" juga boleh mencapai sihir dengan mengawal lebih daripada 100,000 AI.

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

Saintis Nvidia Jim Fan memuji ini sebagai langkah pertama ke arah Apl Semuanya, dan apabila ekosistem berkembang, keupayaannya turut berkembang.

Beliau seterusnya mengatakan bahawa HuggingGPT ialah demonstrasi berskala besar pertama bagi idea ini. Ia menggunakan GPT sebagai pengawal untuk memilih alatan (model) secara dinamik untuk menyelesaikan tugasan berbilang peringkat.

"App Store" ChatGPT sememangnya merupakan contoh aplikasi ekosistem alat AI. Ejen Transformers baharu membolehkan anda mempunyai peminat hebat dan membina ejen AI dengan cepat.

Transformers, maha kuasa

Menggunakan Ejen Transformers, anda boleh membuka mulut untuk melukis gambar dan membacakannya untuk anda.

Mari kita lihat beberapa contoh~

<code>agent.run("Caption the following image", image=image)</code>

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

Yang pertama bermula dengan mudah . Masukkan gambar dan tambah penerangan, memerang comel berenang di dalam air (sangat comel, fikir rua).

<code>agent.run("Read the following text out loud", text=text)</code>

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

Yang kedua juga tidak sukar, cuma tukar teks kepada pertuturan.

<code>agent.run("In the following `document`, where will the TRRF Scientific Advisory Council Meeting take place?",document=document,)</code>

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

Yang ini lebih sukar. Keperluan untuk input adalah untuk menyatakan di mana mesyuarat Jawatankuasa Penasihat Saintifik akan diadakan.

Sudah tentu, untuk AI, mendapatkan semula baris terakhir juga menemui jawapannya.

Sebelum menggunakan agent.run, pengguna perlu membuat instantiate ejen, iaitu model bahasa besar (LLM).

Penyelidik menyediakan sokongan untuk model OpenAI, serta alternatif sumber terbuka daripada BigCode dan OpenAssistant.

Walaupun model OpenAI berprestasi lebih baik, pengguna mesti mempunyai kunci API OpenAI, jadi ia bukan percuma untuk digunakan.

Hugging Face berkata ia menyediakan titik akhir akses percuma untuk model seperti BigCode dan OpenAssistant.

Pertama, pengguna perlu memasang add-on ejen.

<code>pip install transformers[agents]</code>

Untuk menggunakan model OpenAI, pengguna perlu membuat instantiate OpenAiAgent selepas memasang kebergantungan OpenAI:

<code>pip install openaifrom transformers import OpenAiAgentagent = OpenAiAgent(model="text-davinci-003", api_key="<your_api_key>")</your_api_key></code>

Pengguna perlu menggunakan BigCode Atau OpenAssistant, anda mesti log masuk terlebih dahulu untuk mengakses API:

<code>from huggingface_hub import loginlogin("<your_token>")</your_token></code>

Kemudian, nyatakan ejen:

<code>from transformers import HfAgent# Starcoderagent = HfAgent("https://api-inference.huggingface.co/models/bigcode/starcoder")# StarcoderBase# agent = HfAgent("https://api-inference.huggingface.co/models/bigcode/starcoderbase")# OpenAssistant# agent = HfAgent(url_endpoint="https://api-inference.huggingface.co/models/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5")</code>

Ini adalah Use the API inferens yang kini disediakan oleh Hugging Face secara percuma. Jika pengguna mempunyai titik akhir inferens mereka sendiri, mereka boleh menggantikan URL di atas.

StarCoder dan OpenAssistant bebas untuk digunakan dan berfungsi dengan baik pada tugasan mudah.

然而,在处理更复杂的提示时,检查点就不成立了。如果用户面临这样的问题,可以尝试一下OpenAI模型,虽然很遗憾它不是开源的,但胜在表现不错。

单一执行方法是在使用代理的run()方法时使用的:

<code>agent.run("Draw me a picture of rivers and lakes.")</code>

它自动选择适合你要执行的任务的工具(或工具)并适当地运行它们。它可以在同一指令中执行一个或几个任务(你的指令越复杂,就越有可能失败)。

<code>agent.run("Draw me a picture of the sea then transform the picture to add an island")</code>

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

每个run()操作都是独立的,所以你可以用不同的任务连续运行几次。

请注意,用户的智能体只是一个大语言模型,所以prompt中的小变化可能产生完全不同的结果。尽可能清楚地解释要执行的任务是很重要的。

研究人员深入地讨论了如何写出更好的prompt。

如果你想在整个执行过程中保持一个状态,或者向智能体传递非文本对象,你可以通过指定变量来做到这一点。

例如,你可以生成第一张河流和湖泊的图片,并要求模型通过以下方式更新该图片以增加一个岛屿:

<code>picture = agent.run("Generate a picture of rivers and lakes.")updated_picture = agent.run("Transform the image in `picture` to add an island to it.", picture=picture)agent.chat("Generate a picture of rivers and lakes")</code>

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

这里让系统生成一张河流湖泊的照片。

<code>agent.chat("Transform the picture so that there is a rock in there")</code>

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

下一步,研究人员又让系统给原图中加一个岛屿。

当用户想保持跨指令的状态时,这是一个很有趣的方法。

它更适合于实验,但往往在单条指令而不是复杂指令方面会好很多。

如果你想传递非文本类型或特定的提示,这个方法也可以接受参数。

要了解如何自己设置远程执行器工具,研究人员建议用户阅读自定义工具指南。

为了与远程工具一起运行,在run()或chat()中指定remote=True就可以了。

例如,以下命令可以在任何设备上有效地运行,不需要大量的RAM或GPU:

<code>agent.run("Draw me a picture of rivers and lakes", remote=True)</code>

对chat()来说也是一样的:

<code>agent.chat("Draw me a picture of rivers and lakes", remote=True)</code>

网友表示,Transformers Agent就像AutoGPT一样。

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

还有人表示,Transformers Agent打开了自然语言编程的大门,可以想象,未来的操作系统就是智能模型,人类通过自然语言编排任务,越来越多的非开发者可以自己实现各种计算机应用。

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

什么是工具?什么是智能体?

Transformers Agents整体的运作流程简单分为四步:

设定目标、提供工具、展示示例、下达任务。

智能体会使用链式思考推理来确定其任务,并用提供的工具输出Python代码。

如何安装和使用,官方给出了具体步骤。

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

https://www.php.cn/link/e4f67a0e4293245fba713c412fc63e28

其中,这里的「智能体」指的是,一个大型语言模型。通过提示LLM,让其访问特定的一组工具。

因为LLM非常擅长生成较小的代码样本,所以API利用了这一点优势。

你可以用抱抱脸自家的OpenAssistant、StarCoder,甚至还可以用OpenAI的模型。

提示LLM给出一个小的代码样本,并用一组工具执行一个任务。这个提示包括,给智能体的任务,以及工具的描述。

这样,「智能体」就可以找到所使用工具的文档,特别是预期的输入和输出,并可以生成相关的代码。

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

而「工具」就非常好理解,是一个单独的函数,带有名称和描述。

然后,使用这些工具的描述来提示「智能体」,作用就在于可以像智能体展示如何用工具来执行查询中的请求内容。

再之后,通过利用Python解释器在与工具一起上传的一组输入中执行代码。

如果唯一调用的函数是你自己提供的工具和print函数,那么,开发者会在可执行内容上受到限制。当然了,抱抱脸社区的工具,是比较安全的。

除此之外,HuggingFace在Transformers Agents中还集成了以下工具:

- 文档问答:给定一个图像格式的文档(PDF),回答文档的问题(Donut) 

- 文本问答:给定一个长文本和一个问题,回答文本中的问题(Flan-T5) 

- 无条件给图像加标题:(BLIP) 

- 图像问答:给定一个图像,回答关于这个图像的问题(VILT) 

- 图像分割:给定一个图像和一个提示,输出该提示的分割掩码(CLIPSeg) 

- 语音转文本:给定一个音频记录,将语音转录为文本(Whisper) 

- 文本到语音:将文本转换为语音(SpeechT5) 

- 零样本文本分类:给定一个文本和一列标签,确定该文本与哪个标签最对应(BART) 

- 文本总结:用一个或几个句子来总结一个长文本(BART) 

- 翻译:将文本翻译成一种语言(NLLB)

这些工具都内置在Transformers中,也可以手动使用,比如:

<code>from transformers import load_tooltool = load_tool("text-to-speech")audio = tool("This is a text to speech tool")</code>

此外,还有一些定制的工具集成在Transformers Agents中,其中包括文本下载器、文本到图像的扩散模型stable diffusion、图像变换instruct pix2pix stable diffusion,以及文本到视频damo-vilab。

官方给出了一个自定义工具和提示的教程:

AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace

https://www.php.cn/link/735a8b95123648555736192cd3978bc1

代码生成

如上,已经展示了如何使用Transformers Agents流程。

但是,智能体只生成代码,通过使用非常受限的Python解释器执行这些代码。

如果你希望使用在不同设置中生成的代码,可以提示智能体返回代码,对工具定义,并准确导入。

比如,根据以下步骤实现:

<code>agent.run("Draw me a picture of rivers and lakes", return_code=True)</code>

返回以下代码:

<code>from transformers import load_toolimage_generator = load_tool("huggingface-tools/text-to-image")image = image_generator(prompt="rivers and lakes")</code>

然后,你就可以修改和执行自己的工具了。

Atas ialah kandungan terperinci AutoGPT dengan tangan! Biarkan ChatGPT memilih 100,000+ model AI, dihasilkan secara rasmi oleh HuggingFace. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam