在最近的人员风险行为分析系统开发过程中,需要解决一个问题:在缺乏GPU资源的情况下,如何提升智能交互能力。我们探索并研究了集成gemma2:2b模型的可行性,这一举措旨在在有限的硬件条件下,为我们的系统注入更高级别的智能性,从而增强用户体验并提高数据分析效率。
具体可分为如下几个步骤:
- 定义用户可能提出的问题类型
- 结合大模型设计接口,以便根据用户的问题提取实体信息
- 实现数据检索机制以提取相关信息返回给用户
如下,是系统页面原型,

交互时,用户输入自己的问题,我们无法预测用户输入什么,但是我们可以定义系统能处理什么类型的问题。在本功能里,我们定义如下系统可以交互的问题分类:
- 人员的基本信息
- 联网设备(应用系统、数据库资产、终端设备资产、服务器资产等)的基本信息
- 人员日常操作风险(从告警列表里读取)
- 和知识图谱的交互线索,例如共用终端风险线索(从知识图谱里查到用户使用两个以上终端设备的图数据)
接着我们要用大模型把用户问题里的实体抽取出来,这就需要我们定义prompt,并利用提示词让大模型帮我们把用户的问题解读成我们可继续执行的实体行为。代码如下:
@app.route('/chat', methods=['POST'])
def chat():
data = request.json
prompt = data.get('prompt', '')
payload = {
"model": "gemma2:2b",
"prompt": BASE_PROMPT + prompt
}
response = requests.post(f"<

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



