如何在 Godot 引擎中引入人工智能大模型
创始人
2024-05-10 18:26:12
0

原标题:如何在 Godot 引擎中引入人工智能大模型

前言

首先声明,这不是广告,只是提供一个思路,其它的大模型应该可以用类似的方法部署。

本文是我尝试在 Godot 中引入千帆大模型的记录,由于尚未在网络上查找到类似的教程,因此记录一下相关过程,为其他开发者提供一个简单的参考。我使用的 Godot 引擎版本为 V4.1.3,发布时间是 2023 年 12 月。下面将介绍两部分内容:千帆大模型的部署,Godot 引擎的引用方法。

千帆大模型的部署

千帆大模型的部署包括如下几个步骤。

首先进入千帆大模型,链接https://cloud.baidu.com/product/wenxinworkshop,注册后点击立即使用。

使用之前,首先需要开通服务。进入“在线服务”,选择开通的大模型服务。目前我所使用的 ERNIE-Bot 4.0 大模型公有云在线调用服务价格为 ¥0.12 元/千 tokens。开通后,进入“应用接入”,点击创建应用。

输入应用名称、应用描述,目前,系统会默认勾选全部服务。点击确定,完成创建。

回到“应用接入”部分,可以看到应用列表中已经出现创建的应用,其中 API Key Secret Key 是访问大模型应用的凭证。接下来的部分,是对在线调试的简单介绍,如无兴趣,可直接跳到第二部分,查看如何在 Godot 中访问。

点击“API 文档”,可以在右侧找到 API 在线调试平台的入口。

在线调试平台的第 1 部分用于选择大模型的种类;第 2 部分用于调整模型参数;第 3 部分提供了示例代码和在线的对话测试。这里选择的大模型种类是 ERNIE BOT 4。

参数一栏中,system 参数用于设置大模型的人设,其余参数可自行查阅。

示例代码部分提供了 Python,C# 等语言的示例。根据大模型的选择、参数的配置以及对话测试的内容,示例代码会有所改变。因此,在编写代码的过程中,可以参考这里的示例代码。

Godot 引擎的引用方法

Godot 引擎访问大模型分为两步:第一步,通过 API Key 和 Secret Key 获取应用的 Access_Token;第二步,与应用建立连接并发送请求。这个过程主要用到 HTTPRequest 节点。

首先,在 Godot 引擎中创建一个节点并添加脚本,然后为其创建两个 HTTPRequest 子节点。在这里,我创建了 Node2D 根节点,命名为 QianFan,两个子节点分别命名为 TokenRequest,用于接收 Access_Token 和 AnswerRequest,建立连接。

声明变量 API Key,Secret Key 和 Access Token;定义 GetAccessToken 函数,用于获取 Access Token。

varAPI_KEY =你的API Key

varSECRET_KEY =你的SecretKey

varACCESS_TOKEN

func GetAccessToken:

varurl ="https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="+API_KEY +"&client_secret="+SECRET_KEY

$TokenRequest.request(url)

url 的地址可以通过查阅在线调试平台的代码示例获取。

HTTPRequest 请求收到回复后会触发信号,我们在节点中连接 TokenRequest 的信号。

信号的触发函数可以编写成如下形式,收到回复后为 ACCESS _TOKEN 赋值。至此,我们已经获得了访问大模型应用需要的 Access_Token,它是与大模型建立连接的访问凭证。

func _on_token_request_request_completed(result,response_code,headers,body):

varjson =JSON.parse_string(body.get_string_from_utf8)

ACCESS_TOKEN =json['access_token']

接下来建立与大模型之间的连接,发起一次对话请求。本文章仅介绍单轮请求的方法,多轮请求和流式传输可以查阅 API 文档。

编写函数:

func GetResponose:

varurl ="https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token="+ACCESS_TOKEN

vartext ="请介绍一下你自己"

vardata ={

"messages":[

{

"role":"user",

"content":text

}

],

"temperature":0.99,

"system":"你扮演一只猫娘,你的回答总是以喵~结尾"

}

varjson =JSON.stringify(data)

varheaders =['Content-Type:application/json']

$AnswerRequest.request(url,headers,HTTPClient.METHOD_POST,json)

其中 url 地址可以通过查阅 API 文档获得。data 结构体中,text 是发给大模型的文本,temperature 和 system 是上一部分所述的模型参数,可自行添加或删减。system 参数用于描述模型的人设。具体可以参考在线调试平台中的示例代码。

