1.98.4

14:17:12看起来模型性能不行,前面两个为啥user是空的?也是导入的时候出现的吗?

是的,deepseek-r1-8b

不要用deepseek-r1因为它回答问题可能强一些,但是格式化提取不行.不知道为啥原因,可能是思考训练问题?
另外deepseek-r1 8b是llama3.3微调的中文不行,平时用应该用7b
提取的话可以试试qwen2.5:7b

另外可以用一个简单的实例测试提取是否正常.找一个文件保存如下内容然后解析

张三的朋友是李四

一般会提取出两个节点,一个联系

我把模型改成qwen2.5:7b,也没有知识图谱

提示词是类似这样的吗?

  messages:
    - role: system
      content:
        - type: text
          text: |+
            ## 角色

            - 你是一个自然语言处理专家
            - 你拥有从文章中准确提取出三元组的技能

            ## 目标

            - 根据输入的`实体类型`和`文本`内容,从`文本`中识别所有符合`实体类型`的`实体`,并确定它们之间的关系
            - 需要识别`实体`,`实体联系`,`关键词`并按照指定格式返回

            ## 说明

            ### 1. 实体

            #### 提取信息

            - entity_name: 实体名称
            - entity_type: 实体类型,根据输入规定
            - entity_description: 对实体属性和活动的准确描述

            #### 格式

            ```yaml
            entity:
              - name: <entity_name>
                type: <entity_type>
                description: <entity_description>
            ```

            ### 2. 实体联系

            - 从步骤1中识别出的所有实体中,找出所有明确相关的`实体联系`

            #### 提取信息

            - source_entity: 在步骤1中识别的来源实体名称
            - target_entity: 在步骤1中识别的目标实体名称
            - relationship_description: 解释为什么认为源实体和目标实体之间存在关系
            - relationship_strength: 一个数值分数,表示源实体与目标实体之间的关系强度.0为最低,10为最高
            - relationship_keywords: 一到多个高层次关键词,总结整体关系的性质,侧重于抽象概念或主题而非具体细节.使用`,`分隔

            #### 格式

            ```yaml
            entity_relation:
              - source: <source_entity>
                target: <target_entity>
                description: <relationship_description>
                strength: <relationship_strength>
                keywords: <relationship_keywords>
            ```

            ### 3. 关键词

            - 识别整个文本的主要概念、主题或话题的高层次`关键词`。这些应捕捉文档中存在的总体思想。

            #### 提取信息

            - content_keywords: 整个文本的主要概念、主题或话题的高层次关键词

            #### 格式

            ```yaml
            keyword:
              - <content_keywords>
            ```

            ## 输出

            - 将`实体`,`实体联系`,`关键词`提取的数据写入到一个`yaml`中,然后直接输出,不用做总结

            ---

            ## 举例

            ### 例子1

            #### 输入

            ```yaml
            entity_type:
              - 人物
              - 事件
              - 地点
              - 物品
            text: 孔乙己是站着喝酒而穿长衫的唯一的人。他身材很高大;青白脸色,皱纹间时常夹些伤痕;一部乱蓬蓬的花白的胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。他对人说话,总是满口之乎者也,教人半懂不懂的。因为他姓孔,别人便从描红纸上的“上大人孔乙己”这半懂不懂的话里,替他取下一个绰号,叫作孔乙己。孔乙己一到店,所有喝酒的人便都看着他笑,有的叫道:“孔乙己,你脸上又添上新伤疤了!”他不回答,对柜里说:“温两碗酒,要一碟茴香豆。”便排出九文大钱。他们又故意的高声嚷道:“你一定又偷了人家的东西了!”孔乙己睁大眼睛说:“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你偷了何家的书,吊着打。”孔乙己便涨红了脸,额上的青筋条条绽出,争辩道:“窃书不能算偷……窃书!……读书人的事,能算偷么?”接连便是难懂的话,什么“君子固穷”,什么“者乎”之类,引得众人都哄笑起来;店内外充满了快活的空气。
            ```

            #### 输出

            ```yaml
            entity:
              - name: 孔乙己
                type: 人物
                description: 孔乙己是站着喝酒而穿长衫的唯一的人。他身材很高大;青白脸色,皱纹间时常夹些伤痕;一部乱蓬蓬的花白的胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。他对人说话,总是满口之乎者也,教人半懂不懂的。

              - name: 上大人
                type: 人物
                description: 因为他姓孔,别人便从描红纸上的“上大人孔乙己”这半懂不懂的话里,替他取下一个绰号,叫作孔乙己。

              - name: 长衫
                type: 物品
                description: 他身材很高大;青白脸色,皱纹间时常夹些伤痕;一部乱蓬蓬的花白的胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。

              - name: 茴香豆
                type: 物品
                description: 要一碟茴香豆

              - name: 喝酒的人
                type: 人物
                description: 孔乙己一到店,所有喝酒的人便都看着他笑

              - name: 何家的书
                type: 物品
                description: 我前天亲眼见你偷了何家的书,吊着打。
            entity_relation:
              - source: 孔乙己
                target: 上大人
                description: 因为他姓孔,别人便从描红纸上的“上大人孔乙己”这半懂不懂的话里,替他取下一个绰号,叫作孔乙己。
                strength: 10
                keywords: 绰号

              - source: 长衫
                target: 上大人
                description: 穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。
                strength: 8
                keywords: 衣着

              - source: 孔乙己
                target: 喝酒的人
                description: 因为孔乙己一到店,所有喝酒的人都看着他笑
                strength: 6
                keywords: 注意,嘲笑

              - source: 孔乙己
                target: 茴香豆
                description: 孔乙己便排出九文大钱。要一碟茴香豆。
                strength: 4
                keywords: 饮食

              - source: 孔乙己
                target: 何家的书
                description: 我前天亲眼见你偷了何家的书,吊着打。
                strength: 8
                keywords: 偷窃,惩罚
            keyword:
              - 嘲笑
              - 偷窃
              - 读书人
              - 小人物
              - 尊严
              - 嘲讽
            ```

            ### 例子2

            #### 输入

            ```yaml
            entity_type:
              - 人物
              - 法宝
              - 地理
              - 事件
            text: 话言哪吒战住了魔礼海,把枪架开,随手取出乾坤圈使在空中,要打魔礼海。魔礼红看见,忙忙跳出阵外,把混元珍珠伞撑开一愰,先收了哪吒的乾坤圈去了。金吒见收兄弟之宝,忙使遁龙桩,又被收将去了。
            ```

            #### 输出

            ```yaml
            entity:
              - name: 哪吒
                type: 人物
                description: 哪吒战住了魔礼海,把枪架开,随手取出乾坤圈使在空中,要打魔礼海。
              - name: 魔礼海
                type: 人物
                description: 魔礼海被哪吒战住,哪吒准备用乾坤圈攻击他。
              - name: 乾坤圈
                type: 法宝
                description: 哪吒随手取出乾坤圈使在空中,要打魔礼海。
              - name: 魔礼红
                type: 人物
                description: 魔礼红看见哪吒的乾坤圈,忙跳出阵外,用混元珍珠伞收走了乾坤圈。
              - name: 混元珍珠伞
                type: 法宝
                description: 魔礼红使用混元珍珠伞先收了哪吒的乾坤圈。
              - name: 金吒
                type: 人物
                description: 金吒见兄弟之宝被收,忙使遁龙桩,也被收走了。
              - name: 遁龙桩
                type: 法宝
                description: 遁龙桩是金吒用来对抗混元珍珠伞的法宝。

            entity_relation:
              - source: 哪吒
                target: 魔礼海
                description: 哪吒准备用乾坤圈攻击魔礼海。
                strength: 8
                keywords: 攻击,战斗

              - source: 哪吒
                target: 乾坤圈
                description: 哪吒使用乾坤圈对抗魔礼海。
                strength: 10
                keywords: 使用,法宝

              - source: 魔礼红
                target: 混元珍珠伞
                description: 魔礼红使用混元珍珠伞收走了哪吒的乾坤圈。
                strength: 10
                keywords: 使用,收走,法宝

              - source: 魔礼红
                target: 哪吒
                description: 魔礼红收走了哪吒的乾坤圈,阻止了哪吒攻击魔礼海。
                strength: 8
                keywords: 干扰,战斗

              - source: 金吒
                target: 哪吒
                description: 金吒见兄弟之宝被收,忙使遁龙桩。
                strength: 6
                keywords: 关注,保护

              - source: 金吒
                target: 遁龙桩
                description: 金吒使用遁龙桩对抗魔礼红。
                strength: 8
                keywords: 使用,法宝

            keyword:
              - 战斗
              - 攻击
              - 法宝
              - 干扰
              - 保护
            ```

    - role: user
      content:
        - type: text
          text: |
            entity_type:
              - 人物
              - 事件
              - 地点
              - 组织
            text: 张三的朋友是李四
    - role: assistant
      content:
        - type: text
          text: |-
            ```yaml
            entity:
              - name: 张三
                type: 人物
                description: 张三是文本中提到的人物,朋友是李四。
              - name: 李四
                type: 人物
                description: 李四是张三的朋友。

            entity_relation:
              - source: 张三
                target: 李四
                description: 张三的朋友是李四。
                strength: 10
                keywords: 友谊

            keyword:
              - 友谊
            ```
  


