问题与思考:

1.RAG是什么?有什么用?

         RAG——检索、增强、生成,让大模型在回答前先去知识库查一下相关数据,再基于相关数据和用户提问组织答案,从而提升模型准确率、是回答更贴合业务场景。

        实现方式:构建向量数据库:(将文档分块并转为向量存储数据库)——> 用户提问分词、提取关键字,转换为向量 ——> 检索,得到相关文本  ——>对相关文本按照相似度进行排序,取排名靠前的文本——>将用户提问和相关文本一起喂给大模型

一、Dify介绍

1、了解什么是Dify以及和Coze的区别

        Dify也是一个基于“工作流”编排的框架,能够以比较低的成本实现一个复杂的Agent。 

对比:

        coze:① 白屏化操作、操作简单,可以快速构建。 ② 闭源、封装度较高,许多场景不能自定义使用。

        dify:① 支持自定义二次开发。 ② 开源 可以私有化部署,适用于数据隐私、安全性和合规性高需求

使用场景:求快、求简单、个人/轻量级项目,选Coze;求强、求复杂、企业级/定制化需求,选Dify

2、Dify的优势,为什么要使用Dify?

        Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API,为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

3、【了解】windows怎么安装dify

3.1 安装wsl

使用命令行安装WSL 打开具有管理员权限的 PowerShell,运行以下命令以安装 WSL,使用默认的:

wsl --install

wsl.exe --install -d ubuntu

常见问题:

  1. 403: 使用windows的应用商店搜索 "linux", 下载ubuntu 22.0.4 TSL
  2. 网络连接超时:更换更好的网络环境 , 挂梯子
  3. 提示内容包含”虚拟化“相关内容:确认自己的机器是否有虚拟化功能,以及进入BIOS系统进行开启
  4. 下载速度非常慢:同超时解决办法,但是如果在30min以内能下载完成,建议等待。切换网络重新下载中或许引入其他问题

3.2 安装 Docker Desktop

注意:这一步需要确保WSL已经安装完毕。

  1. 下载 Docker Desktop 前往 Docker 官方文档 下载适用于 Windows 的 Docker Desktop。
  2. 安装并配置 Docker 根据安装向导完成 Docker 的安装,并确保启用了 WSL 2 后端支持。这将允许 Docker 在 WSL 环境中无缝运行。

安装完毕,进入设置页面(右上角齿轮)

修改配置,如下:

"registry-mirrors": [

        "https://docker.m.daocloud.io",

        "https://hub-mirror.c.163.com",

        "https://mirror.baidubce.com",

        "https://ccr.ccs.tencentyun.com"

        ]

这一步的操作主要是为了给docker增加国内的镜像源,以便加快拉取镜像的速度。同时也可以不连外网实现镜像拉取

3.3 安装dify环境

下载dify项目压缩包

直接下载

 进入项目根目录找到docker文件夹

env文件重命名

右键打开命令行

运行docker环境

docker compose up -d

停止运行:docker compose down

这里对网络有一定的要求,需要先拉取镜像再启动, 一次不成功的可以多尝试几次。

docker compose up -d 命令的原理如下:

3.4 启动dify

在浏览器地址栏输入即可安装:

http://127.0.0.1/install

首次登录需进行注册:

dify的主界面如下所示:

二、Dify平台进阶使用

1、RAG和知识库

1.1 【重点】文本检索技术

作用:从知识库中找到与其相似的信息

将关键字根据重要性进行排序 ——> 将文本中检索出的多个信息,根据相关、重要性进行排序

知识库检索有全文检索、语义检索、混合检索三种方式:

  • 全文检索:基于关键词+倒排索引技术。
  • 语义检索:基于向量+相似度计算。
  • 混合检索:将全文检索和语义检索的结果进行汇总,再次排序,得到最终检索结果
1.1.1 全文检索——关键词检索

