Ai Agent Tools

Polar Sponsor
爱发电 赞助
.NET 9.0

为AI智能体工作流提供文件处理、文本提取、数据转换、实用工具、内存存储和验证工具的Python库。

AI代理工具 - Python Utility 库用于 AI AgentsQQ Overview. 此库提供随时可用的 Python 函数, AI 代理可以用来

功能概述

AI代理工具 - Python Utility 库用于 AI AgentsQQ Overview. 此库提供随时可用的 Python 函数, AI 代理可以用来是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

AI Agent Tools — 面向 AI Agent 的 Python 工具库

📖 概述

本库提供一系列开箱即用的 Python 函数,供 AI Agent 执行各类任务,涵盖文件操作、文本分析、数据转换、内存管理及数据校验等场景。

⚡ 快速上手

安装

方式 1:从 GitHub 克隆

git clone https://github.com/cerbug45/ai-agent-tools.git
cd ai-agent-tools

方式 2:直接下载

wget https://raw.githubusercontent.com/cerbug45/ai-agent-tools/main/ai_agent_tools.py

方式 3:复制粘贴

将 ai_agent_tools.py 文件直接复制到您的项目目录中即可。

运行环境要求

  • Python 3.7 或更高版本
  • 无外部依赖(仅使用 Python 标准库)

🛠️ 可用工具

1. FileTools — 文件操作

用于读取、写入与管理文件的操作集合。

可用方法:

from ai_agent_tools import FileTools

# 读取文件
content = FileTools.read_file("path/to/file.txt")

# 写入文件
FileTools.write_file("path/to/file.txt", "Hello World!")

# 列出指定目录下的文件(可按扩展名过滤)
files = FileTools.list_files(".", extension=".py")

# 检查文件是否存在
exists = FileTools.file_exists("path/to/file.txt")

典型应用场景:

  • 读取配置文件
  • 保存 Agent 输出结果
  • 枚举可用资源列表
  • 在执行操作前检查文件是否存在

2. TextTools — 文本处理

从文本中提取信息并进行格式化处理。

可用方法:

from ai_agent_tools import TextTools

text = "Contact: john@example.com, phone: 0532 123 45 67"

# 提取邮箱地址
emails = TextTools.extract_emails(text)
# 输出: ['john@example.com']

# 提取 URL
urls = TextTools.extract_urls("Visit https://example.com")
# 输出: ['https://example.com']

# 提取电话号码
phones = TextTools.extract_phone_numbers(text)
# 输出: ['0532 123 45 67']

# 统计词数
count = TextTools.word_count("Hello world from AI")
# 输出: 4

# 文本摘要生成
summary = TextTools.summarize_text("Long text here...", max_length=50)

# 清理多余空白字符
clean = TextTools.clean_whitespace("Too   many    spaces")
# 输出: "Too many spaces"

典型应用场景:

  • 从文档中提取联系人信息
  • 清洗与标准化文本格式
  • 生成文本摘要
  • 从非结构化文本中抽取结构化数据

3. DataTools — 数据转换

支持多种数据格式之间的相互转换。

可用方法:

from ai_agent_tools import DataTools

# 将数据保存为 JSON 文件
data = {"name": "Alice", "age": 30}
DataTools.save_json(data, "output.json")

# 加载 JSON 文件
loaded_data = DataTools.load_json("output.json")

# 将 CSV 格式字符串转为字典列表
csv_text = """name,age,city
Alice,30,New York
Bob,25,London"""
data_list = DataTools.csv_to_dict(csv_text)
# 输出: [{'name': 'Alice', 'age': '30', 'city': 'New York'}, ...]

# 将字典列表转为 CSV 字符串
data = [
    {"name": "Alice", "age": 30},
    {"name": "Bob", "age": 25}
]
csv = DataTools.dict_to_csv(data)

典型应用场景:

  • 持久化结构化数据
  • 跨格式数据迁移与转换
  • 解析 API 响应体
  • 生成报表或导出数据

4. UtilityTools — 通用工具函数

常用辅助功能封装。

可用方法:

from ai_agent_tools import UtilityTools

# 获取当前时间戳
timestamp = UtilityTools.get_timestamp()
# 输出: "2026-02-15 14:30:25"

# 基于文本生成唯一 ID
id = UtilityTools.generate_id("user_john_doe")
# 输出: "a3f5b2c1"

