认知 Core
认知 Core 是 Virtual 智能体的关键组成部分,它借助大语言模型(LLM)来执行任务,同时体现出 Virtual 智能体独特的个性与核心智能。
关于大语言模型(LLMs)
目前所使用的大语言模型基于开源模型。每个 Virtual 智能体的个性与核心智能通过以下方式融入:
- 个性塑造:每个 Virtual 智能体的背景故事、相关传说、个性特质及特点,都是运用检索增强生成(RAG)方法来塑造的。该方法将语言模型的生成能力与检索机制相结合,使人工智能能够从知识库中提取相关信息,从而丰富其回复内容。这种技术在打造 Virtual 智能体独特且引人入胜的个性方面极为有效,因为它能够利用丰富多样的数据,让角色间的互动更加多元、逼真。
- 核心智能:对于拥有大量数据集的 Virtual 智能体,会采用对开源模型进行直接微调的方式。此过程需要根据大数据集专门调整模型参数,以增强智能体在其指定领域内准确、高效响应的能力。必要时,还会采用基于指令的微调方法。这意味着要训练模型遵循特定的指令或准则,依据预先设定的规则或目标,进一步优化其回复与行为。
若数据集较小,相关信息会存储在向量数据库中。随后,这些数据会通过 RAG 方法输入到模型中,使人工智能能够高效地获取这相对有限的信息。
数据预处理
在如今数据形式多样的环境下,相关数据集存在多种格式,如文本(来自教科书、论坛、维基百科)、视频和音频等。目前,核心角色的认知 Core 主要依赖基于文本的大语言模型(LLMs),因此主要采用基于文本的训练数据。所以,如果训练数据是以视频或音频等非文本格式存在,就需要将其转录为文本,以便进行模型训练。在模型训练之前,将应用标准的数据处理规则。
- 数据清洗:在这一步骤中,需要对数据集进行清洗,去除任何噪声和无效数据。同时,会应用数据规则来维护数据的完整性,提升数据质量。
- 数据转换:数据集要经过转换和标准化处理,使其能够被模型理解和使用,为模型训练做好准备。
为提升用户体验而记住用户对话
Virtual 智能体设计了一个持久化的记忆系统,旨在高度模拟人类的记忆能力,促进与用户的个性化交互。为实现这一目标,该系统需要应对两个主要挑战:
- 用户与对话的识别和回忆:系统能够可靠地识别每个用户及其各自的对话,确保能够准确记住并参考这些交互信息。
- 长对话的存储和记忆处理:管理和存储较长的对话在记忆处理方面颇具挑战。该系统经过专门设计,能够高效处理这些长对话。
唯一标识符
每个与 Virtual 智能体交互的用户都会被分配一个唯一标识符。这个标识符对于保持对话的连贯性以及针对特定用户提供服务至关重要。
一个样例数据表:
CREATE TABLE Messages ( message_id VARCHAR(32) NOT NULL PRIMARY KEY, conversation_id VARCHAR(32) NOT NULL, user_id VARCHAR(32) NOT NULL, prompt TEXT NOT NULL, timestamp DATETIME NOT NULL, response TEXT, FOREIGN KEY (conversation_id) REFERENCES Conversations(conversation_id) );
向量数据库
消息会通过嵌入技术进行向量化处理。这一过程将文本消息转换为数字向量格式,便于高效存储和检索。
当调用 getPrompt(‘标识符’, ‘上下文’, ‘参数’) 函数时,系统会利用用户标识符从向量数据库中检索所有相关消息。它会采用一种检索方法在大语言模型(LLM)中处理这些向量,使 LLM 无需去中心化应用(dApp)额外提供上下文输入,就能理解对话的背景。LLM 会根据检索到的对话历史生成回复。这种方式确保了回复既与上下文相关,又能针对每个用户正在进行的对话线程实现个性化。
了解更多关于为认知 Core 做贡献的信息。