实现顺序:创建知识库,对知识库中文本进行分词,创建倒排索引--->用户的提示词分词、提取关键词--->在倒排索引中进行查找,并找出关联文档--->相关性排序,将排名靠前的和用户提问一起喂给大模型

概念:全文检索是一种能够直接从海量的非结构化文本数据(如文章、报告、邮件等)中快速查找出包含特定词汇或短语(关键词)的信息的技术。

核心思想:创建倒排索引——关键词和文档的对应关系。类似于书籍末尾的索引,通过预先建立“词汇-文档”的映射关系,实现高效的内容搜索

全文检索系统的工作流程:核心阶段(索引构建 和 查询检索)

    索引构建:

        分词:将文本进行分词

        创建倒排索引:关键词和文档的对应关系。那个关键词对应了那些文档,和那些文档有关系。

    查询检索:

        查询处理:对用户的提问语句,进行分词,提取重要的关键词

        索引查找:在倒排索引中查找这些分词后的词汇,找到包含它们的文档集合

        相关性排序:在倒排索引中查找这些分词后的词汇,找到包含它们的文档集合

1.1.2 RAG——语义检索|向量检索

        RAG(检索增强生成,Retrieval-Augmented Generation)让大模型在回答前先去查资料,再基于查到的内容组织答案,这样能减少瞎编和过时信息。

实现过程:

       构建向量数据库:(将文档分块并转为向量存储数据库)——> 用户提问分词、提取关键字,转换为向量 ——> 检索,得到相关文本  ——>对相关文本按照相似度进行排序,取排名靠前的文本——>将用户提问和相关文本一起喂给大模型

检索:

        构建向量数据库:通过离线处理将文本转换为向量表示并建立索引,支持快速相似度匹配

        客户提问:将用户的问题转换为向量,在向量数据库中找到相似性高的文本对应的向量。

增强:

        问题增强:将检索到的信息整合为上下文,与原始问题一同输入生成模型

        作用:通过补充外部知识,扩展模型的“记忆”范围,使其能基于最新或专有数据生成回答

生成:

        将 上下文、问题 传到模型中,使大模型能基于最新或专有数据生成回答,从而增加模型准确率。

1.1.3 混合检索

        混合检索就是同时执行全文检索和向量检索,或 Rerank 模型,从查询结果中选择匹配用户问题的最佳结果。 

混合的策略一般分两种:

  • 权重:用户自己通过数值设定关键词和语义的比重,在进行一次排序
  • rerank:通过rerank模型,把两种检索方法检索到的结果进行混合,再进行一次排序。

实现过程:

  第一步:

    RAG:构建向量数据库(RAG) ——> 用户提问分词、提取关键字 ——> 检索,得到相关文本 

    全文检索:倒排索引(全文检索) ——> 用户提问转换为向量 ——> 检索 获得相关文本

 第二步:

     权重:对全文检索、RAG检索的结果,分别给对应的权重,然后计算所有涉及文本的权重信息,排序取权重大于阈值的文本

    排序:对全文检索、RAG检索的结果混合后,根据相关性 重新排序,取排名考前的文本

    

1.2 知识库创建

① 选择数据源

点击dify 最上方 知识库,点击创建知识库

进入知识库创建页面,选择数据源,选择导入已有文本。目前文本支持多种数据类型TXT、 MARKDOWN、 MDX、 PDF、 HTML、 XLSX、 XLS、 DOCX、 CSV、 MD、 HTM

选择好本地文档后,点击下一步。

② 分段模式——regflow

        通用模式:按照用户自定义的规则将内容拆分为独立的分段。当用户输入问题后,系统自动分析问题中的关键词,并计算关键词与知识库中各内容分段的相关度。根据相关度排序,选取最相关的内容分段并发送给 LLM,辅助其处理与更有效地回答。

        父子分段:父分段、子分段

                父分段:提供上下文

                子分段:匹配查询

③ 索引方法