# 计算百分比
percent = UtilityTools.calculate_percentage(25, 100)
# 输出: 25.0

# 安全除法(自动规避除零异常)
result = UtilityTools.safe_divide(10, 0, default=0.0)
# 输出: 0.0

典型应用场景:

  • 事件打标(添加时间戳)
  • 生成唯一标识符(如 session ID、记录 ID)
  • 执行安全数学运算
  • 数据分析中的中间计算

5. MemoryTools — 内存管理

在 Agent 执行过程中临时存储与检索数据。

可用方法:

from ai_agent_tools import MemoryTools

# 初始化内存实例
memory = MemoryTools()

# 存储键值对
memory.store("user_name", "Alice")
memory.store("session_id", "abc123")

# 检索值
name = memory.retrieve("user_name")
# 输出: "Alice"

# 列出所有键名
keys = memory.list_keys()
# 输出: ["user_name", "session_id"]

# 删除指定键
memory.delete("session_id")

# 清空全部内存
memory.clear()

典型应用场景:

  • 维护多轮对话上下文
  • 暂存中间计算结果
  • 会话状态管理
  • 缓存高频访问或耗时计算结果

6. ValidationTools — 数据校验

对多种类型的数据进行有效性验证。

可用方法:

from ai_agent_tools import ValidationTools

# 校验邮箱格式
is_valid = ValidationTools.is_valid_email("user@example.com")
# 输出: True

# 校验 URL 格式
is_valid = ValidationTools.is_valid_url("https://example.com")
# 输出: True

# 校验土耳其手机号格式(含空格分隔)
is_valid = ValidationTools.is_valid_phone("0532 123 45 67")
# 输出: True

典型应用场景:

  • 用户输入合法性校验
  • 数据质量检查(ETL 流程中)
  • 表单提交前验证
  • 预处理阶段的数据清洗与过滤

💡 完整使用示例

from ai_agent_tools import (
    FileTools, TextTools, DataTools, 
    UtilityTools, MemoryTools, ValidationTools
)

# 初始化会话内存
memory = MemoryTools()

# 读取输入文件
text = FileTools.read_file("contacts.txt")

# 提取关键信息
emails = TextTools.extract_emails(text)
phones = TextTools.extract_phone_numbers(text)

# 对提取结果进行校验
valid_emails = [e for e in emails if ValidationTools.is_valid_email(e)]
valid_phones = [p for p in phones if ValidationTools.is_valid_phone(p)]

# 构建结构化联系人数据
contacts = []
for i, (email, phone) in enumerate(zip(valid_emails, valid_phones)):
    contact = {
        "id": UtilityTools.generate_id(f"contact_{i}"),
        "email": email,
        "phone": phone,
        "timestamp": UtilityTools.get_timestamp()
    }
    contacts.append(contact)

# 保存结果至 JSON 文件
DataTools.save_json(contacts, "output/contacts.json")

# 将元信息存入内存
memory.store("total_contacts", len(contacts))
memory.store("last_processed", UtilityTools.get_timestamp())

print(f"Processed {len(contacts)} contacts")
print(f"Saved to: output/contacts.json")

🎯 最佳实践

1. 错误处理

务必对文件操作使用 try-except 包裹:

try:
    content = FileTools.read_file("data.txt")
    # 处理内容
except Exception as e:
    print(f"Error reading file: {e}")

2. 内存管理

不再需要时及时清空内存:

memory = MemoryTools()
# ... 使用内存 ...
memory.clear()  # 显式清理

3. 数据校验

始终在校验通过后再执行后续逻辑:

if ValidationTools.is_valid_email(email):
    # 处理邮箱
    pass
else:
    print(f"Invalid email: {email}")

4. 路径处理

推荐使用绝对路径,或确保当前工作目录正确:

import os

base_dir = os.path.dirname(__file__)
filepath = os.path.join(base_dir, "data", "file.txt")
content = FileTools.read_file(filepath)

🔧 高级用法

链式调用(Pipeline)

# 读取 → 处理 → 校验 → 保存 流水线
text = FileTools.read_file("input.txt")
cleaned = TextTools.clean_whitespace(text)
emails = TextTools.extract_emails(cleaned)
valid = [e for e in emails if ValidationTools.is_valid_email(e)]
DataTools.save_json({"emails": valid}, "output.json")

构建自定义工作流

