大模型
图标

功能
与大模型交互
要点
- 支持指定和设置大模型
- 支持通过端口动态访问仿真模型内的数据对象
- 支持指定输出数据格式,以便后续流程建模
- 支持编辑系统提示词和用户提示词
- 支持实体种群建模
- 未来:支持记忆,支持工具调用
提示
- 访问大模型服务的前提是您在个人中心凭证管理中设置了正确的API Key
- API Key只保存于您的客户端,HoloMind不会保存您的API key
- 请考虑大模型交互的成本和效率,尤其在实体种群规模很大的时候
- 具体不同模型的API配置,请参考相应第三方供应商的官方文档,比如
https://ai.google.dev/gemini-api/docs/api-key
https://platform.openai.com/api-keys
运行机制
- 作为一个流程步,每当Trigger抵达时触发运行,系统将完整信息发送给大模型,大模型返回结果到输出端口,供后续建模使用(以
LLM_object_name.output_port_name访问) - 发送给大模型的完整信息包括系统提示词和用户提示词,系统将输入端口读取到的数据置换用户在提示词中的
{input_port_name}方式表达,使得发送给大模型的完整信息带有当前仿真环境的最新动态信息 - 当大模型组件是实体行为流程步时,实体的每个个体访问大模型的的动作是独立异步的,这会使得您感受到更快的运行速度,另一方面也会使该行为在当前Tick的运行完成时间滞后于其他常规流程
设置方法

选择和设置模型

- 下拉菜单中选择你需要的模型底座
- 确定大模型底座后,如有需要在右侧的模型设置中调整参数,如下图

- 目前暂不支持使用工具
输入端口
用于为大模型提供动态模型状态信息,用法类似普通端口

- 点击添加按钮增加一行新输入端口的设置
- 左侧输入框输入端口名称
- 右侧公式框输入表达式如下左图,或图形建模以状态链连接数据对象,如下右图


输出端口
用于寄存大模型返回的结果,供后续建模使用

- 点击添加按钮增加一行新输出端口的设置
- 左侧下拉菜单指定数据格式如下图

- 如果选择了List格式,需要指定元素格式(即列表元素格式需一致且为简单格式)

- 右侧命名输入栏输入端口名称
系统提示词
输入框。
通常设定对话的系统性指导,如角色设定、工作方式、行为边界等,在背景中持续起作用。
用户提示词
输入框。
通常是用户向模型发出的自然语言指令或提问,是与模型交互的核心内容。
{input_port_name}是系统提供的特殊语法,系统会用该端口获取的数据置换提示词中相应的部分,例如

使用技巧
提示词工程的技巧都可以应用在提示词 的编写中,此外为提高效率,降低成本你可以:
- 先确保模型能够正确运行,再聚焦大模型组件的配置
- 大模型底座够用即可,从小规模开始更明智,如先用GPT-4o mini,再尝试GPT-4o
- 提示词中的
{input_port_name}并不意味着仅提及,因为系统会替换端口获取的数据,这可能导致没必要的LLM Token消耗,所以提示词中的不要出现多次,如有需要可直接提及,例如使用Markdown风格的port_name,这样不消耗额外的Token - 当输入端口的数据为Dict等本身带有大括号的数据格式时,提示词中可使用双层表达
{{key: Value}} - 虽然没有强制要求,但推荐
{input_port_name}出现在用户提示词中,而不是系统提示词 - 如果有多个输出端口,通常需要为大模型描述清楚如何输出
案例
模型案例
两个大模型对象作为玩家,一个作为裁判,运行多局锤子剪刀布游戏