经济模式:在经济模式下,每个区块内使用 10 个关键词进行检索,降低了准确度但无需产生费用。对于检索到的区块,仅提供倒排索引方式选择最相关的区块。

高质量索引:使用 Embedding 嵌入模型将已分段的文本块转换为数字向量,帮助更加有效地压缩与存储大量文本信息;使得用户问题与文本之间的匹配能够更加精准

④ 检索方法

经济索引:仅提供倒排索引方式,倒排索引仅支持 TopK 设置项。用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整片段数量。系统默认值为 3 。数值越高,预期被召回的文本分段数量越多。

高质量索引:在高质量索引方式下,Dify 提供向量检索、全文检索与混合检索设置:

⑤ 召回测试:知识库搭建完成之后效果验证,模拟用户输入问题之后,是否会调用知识库并检索出内容返回给LLM

2、Dify接入外部知识库

2.1 RAGFlow简介

2.1.1 Dify知识库的不足

        Dify中的RAG一直被诟病,它的知识库设置不够丰富和灵活,对于不同形式的文档上传,尤其是pdf扫描版,上传识别效果不好,知识库根本回答不了PDF内的内容。为了解决这这些Dify提供了外部知识库API,这样就可以连接到 Dify 之外的知识库并从中检索知识。

2.1.2 什么是RAGFlow

        作用:主要用于在建立知识库时对文本进行分段使用

        主要思想:一款基于深度文档理解(deepdoc)构建的开源 RAG引擎。由两个组成部分:视觉处理和解析器。其中视觉处理是通过OCR,布局识别,表结构识别来完成图像,PDF,表格的识别的。针对PDF、DOCX、EXCEL和PPT四种文档格式,都有相应的解析器。

2.1.3 本地部署环境要求

安装包镜像完整下载下来,体积非常大,环境要求如下:

  • CPU >= 4 核
  • 运行内存= 16 GB
  • 硬盘 >= 50 GB
  • Docker >= 24.0.0 & Docker Compose>= v2.26.1

2.2 RAGFlow的安装方法

1 到github下载项目源码

地址如下:

https://www.github.com/infiniflow/RAGFlow

2 修改配置

因为dify的原因,接下来我们需要修改两个配置:

  • web访问端口
  • redis配置

由于前面我们已经安装了Dify项目,这两个项目都依赖了redis,且web端的端口都是默认80端口,因此,为了避免冲突,我们需要修改配置文件。

修改web访问默认端口

修改文件位置:docker目录下的docker-compose文件

修改redis配置

修改.env文件

修改docker-compose-base.yml文件

4 启动服务

进入docker目录,右键打开命令行:

输入命令:

docker compose up -d

时间比较久,需要大家耐心等待。

运行成功:

5 打开浏览器访问

由于前面,我们把web端口设置为了8880端口,docker镜像拉取后,等待容器启动完成,在浏览器输入:127.0.0.1:8880 即可访问

至此,RAGFlow就安装完成了,注册完成后主页面如下:

6 模型配置

设置系统默认模型:

2.3 RAGFlow 创建知识库

知识库创建

创建好知识库,点击RAGFlow 创建知识库。

上传文件

我们点击新增加文件。上传我们要解析的私有化知识库文档,然后点击解析完成文档向量化。

可以单个文件解析,也可以批量解析,大家可以根据自己的需要选择使用,解析完成后可进行

分片方式

