Skip to content

AI功能

字数统计:768 字
阅读时长:2 分钟

💡 提醒

本章适合所有想要为插件添加 AI 能力的开发者

如果是使用者/部署者, 请直接前往 AI配置 章节!

无论你是想做一个智能问答助手、自动翻译工具,还是想让 AI 帮你处理游戏数据,这里都有你需要的全部知识。

适合场景

  • 🤖 想让机器人拥有"大脑",能理解和回答复杂问题
  • 🛠️ 需要 AI 调用插件功能(如查询角色信息、发送消息)
  • 📚 想让 AI 学习游戏知识,成为专业攻略助手
  • 🎭 想创建特定风格的 AI 角色(如派蒙、客服等)

GsCore 提供了强大的 AI 功能支持,允许插件开发者为机器人集成 AI 能力,包括工具函数、知识库、自定义 Agent 等。

概述

GsCore AI Core 模块基于 PydanticAI 构建,为插件开发者提供了一套完整的 AI 功能开发接口。

核心模块路径: gsuid_core/ai_core/

功能特性

  • 工具注册: 通过装饰器轻松注册 AI 可调用的工具函数
  • 知识库管理: 支持插件知识库和手动知识库两种模式
  • 临时 Agent: 创建自定义 Agent 处理特定任务
  • 别名系统: 为实体名称注册别名,提升 AI 理解能力
  • 内置工具: 提供丰富的内置工具函数
  • Skills 系统: 支持 YAML/Markdown 格式的技能定义

快速开始

1. 模块导入

python
# 工具注册装饰器
from gsuid_core.ai_core.register import ai_tools, ai_entity, ai_alias, add_manual_knowledge

# 临时 Agent 创建
from gsuid_core.ai_core.gs_agent import create_agent

# 工具上下文
from gsuid_core.ai_core.models import ToolContext

# PydanticAI RunContext
from pydantic_ai import RunContext

# 内置工具
from gsuid_core.ai_core.buildin_tools import (
    search_knowledge,      # 知识库检索
    web_search,            # Web搜索
    send_message_by_ai,    # 发送消息
    query_user_favorability,   # 查询好感度
    query_user_memory,     # 查询用户记忆
    set_user_favorability,     # 设置好感度
    update_user_favorability,  # 更新好感度
)

2. 注册一个简单的 AI 工具

python
from gsuid_core.ai_core.register import ai_tools

@ai_tools()
async def simple_calc(a: int, b: int, operation: str = "add") -> str:
    """
    简单计算器

    Args:
        a: 第一个数
        b: 第二个数
        operation: 操作类型,add/sub/mul/div
    """
    if operation == "add":
        return str(a + b)
    elif operation == "sub":
        return str(a - b)
    elif operation == "mul":
        return str(a * b)
    elif operation == "div":
        if b == 0:
            return "错误:除数不能为0"
        return str(a / b)
    return "未知操作"

3. 注册知识库

python
from gsuid_core.ai_core.register import ai_entity
from gsuid_core.ai_core.models import KnowledgePoint

ai_entity(KnowledgePoint(
    id="plugin_help_001",
    plugin="MyPlugin",
    title="插件帮助文档",
    content="""
    # MyPlugin 插件帮助

    ## 命令列表
    - /help - 显示帮助
    - /admin - 管理员命令

    ## 功能说明
    本插件提供...功能
    """,
    tags=["帮助", "命令", "文档"],
))

文档目录

相关文档