AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


BigModel大气!大模型进入免费时代
发布日期:2024-09-09 20:00:43 浏览次数: 1841 来源:NLP前沿


最新消息,智谱AI的BigModel开放平台,继上一波开源cogvideo x,又将GLM4-Flash模型免费对大家开放。

GLM4-Flash 新的免费版本特性:

  • 对新用户限制在单个用户2个并发
  • 支持128k上下文
  • 支持函数调用,网页检索等功能
  • 生成速度达72.14token/s,约等于115字/s

官方宣传的是,预训练了10T的高质量语料。具备优秀的推理,信息抽取,生成能力。

调用示例: (api_key可以在智谱的BigModel开放平台获取,或阅读原文链接直达!)

from zhipuai import ZhipuAI
client = ZhipuAI(api_key=""# 填写自己的APIKey
response = client.chat.completions.create(
    model="glm-4-flash",
    messages=[
        {"role""user""content""你好"}
    ],
)
print(response.choices[0].message)

刚好为了蹭热度演示个东西,爬了一些黑神话的数据。做了一下GLM4-Flash图谱相关的挖掘试试看模型效果,整体的体验非常不错。在抽取能力方面,prompt遵循,结果的结构上都挺好的。

先用一篇资讯感受一下,源数据如下:

{"title""《黑神话悟空》变身技能怎么玩 变身技能获取玩法攻略"
"content""在《黑神话:悟空》的实机演示视频中,为我们演示了许多技能的效果,变身就是其中之一,并且
演示了两次。玩家“大写的维特”带来了《黑神话:悟空》变身技能介绍以及实际情况猜想,感兴趣的小伙伴就来看看吧。

![《黑神话:悟空》变身技能介绍](https://image.9game.cn/2020/8/24/171404101.jpg)

**《黑神话:悟空》变身技能介绍:**

演示提供的信息是击杀会掉落法宝的怪物,通过拾取法宝来获得的能力。

当然“猿”,可能是自带,差不多等于原始暴怒。

变身狼教头,获得其能>力,武器,攻击方式,技能,并回复血量。

可以推测,以后玩家通过击杀怪物能获得的法宝或者说变身道具应该不少(大爱)。

但是,玩家能携带的应该有限,只能从收藏中选几个携带。

而且,每>一章节每个变身只能使用一次(用完猿后没看到CD)。

或者说,在你拾取到一定数量的法宝之后,想再拾取你就必须舍弃前面拾取的。

[
![](https://media.9game.cn/gamebase/20230809/1/1/1e0607b83da04ea1906f874ab120e76f.jpg?x-oss-
process=image/resize,w_120,m_lfit)](https://www.9game.cn/hshwk/)
**[黑神话悟空](https://www.9game.cn/hshwk/)** 类型: _角色扮演_ 平台: _安卓_ 状>态: _运营_

安卓版下载 苹果版暂无下载"
}

Step 1:entity-extraction

GraphRAG的prompt中要求模型识别实体间的相关性,所以并不是常见的属性图,边表示为一句话。下图看起来整体问题不大,重要的关系都抽取出来了(框出来的部分),并且输出的json也都是可解析的。

Step 2:community-report

图谱聚类,得到社区。在GraphRAG中使用hierarchical_leiden,社区还会进一步聚类得到更高级别的抽象。下图看社区也没太大问题,因为就是一篇文章,所以概括的基本就是这篇文章的信息。

用更多的数据构造图谱,这里用到了200篇黑神话悟空的资讯,攻略。(没有用所有爬的数据,需要数据的可以后台私信)

使用GLM-4-Flash, 得到了1599个实体,200来个社区,社区之上聚类出了3个大社区。

INFO:[New Docs] inserting 200 docs
INFO:[New Chunks] inserting 245 chunks
INFO:Inserting 1599 vectors to entities
INFO:nano-graphrag:[Community Report]...
INFO:numexpr.utils:Note: detected 255 virtual cores but NumExpr set to maximum of 64, check "NUMEXPR_MAX_THREADS" environment variable.
INFO:numexpr.utils:Note: NumExpr detected 255 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
INFO:numexpr.utils:NumExpr defaulting to 8 threads.
INFO:Each level has communities: {0: 31, 1: 122, 2: 77}
INFO:Generating by levels: [2, 1, 0]

图谱用pyvis可视化,内容比较多,只贴一小部分啦。

一些社区的报告生成示例,一般随便瞅瞅结果,能看出明显的社区之间差异,说明抽取的基础还不错。

"report_string""# 黄风岭地图与六字显真十七难\n\n本社区以游戏《黑神话:悟空》中的黄风岭地图为中心,黄风岭地图内包含了特定的任务和挑战,其中最引人注目的是六字显真十七难成就。社区中涉及的角色和事件都与这一成就的完成紧密相关。\n\n## 黄风岭地图的地形与任务设计\n\n黄风岭地图是《黑神话:悟空》中的一个关键地图,其地形和任务设计对玩家的游戏体验至关重要。玩家需要通过完成六字显真十七难成就来克服地图中的各种挑战,这反映了地图的复杂性和重要性。\n\n## 石敢当在游戏中的角色\n\n石敢当是黄风岭地图中的一个关键角色,玩家需要复活他以完成六字显真十七难成就。石敢当的存在和其与地图及任务的关系,对理解游戏剧情和玩家任务至关重要。\n\n## 六个佛像的寻找对成就的影响\n\n六个佛像的寻找是六字显真十七难成就的重要组成部分。玩家必须找到这些佛像并满足特定条件,才能完成成就。这增加了游戏的可探索性和难度,对玩家体验有显著影响。\n\n## 六字显真十七难成就的挑战性\n\n六字显真十七难成就的难度较高,需要玩家具备较高的技巧和策略。这一成就的设置和挑战性,反映了游戏设计者对玩家技能和耐心的要求,对游戏的整体评价有重要影响。\n\n## 游戏剧情与地图、任务和成就的关联\n\n黄风岭地图、石敢当、六个佛像以及六字显真十七难成就都与游戏剧情紧密相连。这些元素共同构成了游戏的一个关键章节,对玩家的沉浸感和游戏体验有深远影响。"

 "report_string""# 超采样清晰度技术社区\n\n本社区围绕超采样清晰度技术展开,涉及游戏画质优化、游戏性能测试、玩家体验以及屏幕分辨率等技术要素。社区内实体之间存在紧密的技术关联,共同影响游戏体验。\n\n## 超采样清晰度技术的定义和作用\n\n超采样清晰度是一种技术,用于提高游戏图像质量,但需要平衡清晰度和帧率。它是黑神话悟空性能测试软件中的一个设置,用于优化游戏画质。超采样清晰度与游戏画质紧密相关,对游戏体验有重要影响。\n\n## 游戏画质与玩家体验的关系\n\n游戏画质是影响游戏体验的一个因素,超采样清晰度设置与之相关。玩家可以通过降低游戏画质来解决CG闪退问题。游戏画质和玩家体验之间的紧密联系表明,游戏开发者需要平衡画质和技术性能,以满足玩家的需求。\n\n## 超采样清晰度与黑神话悟空的性能测试\n\n超采样清晰度是黑神话悟空性能测试软件中的一个设置,用于优化游戏画质。这表明超采样清晰度在游戏开发和测试过程中扮演重要角色,对游戏性能和玩家体验有直接影响。\n\n## 中等配置玩家与超采样清晰度设置的选择\n\n中等配置的玩家选择了67的超采样清晰度设置。这说明不同配置的玩家对画质和性能的需求不同,超采样清晰度设置需要根据玩家配置进行调整,以确保最佳游戏体验。\n\n## 屏幕分辨率对超采样清晰度设置的影响\n\n屏幕分辨率影响超采样清晰度设置的选择。根据屏幕分辨率选择合适的超采样清晰度设置以优化游戏画质。这表明在游戏开发过程中,需要考虑屏幕分辨率等因素,以提供最佳的画质和性能。\n\n## 超采样清晰度技术社区内实体之间的相互关联\n\n超采样清晰度技术社区内实体之间存在紧密的技术关联,如游戏画质、玩家体验、黑神话悟空性能测试等。这些实体相互影响,共同塑造了社区的技术环境。\n\n## 超采样清晰度技术对游戏产业的影响\n\n超采样清晰度技术对游戏产业有重要影响,它提高了游戏画质,改善了玩家体验。随着游戏技术的不断发展,超采样清晰度技术将继续在游戏产业中发挥重要作用。\n\n## 超采样清晰度技术面临的挑战和机遇\n\n超采样清晰度技术面临挑战,如如何平衡清晰度和帧率,以及如何满足不同配置玩家的需求。然而,这也带来了机遇,如推动游戏画质和性能的进一步发展。",
 
"report_string""# 《黑神话:悟空》游戏社区\n\n《黑神话:悟空》游戏社区围绕游戏中的主要角色和事件展开,包括白衣秀士、秀士、龙BOSS等角色,以及技能、战斗系统等游戏元素。社区成员通过分享游戏攻略和互动来增强社区凝聚力。\n\n## 白衣秀士作为游戏中的关键角色和BOSS\n\n白衣秀士是《黑神话:悟空》游戏中的一个重要BOSS,玩家需要通过不同的策略来击败他。他的存在增加了游戏的挑战性,并对玩家技能提出了更高的要求。白衣秀士与游戏攻略和技能的关系对于理解游戏社区至关重要。\n\n## 秀士作为游戏中的普遍角色类型\n\n秀士在游戏中可能代表一种角色类型或名称,与不同的技能和战斗系统相关联。秀士与游戏中的其他角色和事件的关系有助于揭示游戏世界的复杂性,并为玩家提供多样化的游戏体验。\n\n## 龙BOSS作为游戏中的一种强大敌人\n\n龙BOSS是游戏中的一种强大敌人,需要特定的打法技巧来击败。它与玩家互动的方式增加了游戏的挑战性,并促进了玩家之间的交流和合作。龙BOSS的存在对游戏社区的技能和策略讨论具有重要意义。\n\n## 技能在游戏中的作用\n\n技能是游戏中玩家或角色可以使用的重要能力,包括攻击、防御和特殊效果。技能的使用和掌握对于游戏成功至关重要,并促进了玩家之间的交流和游戏技巧的分享。\n\n## 战斗系统对游戏体验的影响\n\n战斗系统是游戏中的核心组成部分,包括棍法武艺、闪避等技能。新手玩家需要熟悉这些系统以在游戏中表现出色。战斗系统的设计和实现对于游戏社区的技能发展和交流有重要影响。\n\n## 游戏攻略的共享和讨论\n\n游戏攻略的共享和讨论是游戏社区的重要组成部分,它帮助玩家克服挑战,提高游戏技巧。攻略的分享促进了玩家之间的互动和社区的凝聚力。\n\n## 玩家与游戏环境的互动\n\n玩家与游戏环境的互动,如利用地形或障碍物减少伤害,对于游戏体验至关重要。这种互动促进了玩家之间的交流和策略讨论,丰富了游戏社区的多样性。\n\n## 数值条在游戏中的作用\n\n数值条,如生命值,是游戏中的重要参考指标,影响着玩家的决策和游戏策略。玩家需要了解这些数值的含义以及如何恢复它们,这促进了玩家之间的交流和合作。\n\n## 游戏中的道具和物品\n\n游戏中的道具和物品,如长枪、发光的罐子等,对游戏体验有直接影响。它们的使用和获取促进了玩家之间的交流和游戏技巧的分享。"

基于图谱的GraphRAG,这里也是用的GLM4-Flash,它的输出格式非常好的,基本上默认就是会markdown分点,视觉效果还行。

  • Q:有哪些重要主题?
### 关键元素与社区互动

《黑神话悟空》游戏社区中存在多个重要主题,其中最为关键的是游戏本身与玩家社区的互动。游戏的关键元素包括:

**游戏技能、角色、地点和故事情节**:这些元素对玩家体验和社区互动有重要影响,它们共同构成了游戏的核心内容。
**玩家参与和互动**:玩家的反馈和游戏玩法分析对游戏的改进和社区的发展至关重要。
**游戏社区的文化和价值观**:黑神话悟空社区拥有独特的文化和价值观,包括对游戏的热爱、对挑战的追求和对社区成员的尊重。

### 游戏机制与体验

游戏的核心玩法和系统,包括战斗、技能提升、角色发展等,对玩家体验至关重要。以下是一些具体方面:

**战斗和技能提升**:游戏的核心玩法涉及战斗和技能的提升,这对玩家的战斗技巧和策略有直接影响。
**游戏平衡性和难度设置**:包括敌人、材料和游戏区域的挑战性,对玩家的游戏体验和社区讨论有重要影响。
**游戏更新和平衡性调整**:新内容、补丁和游戏机制的变化对玩家社区有显著影响。

### 社区文化与影响

游戏社区的文化和活动对玩家体验和游戏文化形成有重要影响:

**游戏社区的互动和分享**:攻略、经验和策略的交流提升了玩家技能和游戏体验。
**媒体和资讯平台的作用**:游戏新闻、攻略、视频和下载链接帮助玩家了解游戏并解决游戏中遇到的问题。
**游戏开发与发布对社区的影响**:游戏的开发过程和发布计划对社区成员具有重要影响,反映了游戏开发商的规划和技术实力。

这些主题共同构成了《黑神话悟空》游戏社区的核心,影响了玩家的游戏体验和社区文化。
  • Q: 打不过怪怎么办?
# global 模式

当玩家在游戏中遇到难以击败的怪物时,可以采取以下几种策略:

### 战斗策略和技巧
1. **尝试不同的战斗策略和技能组合**:根据怪物的特点和弱点,调整攻击方式和战斗节奏。这可能包括闪避攻击、寻找反击时机等(Analyst 1, 2, 4, 5, 6, 7)。
2. **了解怪物的攻击模式和弱点**:每个怪物都有其特定的攻击模式和弱点。通过观察和分析,玩家可以找到有效的应对策略(Analyst 5, 6)。
3. **使用合适的武器和技能**:根据怪物的类型和攻击模式,选择合适的武器和技能进行战斗(Analyst 5)。

### 装备和道具
1. **使用合适的装备和技能**:根据怪物的特点和弱点,选择合适的装备和技能(Analyst 0, 6)。
2. **调整装备和技能**:确保角色的装备和技能适合对抗这种怪物,可能需要更换装备或升级技能(Analyst 7)。
3. **寻找隐藏的道具或技能**:游戏中可能存在一些辅助道具或技能,这些可能有助于对抗特定怪物(Analyst 3)。

### 合作与资源
1. **组队合作**:与其他玩家组队,共同应对怪物,提高战胜的几率。团队协作可以提高战斗效率和生存率(Analyst 0, 5, 6)。
2. **查找攻略或视频教程**:社区中可能有针对特定怪物的攻略或视频教程,提供击败怪物的技巧和策略(Analyst 7)。
3. **寻求社区帮助**:在玩家社区中寻求帮助,如查看攻略、讨论战斗策略(Analyst 3, 5, 6)。

### 其他建议
1. **调整游戏设置**:如果战斗困难,可以尝试降低难度设置,以便更好地适应游戏挑战(Analyst 3, 7)。
2. **休息和保存进度**:在连续尝试失败后,适当休息,避免疲劳作战(Analyst 0, 7)。
3. **检查游戏设置**:确保没有导致战斗困难的技术问题,如输入延迟或帧率问题(Analyst 2)。

通过这些策略,玩家应能更好地应对难以击败的怪物,并提高战斗的成功率。


# local 模式
在《黑神话:悟空》游戏中,玩家可能会遇到各种强大的怪物和敌人,有时可能会遇到难以战胜的情况。以下是一些应对策略:

**1. 学习攻略和技巧**:可以通过游戏社区、攻略网站或游戏论坛等渠道,学习其他玩家分享的战斗技巧和攻略。例如,了解怪物的攻击模式和弱点,以及如何利用游戏中的技能和道具来应对。

**2. 优化装备和属性**:提升角色的装备和属性,可以显著增强战斗力。可以通过游戏内的商店购买装备,或者通过击败怪物、完成任务等方式获得更强大的装备。

**3. 调整战斗策略**:根据怪物的特点和自己的战斗风格,调整战斗策略。例如,利用闪避、格挡等技能来躲避攻击,或者使用控制技能来限制怪物的行动。

**4. 与其他玩家组队**:如果怪物过于强大,可以尝试与其他玩家组队,共同击败敌人。组队可以增加战斗的胜算,并且可以互相帮助应对难以单独战胜的怪物。

**5. 重试和练习**:如果一开始没有成功,不要气馁,可以尝试多次挑战,逐渐熟悉怪物的攻击模式和战斗节奏。

**一些具体的建议**

**对于难以躲避的攻击**:可以使用闪避或格挡技能来躲避,或者尝试使用控制技能来打断怪物的攻击。
**对于高血量的怪物**:可以使用群体攻击技能或消耗性技能来快速减少怪物的血量。
**对于具有特殊能力的怪物**:需要了解这些能力的特点和应对方法,例如针对毒液攻击可以使用抗毒道具或技能。

总之,战胜强大的怪物需要耐心、技巧和策略。通过不断学习和实践,玩家可以逐渐提升自己的战斗力,战胜各种挑战。

  • Q: 我要获得最佳体验,需要什么电脑配置?
# local模式
为了获得最佳体验,运行《黑神话悟空》游戏需要以下电脑配置:

**处理器**:Intel Core i7-9700 或 AMD Ryzen 5 5500

**内存**:16 GB RAM

**显卡**:NVIDIA GeForce RTX 2060 或 AMD Radeon RX 5700 XT 或 INTEL Arc A750

**操作系统**:Windows 10 64-bit

**DirectX 版本**:12

**存储空间**:130 GB 可用空间

**声卡**:兼容 Windows 的音频设备

**显示器**:建议使用高分辨率和高刷新率的显示器以获得更好的视觉体验。

请注意,这些配置要求是在启用DLSS/FSR/Xess技术的情况下进行测试的。此外,为了确保游戏性能和稳定性,建议使用固态硬盘(SSD)而不是机械硬盘(HDD)。

整个实验是在nano-graphrag项目上改的, 下面为启动脚本,修改为使用智谱AI bigmodel的LLM和embedding。按照项目的readme。下面代码理论可以直接跑,但是实际上会存在一些解析相关的问题,另外就是把prompt翻译了一下,过2天修改后的代码可能会在github上开源。

import os
import logging
import numpy as np
from nano_graphrag.base import BaseKVStorage
from nano_graphrag._utils import compute_args_hash

from nano_graphrag import GraphRAG, QueryParam
from nano_graphrag._utils import wrap_embedding_func_with_attrs

logging.basicConfig(level=logging.WARNING)
logging.getLogger("nano-graphrag").setLevel(logging.INFO)

token = ''  # 填充自己的token

MODEL = "glm-4-flash"

from zhipuai import ZhipuAI
client = ZhipuAI(api_key=token)

async def glm4_flash_if_cache(
    prompt, system_prompt=None, history_messages=[], **kwargs
)
 -> str:


    messages = []
    
    # Get the cached response if having-------------------
    hashing_kv: BaseKVStorage = kwargs.pop("hashing_kv"None)
    if system_prompt:
        messages.append({"role""system""content": system_prompt})

    messages.extend(history_messages)
    messages.append({"role""user""content": prompt})
    if hashing_kv is not None:
        args_hash = compute_args_hash(MODEL, messages)
        if_cache_return = await hashing_kv.get_by_id(args_hash)
        if if_cache_return is not None:
            return if_cache_return["return"]
    # -----------------------------------------------------
    response = client.chat.completions.create(
    model="glm-4-flash",
    messages=
        messages
        )
    # Cache the response if having-------------------
    if hashing_kv is not None:
        await hashing_kv.upsert(
            {args_hash: {"return": response.choices[0].message.content, "model": MODEL}}
        )
    # -----------------------------------------------------
    return response.choices[0].message.content

@wrap_embedding_func_with_attrs(
    embedding_dim=2048,
    max_token_size=2028,
)
async def local_embedding(texts: list[str]) -> np.ndarray:
    response = client.embeddings.create(
        model="embedding-3",  # 填写需要调用的模型编码
        input=texts,
    )
    response = response.data
    response = sorted(response,key=lambda x:x.index)
    return np.array([i.embedding for i in response])


def remove_if_exist(file):
    if os.path.exists(file):
        os.remove(file)


WORKING_DIR = "./heishenhua_cache_glm_flash_TEST"


def query():
    rag = GraphRAG(
        working_dir=WORKING_DIR,
        best_model_func=glm4_flash_if_cache,
        cheap_model_func=glm4_flash_if_cache,
         embedding_func=local_embedding
    )
    print(
        rag.query(
            "有哪些重要主题?", param=QueryParam(mode="global")
        )
    )


def insert():
    from time import time
    TEXT = ['{"title": "《黑神话悟空》变身技能怎么玩 变身技能获取玩法攻略", "content": "\n\n在《黑神话:悟空》的实机演示视频中,为我们演示了许多技能的效果,变身就是其中之一,并且演示了两次。玩家“大写的维特”带来了《黑神话:悟空》变身技能介绍以及实际情况猜想,感兴趣的小伙伴就来看看吧。\n\n![《黑神话:悟空》变身技能介绍](https://image.9game.cn/2020/8/24/171404101.jpg)\n\n**《黑神话:悟空》变身技能介绍:**\n\n演示提供的信息是击杀会掉落法宝的怪物,通过拾取法宝来获得的能力。\n\n当然“猿”,可能是自带,差不多等于原始暴怒。\n\n变身狼教头,获得其能力,武器,攻击方式,技能,并回复血量。\n\n可以推测,以后玩家通过击杀怪物能获得的法宝或者说变身道具应该不少(大爱)。\n\n但是,玩家能携带的应该有限,只能从收藏中选几个携带。\n\n而且,每一章节每个变身只能使用一次(用完猿后没看到CD)。\n\n或者说,在你拾取到一定数量的法宝之后,想再拾取你就必须舍弃前面拾取的。\n\n[\n![](https://media.9game.cn/gamebase/20230809/1/1/1e0607b83da04ea1906f874ab120e76f.jpg?x-oss-\nprocess=image/resize,w_120,m_lfit)](https://www.9game.cn/hshwk/)\n**[黑神话悟空](https://www.9game.cn/hshwk/)** 类型: _角色扮演_ 平台: _安卓_ 状态: _运营_\n\n安卓版下载 苹果版暂无下载\n\n"}']
    remove_if_exist(f"{WORKING_DIR}/vdb_entities.json")
    remove_if_exist(f"{WORKING_DIR}/kv_store_full_docs.json")
    remove_if_exist(f"{WORKING_DIR}/kv_store_text_chunks.json")
    remove_if_exist(f"{WORKING_DIR}/kv_store_community_reports.json")
    remove_if_exist(f"{WORKING_DIR}/graph_chunk_entity_relation.graphml")

    rag = GraphRAG(
        working_dir=WORKING_DIR,
        enable_llm_cache=True,
        best_model_func=glm4_flash_if_cache,
        cheap_model_func=glm4_flash_if_cache,
        embedding_func=local_embedding
    )
    start = time()
    rag.insert(TEXT)
    print("indexing time:", time() - start)

if __name__ == "__main__":
    insert()
    # query()



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询