进入模型设置界面 选择好嵌入模型和解析方法

  1. General 支持的文件格式为DOCX、EXCEL、PPT、IMAGE、PDF、TXT、MD、JSON、EML、HTML。 此方法将简单的方法应用于块文件:系统将使用视觉检测模型将连续文本分割成多个片段。
  2. Q&A 支持 excel 和 csv/txt 文件格式。 如果文件是 excel 格式,则应由两个列组成 没有标题:一个提出问题,另一个用于答案, 答案列之前的问题列。多张纸是只要列正确结构,就可以接受。 如果文件是 csv/txt 格式 以 UTF-8 编码且用 TAB 作分开问题和答案的定界符。
  3. Resume 支持的文件格式为DOCX、PDF、TXT。 简历有多种格式,就像一个人的个性一样,但我们经常必须将它们组织成结构化数据,以便于搜索。 我们不是将简历分块,而是将简历解析为结构化数据。 作为HR,你可以扔掉所有的简历, 您只需与'RAGFlow'交谈即可列出所有符合资格的候选人。
  4. Manual 仅支持PDF。 我们假设手册具有分层部分结构。 我们使用最低的部分标题作为对文档进行切片的枢轴。 因此,同一部分中的图和表不会被分割,并且块大小可能会很大。
  5. Table 支持EXCEL和CSV/TXT格式文件。
  6. Paper 仅支持PDF文件。 如果我们的模型运行良好,论文将按其部分进行切片,例如摘要、1.1、1.2等。 这样做的好处是LLM可以更好的概括论文中相关章节的内容, 产生更全面的答案,帮助读者更好地理解论文。 缺点是它增加了 LLM 对话的背景并增加了计算成本, 所以在对话过程中,你可以考虑减少‘topN’的设置。
  7. Book 支持的文件格式为DOCX、PDF、TXT。 由于一本书很长,并不是所有部分都有用,如果是 PDF, 请为每本书设置页面范围,以消除负面影响并节省分析计算时间。
  8. Laws 支持的文件格式为DOCX、PDF、TXT。 法律文件有非常严格的书写格式。 我们使用文本特征来检测分割点。 chunk的粒度与'ARTICLE'一致,所有上层文本都会包含在chunk中。

这里需要注意的是, ragflow还支持知识图谱功能,开启后,系统将基于大模型自动提取知识图谱。开启后,可以很好的提关系查询的效果:

2.4 RAGFlow 知识库调式

聊天窗口界面

聊天窗口配置有3个选项面板(助理设置、提示引擎、模型设置)

助理设置,这里最关键就是 填写助理姓名和选择指定的知识库

提示引擎 如果大家没有 Rerank模型 可以默认不选。

模型设置,这里需要填写选择一个LLM大语言模型作为推理模型使用。

以上设置完成后就可以进行聊天对话了——验证知识库是否生效

2.5 RAGFlow API 设置

 获取API

点击系统右上角,选择 API

获取IP

API 服务器 显示RAGFlow 对外提供的IP, 我的显示是http://127.0.0.1:8880!

获取API key

点击上面key生成RAGFlow 对外提供的API

下面就是RAGFlow 对外提供的HTTP 请求API接口文档

2.6 dify配置外部知识库

dify配置外部知识库

dify 工作流管理界面,点击上面知识库。点击链接外部知识库。

配置API

击右边的外部知识库API 先把外部知识库API 配置好。

这里我需要添加3个值:

  1. name :随便写一个名字
  2. API Endpoint 这个就是和RAGFlow 整合的地址。RAGFlow 对外提供的是192.168.xx.xx 这里填写http://192.168.XX.XXX:9380/api/v1/dify

  3. api key 就是上面RAGFlow-开头的api KEY

这里的 API Endpoint 的 IP 地址一定是要宿主机网卡上的 IP 地址,不要用 127.0.0.1 或 localhost

连接知识库

这个外部知识库 ID 如何获取呢?我们回到RAGFlow 知识库页面,从url中获取:

点击链接,完成RAGFlow和dify的链接

到这dify 和RAGFlow已经连接好了。

三、Dify平台项目案例—智能法律助手

1. 业务流程

2. 技术选型

考虑到资费数据在本地存储业务数据库,以及用户的网站部署在本地,而用户的需求又是把对话机器人嵌入到主页。所以:

  • Saas版Coze:无法访问本地业务数据库,不支持对话机器人嵌入到主页,排除
  • langgraph:考虑到用户项目的复杂度和预算,使用langgraph性价比较低.
  • Dify:可以满足需求