class DataProcessor:
    def __init__(self):
        self.memory = MemoryTools()
        
    def process_document(self, filepath):
        # 读取
        text = FileTools.read_file(filepath)
        
        # 提取
        emails = TextTools.extract_emails(text)
        urls = TextTools.extract_urls(text)
        
        # 存储结果
        self.memory.store("emails", emails)
        self.memory.store("urls", urls)
        
        # 生成报告
        report = {
            "timestamp": UtilityTools.get_timestamp(),
            "file": filepath,
            "emails_found": len(emails),
            "urls_found": len(urls)
        }
        
        return report

📦 与 AI Agent 框架集成

示例:LangChain 集成

from langchain.tools import Tool
from ai_agent_tools import FileTools, TextTools

def create_file_reader_tool():
    return Tool(
        name="ReadFile",
        func=FileTools.read_file,
        description="Read contents of a file"
    )

def create_email_extractor_tool():
    return Tool(
        name="ExtractEmails",
        func=TextTools.extract_emails,
        description="Extract email addresses from text"
    )

tools = [create_file_reader_tool(), create_email_extractor_tool()]

示例:OpenAI Function Calling

tools = [
    {
        "type": "function",
        "function": {
            "name": "read_file",
            "description": "Read a file and return its contents",
            "parameters": {
                "type": "object",
                "properties": {
                    "filepath": {
                        "type": "string",
                        "description": "Path to the file"
                    }
                },
                "required": ["filepath"]
            }
        }
    }
]

# 在您的 Agent 主循环中
def execute_function(name, arguments):
    if name == "read_file":
        return FileTools.read_file(arguments["filepath"])

🧪 测试

运行内置测试套件:

python ai_agent_tools.py

预期输出:

=== AI Ajanları İçin Araçlar Kütüphanesi ===

1. Dosya Araçları:
   Okunan içerik: Merhaba AI Ajanı!

2. Metin Araçları:
   Bulunan emailler: ['ali@example.com']
   Bulunan telefonlar: ['0532 123 45 67']

3. Veri Araçları:
   CSV çıktısı:
   isim,yaş
   Ali,25
   Ayşe,30

...

✓ Tüm araçlar test edildi!

🤝 贡献指南

欢迎参与贡献!贡献流程如下:

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/new-tool
  3. 提交更改:git commit -am 'Add new tool'
  4. 推送分支:git push origin feature/new-tool
  5. 提交 Pull Request

📝 许可证

本项目为开源项目,采用 MIT License 发布。

👤 作者

GitHub: @cerbug45

🐛 问题反馈与支持

发现 Bug 或需要帮助?请在 GitHub 提交 Issue: https://github.com/cerbug45/ai-agent-tools/issues

📚 补充资源

  • Python 官方文档
  • 正则表达式入门指南
  • JSON 格式规范

🔄 版本历史

v1.0.0(2026-02-15)

  • 初始发布
  • 涵盖 6 类工具模块
  • 提供 25+ 个实用函数
  • 完整中文文档
  • 附带完整测试套件

Happy Coding! 🚀

相关专题

更多
剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

2026.10.14

0

13

二狗PPT大纲编辑实操指南
二狗PPT大纲编辑实操指南

本专题聚焦二狗PPT结构化大纲的生成和修改,讲解标题、正文、目录、页数与页面顺序的调整方法,提升汇报逻辑和内容完整性。

2026.10.14

0

15

二狗PPT文档转PPT全教程
二狗PPT文档转PPT全教程

本专题讲解二狗PPT解析Word、PDF、Excel和PPT资料的方法,涵盖文件上传、内容提取、大纲整理、异常处理与转换后校对。

2026.10.14

0

13

讯飞绘文全功能使用教程
讯飞绘文全功能使用教程

本专题系统整理讯飞绘文官网入口、注册登录、工作台及内容创作流程,帮助用户熟悉常用功能,快速完成首篇图文内容。

2026.10.14

0

14

讯飞绘文AI写作与文案生成合集
讯飞绘文AI写作与文案生成合集

本专题聚焦讯飞绘文AI写作、提纲生成、文章改写和文案润色,覆盖从主题输入到成稿优化的关键操作与实用技巧。

2026.10.14

0

14

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
文心快码功能介绍
文心快码功能介绍

共0课时 | 0人学习

文心快码Agent使用手册
文心快码Agent使用手册

共0课时 | 0人学习

文心快码产品文档
文心快码产品文档

共0课时 | 0人学习