同样地,收到回复后会触发信号,我们在节点中连接 AnswerRequest 信号。

触发函数可以编写成如下形式,返回的 json 结构体中的 result 部分即为大模型的回答。

func _on_answer_request_request_completed(result,response_code,headers,body):

varjson =JSON.parse_string(body.get_string_from_utf8)

print(json['result'])

调用顺序是 GetAccessToken->收到 TokenRequest 回复->GetResponse->收到 AnswerRequest 回复

在本示例中,系统人设为“你扮演一只猫娘,你的回答总是以喵~结尾”,发送的请求为"请介绍一下你自己"。收到的回复如下:

至此,我们完成了在 Godot 中对千帆人工智能大模型的访问与调用。

总结

Godot 引擎主要通过 HTTPRequest 节点对大模型的 API 进行访问,其它大模型的引入方法应该类似,本文仅作为一个参考。

* 本文为用户投稿,不代表 indienova 观点。

相关内容

大结局要来了?乌方提出无条...
大结局似乎即将来临。乌方出人意料地提出了无条件停火这一诉求,这一消...
2025-05-13 21:44:50
晴霞醉晚风!福州上空现“绝...
晴霞醉晚风,福州上空呈现出一幅“绝美晚霞”的画卷。傍晚时分,天空渐...
2025-05-13 21:42:53
感觉凉飕飕?未来三天,福州...
未来三天,福州的天气仿佛来了个“大反转”。之前那几日的凉爽仿佛被遗...
2025-05-13 21:42:43
队报:尽管需要支付赔偿金,...
据《队报》于当地时间5月12日的报道,勒沃库森有意摩纳哥主帅许特尔...
2025-05-13 21:42:38
舒梅切尔:阿尔特塔是个控制...
最近,在接受ViaPlay采访的时候,传奇门将舒梅切尔对阿森纳主帅...
2025-05-13 21:42:05
名记支招阿隆索:快签克罗斯...
周一,西班牙媒体确认哈维-阿隆索将在6月1日正式执教皇马,并且将率...
2025-05-13 21:41:57
力不从心!掘金的致命短板开...
在赢下系列赛G3之后,外界普遍开始看好掘金能够赢下本轮系列赛,毕竟...
2025-05-13 21:41:47
曼联不敌西汉姆联 现场直拍...
曼联不敌西汉姆联 现场直拍阿莫林场边的反应
2025-05-13 21:41:41
利雅得青年前主席:本泽马专...
北京时间5月12日,利雅得青年前主席塔拉勒-谢赫(طلال آل ...
2025-05-13 21:41:22

热门资讯

总结发现玩家!Wepoke新版... 亲,新版微扑克这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,新版微扑克的开挂软件...
一分钟揭晓!扑克世界透明挂软件... 一分钟揭晓!扑克世界透明挂软件,(透视)详细使用教程(有挂必备)-哔哩哔哩是一款可以让一直输的玩家,...
总结发现玩家!Wepoke新版... 总结发现玩家!Wepoke新版原来一直都是有挂,AAPoKe智能外挂辅助器脚本,有挂教学-哔哩哔哩是...
记者:马刺抽中榜眼后或用来交易... 北京时间今日,NBA官方进行了2025年选秀乐透抽签大会,最终,独行侠、马刺、76人和黄蜂抽中乐透,...
冒充刘祝润疯狂加女球迷?刘祝润... 北京时间5月12日,大连英博球员刘祝润“上线打假”——网络中那个名叫“江東.”的社交媒体账号不是他本...
福建举行突发地质灾害防御综合演... 近日,福建举行了一场意义重大的突发地质灾害防御综合演练。演练现场模拟了暴雨引发山体滑坡等地质灾害场景...
世体称孔德等人在国家德比后去参... 《世界体育报》报道称孔德在国家德比后参加了夜店派对,对此孔德在社交媒体亲自辟谣。 《世界...
实测分享WPK脚本透明挂软件,... 实测分享WPK脚本透明挂软件,(透视)详细使用教程(有挂必备)-哔哩哔哩是一款可以让一直输的玩家,快...
在启动关税战后,特朗普又犯下一... 在启动关税战后,特朗普似乎并未意识到其带来的复杂影响。然而,他又犯下了一个严重的战略失误。这一失误不...
福州市星语学校借助AI实现体育... 福州市星语学校独具慧眼,借助先进的 AI 技术,成功实现了体育教学的迭代升级。在这片充满活力的校园天...