3. 模块介绍

分为以下几个模块:

  1. 法律咨询:用户通过和机器人对话,实现法律条文的查询

  2. 案件分析:支持用户通过文字描述或者上传文件的方式,基于法律条文分析案件

  3. 合同分析:支持合同分析,能够根据用户上传的合同附近判断是否存在风险点

  4. 资费查询:咨询和计算律所的律师费价格区间

4. 具体实现

4.1 法律咨询模块

对于法律咨询模块,具体流程如下:

4.1.1 查询改写

查询改写这一步的目的是为了让用户输入的自然语言更便于进行知识库查询,以便能有更好的效果, 如下:

系统提示词:

你是一个法律条文查询助手,能够根据用户的提问进行优化,转化成更适合查询知识库的问题

用户提示词:

用户输入: {{#sys.query#}}

这里可以开启“记忆”,让查询改写节点拥有更多的上下文,从而生成更好的query。

4.1.2 法律条文检索

查询知识库,得到法律条文:

因为我们这里的场景就是查询法律条文原文并返回给用户,所以不宜返回太多内容。所以在这里我们开启rerank

4.1.3 检索结果优化

拿到了知识库的内容以后,就可以结合用户的问题进行结果优化了。

系统提示词:

你是一个法律咨询助手,能够根据用户的提问和从知识库里查询出来的结果回答用户。需要注意,回答用户问题的时候,先直接给出结论,再给出对应的法律原文依据

用户提示词:

用户的问题: {{#sys.query#}}

知识库: {{#context#}}

在这里我们可以开启记忆,让效果更好。

4.1.4 输出法律条文

具体内容:

{{#1763643919240.text#}}

以上分析内容来自律所智能大脑,如果您有进一步的需求,建议您联系律所获取专业的咨询建议,电话:400-33334444

4.2 合同分析模块

4.2.1 合同内容读取

通过文件读取案件内容

4.2.2 法律条文查询提取

系统提示词:

你是一个法律专家,能够根据用户上传的合同内容拆分出对应的法律条文对应的查询条件,接下来我将进行知识库的查询。

用户提示词:

用户当前输入: {{#sys.query#}}

合同: {{#1763389349959.text#}}

4.2.3 法律条文检索

同样的,召回10条:

4.2.4 合同分类

因为不同的合同关注的点不同,所以在这里,我们需要划分不同的场景。

因为律所擅长的就是劳动合同和技术服务类的,所以这两类单独处理。

4.2.5 合同审核

对于系统提示词,每个合同审核各不相同:

劳动合同审核:

# 角色
你是一名资深劳动法律师,专注于帮助企业审查劳动合同的合规性,规避用工法律风险。

# 审查背景
- **合同类型**:劳动合同
- **我方立场**:[用人单位/劳动者]
- **核心诉求**:[例如:确保合同完全合法,避免劳动争议;或,确保劳动者核心权益得到保障]

# 指令与工作流
1.  **首要步骤**:首先,核对合同是否包含《劳动合同法》第十七条规定的所有必备条款。
2.  **重点审查**:针对以下关键领域进行深入分析,并依据最新《劳动合同法》及相关司法解释给出判断:
    -   **试用期**:期限是否符合第十九条上限规定,工资是否不低于第八十条的标准。
    -   **工作地点与岗位调整**:条款是否过于宽泛,是否赋予了单位单方面无限调整权。
    -   **劳动报酬**:是否明确规定了工资构成、支付时间、加班费计算基数。
    -   **解除条件**:约定的解除条件是否合法,经济补偿金(N)、赔偿金(2N)的计算方式是否清晰。
    -   **保密与竞业限制**:竞业限制补偿金是否有明确约定,标准是否合理。
3.  **缺失项分析**:明确指出缺失的必备条款及其潜在法律风险。

# 输出格式
请按以下结构提供**结构化审查报告**:
-   **一、总体评价**:对合同的合法性、公平性给出初步结论。
-   **二、分项分析与修改建议**:以表格形式列出,包含“问题条款”、“风险等级(高/中/低)”、“法律依据”、“风险分析”、“修改建议文本”。
-   **三、核心风险摘要**:总结最重要的3-5个风险点。
-   **四、谈判策略建议**:根据我方立场,提供谈判要点。

# 约束条件
-   严禁编造不存在的法条。所有判断必须有明确的法律依据,并注明出处,例如“根据《劳动合同法》第XX条”。 
-   若某些条款的合法性存在普遍争议,应予以提示,并建议“此事项建议咨询执业律师以获取最终意见”。
-   以下文提供的法律条文为主

技术服务合同审核:


# 角色
你是一家科技公司的法务顾问,负责审查技术服务协议,以控制风险、保障项目顺利交付。

# 审查背景
- **合同类型**:技术服务协议
- **我方立场**:[服务委托方/服务提供方]
- **交易背景**:[简要描述项目内容与合作背景]

# 指令与工作流
1.  **范围与交付物**:审查“工作范围”(SOW)和“交付物”是否描述得清晰、具体、可量化、可验证。
2.  **知识产权条款**:这是审查的重中之重。必须明确约定:
    -   背景知识产权和项目执行中产生的知识产权(前景知识产权)的归属。
    -   建议的归属原则(例如,委托方付费开发的,前景知识产权归委托方所有)。
    -   双方的使用许可范围、期限和地域[6](@ref)。
3.  **付款条件**:审查付款节点是否与项目关键里程碑(如需求评审、初验报告、终验报告)强关联,以控制付款风险。
4.  **保密与合规**:审查保密信息的定义是否合理,保密期限是否明确,是否涉及数据安全与个人信息保护的合规要求。
5.  **违约责任与责任限制**:分析违约责任条款是否对等,责任上限(如最高不超过合同总价款的XX%)是否合理。

# 输出格式
请按以下结构提供**结构化审查报告**:
-   **一、总体风险评估**:概括合同的主要风险和友好度。
-   **二、关键条款深度剖析**:重点针对“知识产权”、“付款方式”、“验收标准”、“违约责任”等条款,分析其潜在风险、商业合理性和修改建议。
-   **三、谈判优先级清单**:将风险分为“必须修改”、“建议修改”和“可接受”三类,并提供谈判话术。

# 约束条件
-   分析应基于《民法典》合同编及相关司法解释,但更应侧重商业实践的合理性与风险控制。
-   提供的修改建议应具可操作性,并给出修改后的范例文本。
-   以下文提供的法律条文为主

通用合同审核:

# 角色
你是一名擅长设计风险隔离方案的法律风险控制专家。

# 审查背景
- **协议类型**:兜底协议
- **我方立场**:[委托方(甲方)/兜底方(乙方)]
- **兜底背景**:[简述需要兜底的业务、事项及存在的核心风险]

# 指令与工作流
1.  **明确兜底范围**:审查“兜底事项”的描述是否绝对清晰、无歧义。避免使用概括性语言,应尽可能列举具体情形
2.  **触发条件**:审查兜底责任触发的条件是否明确、客观、可验证(如“当XX事件发生且经双方书面确认后”)。
3.  **责任限度**:审查兜底方承担的责任是连带责任还是一般补充责任?责任金额是否有上限(如“以XX为限”)?
4.  **权利义务对等**:审查协议是否赋予了兜底方相应的核查权、知情权以及履行兜底责任后的追偿权。
5.  **效力与冲突**:判断本协议的效力,以及当本协议与主合同约定冲突时,以何者为准。

# 输出格式
请按以下结构提供**结构化分析报告**:
-   **一、协议效力评估**:分析本协议在法律上的有效性和可执行性。
-   **二、核心条款风险提示**:逐条分析“兜底事项”、“触发条件”、“责任限制”等条款存在的模糊之处或潜在漏洞。
-   **三、修订建议与文本**:对高风险条款提供具体的修改建议和改写后的文本。

# 约束条件
-   重点提示兜底方可能面临的无限责任风险。
-   强调协议的明确性,避免因约定不明被视为无效。
-   以下文提供的法律条文为主

用户提示词,则都是一致的:

用户的案情: {{#1763389349959.text#}}

用户提供的输入: {{#sys.query#}}

法律条文: {{#context#}}

4.2.6 输出审核结果

内容如下:

{{#llm.text#}}{{#17633898771260.text#}}{{#1763396670831.text#}}

以上分析内容来自律所智能大脑,建议您联系律所获取专业的咨询建议,电话:400-33334444

4.3 案件分析模块

整体流程如下:

4.3.1 案件内容读取

首先判断用户是否是通过文档的形式上传的案件内容,基于文档提取器,获取用户上传的文档

4.3.2 代码节点

代码节点合并案件内容和用户需求:

代码实现:

ef main(text: str, query: str):
    if text:
        return {
            "result": text + query,
        }
    return {
        "result": query,
    }

4.3.3 法律条文查询提取

通过大模型,判断案件,获取查询法律条文的query

系统提示词:

你是一个法律专家,能够根据用户上传的案例内容和用户的输入拆分出对应的法律条文对应的查询条件,接下来我将进行知识库的查询。

用户输入:

用户输入:
{{#sys.query#}}
用户上传的案例:
{{#17639915148840.text#}}

4.3.3 法律条文检索

通过知识库检索节点,进行法律条文检索:

这里可供参考的内容越多越好:

4.3.4 案情分析

基于大模型+上下文,分析案情:

系统提示词:


你是一名专业的案情分析专家,名为“案理”。请遵循以下核心原则处理用户输入的案情:
一、核心定位

角色:专业、中立、严谨的法律分析助手,专注于梳理案件事实、识别争议焦点、结合法律条文进行分析。

目标:为用户提供结构化、有逻辑、有依据的案情分析报告,辅助决策。

底线:

所有分析需严格基于用户提供的案件材料和法律条文,不臆断或虚构。

不替代律师提供正式法律意见,不预测判决结果。

如信息不足或存在矛盾,需明确说明局限性。
二、输入与输出规范
1.
输入来源:

用户查询:用户的具体分析需求(例如“分析本案的争议焦点”)。

案例材料:用户上传的案件全文(如判决书、事实描述等)。

参考法律条文:用户提供的相关法条或背景信息。
2.
输出结构(按此顺序组织报告):

1. 案件基本信息:提炼当事人、案由、时间、核心事实等关键要素。

2. 争议焦点:归纳案件的核心争议点(如法律适用、证据有效性等)。

3. 事实与证据分析:梳理法律事实,评估证据链的完整性。

4. 法律适用分析:结合法律条文,分析行为性质、法律责任及可能后果。

5. 综合结论与建议:总结分析意见,并提出后续行动方向(如取证重点、诉讼策略等)。
三、分析与表达要求

语言风格:使用专业、清晰的法律语言,避免“我认为”等主观表述。关键结论可加粗突出。

引用规范:法律条文需注明名称和条款序号,分析需注明依据(如“根据案件材料第X段……”)。

风险提示:如发现信息矛盾、法律依据不足或案件存在重大风险,需单独说明。

用户提示词:

用户输入: {{#sys.query#}}

用户上传的案例: {{#17639915148840.text#}}

参考法律条文: {{#context#}}

开启记忆能力,提升检索效果:

4.3.5 输出案情分析结果

输出案情分析的结果:

内容如下:

{{#1763994871711.text#}}

以上分析结果来自律所智能大脑,仅供参考,建议您联系律所获取专业的咨询建议,电话:400-33334444

4.4  资费查询模块
安装数据库查询插件

准备好mysql数据库实例,并运行建表语句

CREATE DATABASE law_assistant; USE law_assistant; CREATE TABLE legal_service_pricing ( service_id INT AUTO_INCREMENT PRIMARY KEY, service_name VARCHAR(255) NOT NULL, service_description TEXT, price DECIMAL(10, 2) NOT NULL, billing_unit ENUM('按小时', '按次', '按项目') NOT NULL, lawyer_id INT NOT NULL, is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );

插入价格数据:

INSERT INTO legal_service_pricing (service_name, service_description, price, billing_unit, lawyer_id) VALUES
('初次法律咨询', '针对一般法律问题的初步分析和建议(每小时)', 800.00, '按小时', 101),
('合同审查(标准)', '对标准商业合同进行合规性与风险审查(按次)', 2500.00, '按次', 102),
('民事诉讼一审代理', '代理普通民事纠纷案件的一审程序(全案)', 30000.00, '按项目', 105),
('商标注册申请', '国内商标查询、材料准备及提交代理服务', 3800.00, '按项目', 104),
('定制协议起草', '根据需求起草专项法律协议(每小时)', 1200.00, '按小时', 101),
('公司股权激励方案设计', '设计并制定员工股权激励计划方案', 25000.00, '按项目', 106),
('律师函出具', '就特定事务起草并发出正式律师函', 1500.00, '按次', 103),
('劳动争议仲裁代理', '代理用人单位或员工参与劳动仲裁程序', 12000.00, '按项目', 107),
('刑事案件侦查阶段辩护', '在公安侦查阶段为犯罪嫌疑人提供辩护', 20000.00, '按项目', 108),
('尽职调查(基础)', '针对中小规模企业的基础法律尽职调查', 18000.00, '按项目', 106),
('个人遗嘱起草与公证', '协助起草个人遗嘱并提供公证指引', 1000.00, '按次', 109),
('知识产权侵权维权', '针对商标、专利等侵权行为的初步维权措施', 9000.00, '按项目', 104),
('债务催收服务', '通过非诉讼方式进行商业债务催收', 4500.00, '按项目', 110),
('法律顾问服务(月度)', '提供月度日常法律咨询及简单文件审阅', 5000.00, '按小时', 102),
('离婚协议协商与起草', '协助协商并起草离婚相关法律协议', 6000.00, '按项目', 109),
('数据合规方案辅导', '帮助企业初步建立数据合规框架', 15000.00, '按项目', 111),
('上诉状起草', '针对一审判决起草民事上诉状', 4000.00, '按次', 105),
('商业秘密保护制度构建', '协助企业制定内部商业秘密保护制度', 22000.00, '按项目', 111),
('房产买卖合约审阅', '审阅商品房或二手房买卖相关合同', 2000.00, '按次', 112),
('投资条款清单(Term Sheet)分析', '对投资条款清单的关键风险点提供分析意见', 3500.00, '按次', 106);

数据库查询模块

数据库属性:

charset=utf8mb4&collation=utf8mb4_0900_ai_ci

SQL查询语句:

select * from legal_service_pricing where 1=1
4.5 编排和部署
4.5.1 设置开场白

开场白:

你好,我是“明德同学”智能助手,借助律所的法律智能大脑打造。在这里您可以让我咨询法律法规、 进行案情分析、分析合同,也可以咨询律所的资费。有什么不懂的,请致电:400-33334444

4.5.2 将聊天机器人嵌入前端

物料中的:index.html,就是我们“明德律师事务所”的前端页面。 在实际工作中,它以前端代码的方式存在于服务器上进行部署,我们这里为简化流程, 使用本地html文件模拟。

首先,对于我们已经发布的工作流,点击左侧按钮,按照下图依次操作,得到嵌入的js代码:

打开index.html的源码,并粘贴到对应位置:

5. 运行项目

打开网页,在右下角的机器人中输入问题后,效果如下:

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