您可以点击这里

然后打开文件,查看下调用时到底用了什么 7b的话应该是正常的(至少我时来那么多次demo没有失败的


为啥这里还是deepseek模型

我手动改成qwen,重新创建知识库,上传文件还是没有知识图

刚才让你打开的地方是对话历史,改那里没用的,你需要改这里settings.json

  "shenghuabi.chat": {
        //  "model": "qwen2.5-coder:32b-instruct-q2_K",
        "model": "qwen2.5:7b",
        "temperature": 0.1,
        "topP": 0.8,
        "maxTokens": 8192,
        "baseURL": "http://127.0.0.1:11434/v1",
        "vendor": "openai"
    },


这里我更换模型的时候,自动就更改了

重启后解析还是deepseek-r1?
那么请您看看解析用的工作流,是不是配置被写死了?


不是,现在所有的模型qwen2.5了,但是还是没有知识图谱。我也重启了电脑,也是这样

您确认这里已经修改了吗?注意我框的配置路径.ShengHuaBi\settings.json,因为有两个配置文件,一个是全局配置文件,一个是工作区配置文件,所以您两个都需要检查下,默认是工作区配置文件优先级高于全局生效

另外您可以直接对话,然后查看对话历史,看看使用的是什么模型,正常情况下直接对话的话就是读的配置,所以可以检测对话配置是否正常


能改的地方我都改了


这是什么原因

应该是它解析的问题.

抱歉,给您添麻烦了,我加调试后,然后再更新一个版本,然后您再执行看看具体问题在哪

太客气了,博主才是辛苦。这个只有用起来才能发现问题,都希望这个软件越来越好。

最新版本(1.98.7)已经更新

  1. 对话
  2. 打开对话日志
  3. 查看这个配置(复制反馈)


是这个吧

对话没问题,您可以试试知识库提取