【UE5】离线AI聊天-接入LLAMA语言模型 教程

这篇具有很好参考价值的文章主要介绍了【UE5】离线AI聊天-接入LLAMA语言模型 教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:LLAMA是一种神经网络模型,全称为Language Model with an Average Attention Mechanism(具有平均注意机制的语言模型)。它是一种用于自然语言处理任务的模型,特别适用于生成文本和回答问题。LLAMA模型结合了注意力机制和平均池化,以提高模型对输入文本的理解和生成能力。它在多项基准测试中取得了很好的性能,是一种强大的语言模型。
此文章以基于OpenAI聊天模型训练而来的openchat_3.5.Q3_K_L模型为例进行实现。

1.准备工作:(注意打不开的链接需要科学上网

  • 下载必备软件:MicroSoft VS,CMAKE,Git(这一步就不详写,自行安装
  • 下载本例子的AI模型:openchat_3.5.Q3_K_L(放入项目目录/Content/Movies/Models/..openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 下载LLAMA插件:Llama-Unreal(我的教程后面修改了部分代码,请支持插件原作者MikaPi
  • 新建空白C++项目后关闭引擎,并打开项目文件夹:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 项目文件夹中创建Plugins文件夹并放入TTS和LLAMA插件:(TTS在上一篇文章有分享openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 进入LLAMA插件文件夹,右键空白区域打开Git:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • mkdir llama
    cd llama
  • llama文件中放入下载解压好的llama.cpp:llama.cpp兼容版本openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 创建build文件夹进行cmake编译:
cd llama.cpp
mkdir build
cd build/
cmake .. -DBUILD_SHARED_LIBS=ON
cd ..
cmake --build build --config Release -j --verbose
  • 生成成功:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 1.我们需要的文件是llama.dll:复制到Plugins\UELlama\Binaries\Win64文件夹中
openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 2.llama插件的Includes和Libraries文件夹中已经有了所有需要的文件,遂不需要复制。openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

2.项目各项设置及代码:

  • 修改UELlama.Build.cs:(修复打包后dll缺失
using UnrealBuildTool;
using System.IO;

public class UELlama : ModuleRules
{
	public UELlama(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

		PublicIncludePaths.AddRange(
			new string[] {
				// ... add public include paths required here ...
			}
			);


		PrivateIncludePaths.AddRange(
			new string[] {
			}
			);


		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				// ... add other public dependencies that you statically link with here ...
			}
			);


		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"CoreUObject",
				"Engine",
				"Slate",
				"SlateCore",
				// ... add private dependencies that you statically link with here ...
			}
			);

		if (Target.bBuildEditor)
		{
			PrivateDependencyModuleNames.AddRange(
				new string[]
				{
					"UnrealEd"
				}
			);
		}

		if (Target.Platform == UnrealTargetPlatform.Win64)
		{
			string PluginBinariesDir = Path.Combine(ModuleDirectory, "..", "..", "Binaries", "Win64");
			string ProjectBinariesDir = Path.Combine(ModuleDirectory, "..", "..", "..", "..", "Binaries", "Win64");

			string DLLFilePath = Path.Combine(ProjectBinariesDir, "llama.dll");
			string DestinationDLLPath = Path.Combine(PluginBinariesDir, "llama.dll");

			RuntimeDependencies.Add(DLLFilePath, DestinationDLLPath);
		}

		DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
			);
		if (Target.Platform == UnrealTargetPlatform.Linux)
		{
			PublicAdditionalLibraries.Add(Path.Combine(PluginDirectory, "Libraries", "libllama.so"));
			PublicIncludePaths.Add(Path.Combine(PluginDirectory, "Includes"));
		}
		else if (Target.Platform == UnrealTargetPlatform.Win64)
		{
			PublicAdditionalLibraries.Add(Path.Combine(PluginDirectory, "Libraries", "llama.lib"));
			PublicIncludePaths.Add(Path.Combine(PluginDirectory, "Includes"));
		}

	}
}
  • 编译生成项目成功:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
  • 打开项目:
1.新建Blueprints文件夹,新建空白关卡LLAMA游戏模式GM_LLAMA(不要创建错成游戏模式基础);玩家控制器PC_LLAMAHUD类HUD_LLAMA,用户控件WBP_MainLLAMA
2.项目设置中指定游戏默认地图为LLAMA,世界场景设置中指定游戏模式为GM_LLAMA,控制器为PC_LLAMA,HUD为HUD_LLAMA。openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型
3.编写HUD蓝图和用户控件WBP_MainLLAMA:
(0.HUD蓝图与函数:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

(1.添加llama组件;
(2.指定Prompt值;
A new line, the value “Human:”, and the value “AI:”.Our goal is to generate only a single line of text that corresponds to the current speaker.
(3.指定语言模型的路径;
F:\Projects\UE_Projects\5.1\UE5LLAMA\Content\Movies\Models\openchat_3.5.Q3_K_L.gguf
(4.指定Stop Sequences:
best_of;
The completion can’t change the speaker.
The completion won’t allow the speaker to speak twice in a row.

openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

(5.编辑用户控件WBP_MainLLAMA:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

添加函数Add Token:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

事件图表:openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型


User: 
{prompt} 
GPT4:
 

openai3.5插件下载 ue5可用,UE5,人工智能,ue5,llama,c++,虚幻,语言模型

3.编译蓝图,运行测试对话成功,朗读答案成功:(打包后也能成功


后言:该项目实现了离线AI聊天功能,响应及时。但目前还有部分问题如:回答中文时部分文字呈现为?号,可能根据不同模型有不同的问题,可以自行测试该网站中的其他语言模型。

希望这篇文章能帮到你!!文章来源地址https://www.toymoban.com/news/detail-842120.html

到了这里,关于【UE5】离线AI聊天-接入LLAMA语言模型 教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • “私密离线聊天新体验!llama-gpt聊天机器人:极速、安全、搭载Llama 2,尽享Code Llama支持!”

    一个自托管的、离线的、类似chatgpt的聊天机器人。由美洲驼提供动力。100%私密,没有数据离开您的设备。 https://github.com/getumbrel/llama-gpt/assets/10330103/5d1a76b8-ed03-4a51-90bd-12ebfaf1e6cd “私密离线聊天新体验!llama-gpt聊天机器人 Currently, LlamaGPT supports the following models. Support for runnin

    2024年02月04日
    浏览(32)
  • UE5、CesiumForUnreal接入WMTS格式地图瓦片,如ArcGIS、Mapbox、天地图

    通过改造 cesium-native 和 CesiumForUnreal 插件,参考tms的栅格瓦片地图加载逻辑,实现在UE5中通过CesiumForUnreal加载 WMTS 格式地图瓦片服务。 以ArcGIS的 WMTS 地图加载为例,GIF动图如下:

    2024年02月13日
    浏览(56)
  • UE5、CesiumForUnreal接入XYZ格式地图瓦片如高德地图、OSM、ArcGIS等

    通过改造 cesium-native 和 cesiumforunreal 插件,参考 tms 的栅格地图瓦片加载逻辑,实现在UE5、CesiumForUnreal中接入 XYZ 格式的地图瓦片服务。 以高德XYZ格式地图加载为例,GIF动图如下: 首先对比 tms与xyz 瓦片的区别

    2024年02月13日
    浏览(33)
  • 群晖NAS使用Docker部署大语言模型Llama 2结合内网穿透实现公网访问本地GPT聊天服务

    随着ChatGPT 和open Sora 的热度剧增,大语言模型时代,开启了AI新篇章,大语言模型的应用非常广泛,包括聊天机器人、智能客服、自动翻译、写作助手等。它们可以根据用户输入的文本生成相应的响应,提供个性化的建议和服务,目前大部分大语言模型的产品都是基于网络线上的

    2024年04月17日
    浏览(60)
  • UE5接入在线直播视频源,如hls(m3u8)格式

    通过重编译VlcMedia插件,以支持在线直播视频在UE5中的播放,GIF动图如下: 本文主要包括插件的重编译、在线直播视频的接入,以及材质的创建三个部分。 2.1 VlcMedia插件重编译 GitHub上有 Ue4VlcMedia 插件,但最新的版本只支持到UE4.19,因此需要重编译源码以支持UE5。VlcMedia插件

    2024年02月12日
    浏览(26)
  • Meta AI研究团队新AI模型: Llama 2 大语言模型

    Llama是Facebook Research团队开发的基础语言模型集,旨在提供广泛的语言理解能力。它基于转换器架构,参数范围从7B到65B。通过使用Llama模型,研究人员和开发人员可以构建更先进的自然语言处理系统。您可以在GitHub上找到相关的代码和资源,以帮助您开始使用Llama模型。 Llam

    2024年02月14日
    浏览(37)
  • 【虚幻引擎】UE5 VLC接入网络监控、视频直播、网络直播支持RTSP、RTMP

     我们在网上下载的插件一般是UE4版本的插件,这个时候就需要我们自己去修改编译,接下来教大家修改插件来适配自己的引擎。 如果不想自己编译代码,可以直接找我拿编译好的UE5.0、UE5.1、UE5.2的插件源码 教学视频:【UE5】VLC 实时视频监控、直播视频播放支持rtmp、rtsp格式

    2024年02月07日
    浏览(36)
  • AI大战,Meta发布大型语言模型LLaMA

    ChatGPT引爆了AI行业,全球的科技巨头都先后加入这场AI大战,作为行业大佬的Meta也不例外,宣布推出大型语言模型LLaMA,加入到了这场由微软、谷歌等科技巨头主导的AI“厮杀”中。 LLaMA 模型由 Meta 的FAIR 团队开发,旨在帮助研究人员和工程师探索人工智能应用和相关功能,在

    2024年02月13日
    浏览(40)
  • TypeChat,用TypeScript快速接入AI大语言模型

    TypeChat是C# 和 TypeScript 之父 Anders Hejlsberg全新的开源项目。使用AI在自然语言和应用程序和API之间建立桥梁,并且使用TypeScript。 现在出现了很多大型语言模型,但是如何将这些模型最好地集成到现有的应用程序中,如何使用人工智能来接受用户请求并转化为我们的应用程序可

    2024年02月15日
    浏览(33)
  • 初学UE5,UE4的教程适用UE5吗?

    UE5是最近推出的一款游戏引擎,相较于UE4而言,它有着更好的性能和灵活的工作流程,同时也引入了一些新的功能。对于一些游戏开发初学者来说,他们可能会想知道,是否可以通过UE4的教程来学习UE5。在这里,我们将介绍一下这个问题。 首先,UE5和UE4之间确实存在一些相通

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包