使用说明

项目简介

DigitalFate 是一个为企业应用设计的高级框架,旨在简化和优化大型语言模型(LLM)的调用、AI 代理的部署以及计算机任务的自动化流程。它通过提供可扩展、可靠且面向任务的架构,帮助开发者构建高效且经济的 AI 应用系统。DigitalFate 框架特别强调生产环境的适用性,易于部署在 AWS、GCP 或本地 Docker 环境中。

主要功能点

  • 生产级可扩展性: 支持在 AWS、GCP 或本地 Docker 环境轻松部署,满足企业级应用的需求。
  • 面向任务的架构: 支持从简单 LLM 调用到复杂多代理协作等不同层级的任务执行。
  • MCP 服务器兼容: 内置 MCP 服务器功能,支持多客户端高性能处理上下文信息和工具调用。
  • 安全工具调用服务器: 提供安全的 API 交互方式来管理和调用外部工具。
  • 计算机使用集成: 集成了 Anthropic 的 ‘Computer Use’ 功能,让 AI 代理能够执行模拟人类操作的任务。
  • 简易工具集成: 只需一行代码即可集成自定义工具或 MCP 工具,扩展性强。
  • 客户端-服务器架构: 采用无状态的企业级架构,专为生产环境设计,保证系统稳定性和可维护性。

安装步骤

  1. 环境准备: 确保已安装 Python 3.10 或更高版本,并拥有 OpenAI 或 Anthropic API 密钥。
  2. 安装 DigitalFate: 使用 pip 命令安装 DigitalFate 库:
    pip install digitalfate

服务器配置

DigitalFate 包含一个内置的 MCP 服务器,无需额外配置即可启动。对于 MCP 客户端,您需要配置服务器的启动命令和参数以便连接。

MCP 服务器配置 (JSON 格式,用于 MCP 客户端):

{
  "serverName": "DigitalFateServer",
  "command": "python",
  "args": [
    "-m",
    "DigitalFate.server",
    "run_main_server_internal"
  ],
  "description": "启动 DigitalFate 主服务器",
  "协议": "JSON-RPC over HTTP (默认)",
  "传输方式": "Stdio, SSE, WebSocket (DigitalFate 默认 HTTP)"
}

参数注释:

  • 'serverName': 服务器名称,客户端用于标识连接。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数列表,用于指定启动 DigitalFate 主服务器的模块和方法。
    • '-m DigitalFate.server': 以模块方式运行 'DigitalFate.server' 包。
    • 'run_main_server_internal': 调用 'DigitalFate.server' 包中的 'run_main_server_internal' 函数,该函数负责启动内置的 MCP 服务器。
  • 'description': 对该服务器配置的简要描述。
  • '协议': 服务器使用的通信协议,DigitalFate 默认使用 JSON-RPC over HTTP。
  • '传输方式': 服务器支持的传输协议,DigitalFate 默认使用 HTTP。

注意: MCP 客户端通常需要这些配置信息来建立连接并与 DigitalFate 服务器进行通信。请确保 MCP 客户端能够正确解析和使用这些配置。 DigitalFate 客户端已经内置了服务器的启动和管理,用户无需手动配置和启动服务器即可使用其客户端功能。

基本使用方法

  1. 初始化客户端: 在 Python 代码中,首先初始化 DigitalFate 客户端,指定服务器地址(例如 "localserver" 或 "http://localhost:7541")。
    from digitalfate import digitalfateClient
    
    client = digitalfateClient("localserver") # 或 client = digitalfateClient("http://localhost:7541")
  2. 配置 API 密钥: 设置所需的 API 密钥,例如 OpenAI API 密钥。
    client.set_config("OPENAI_API_KEY", "YOUR_API_KEY")
  3. 定义任务: 创建 'Task' 对象,描述任务内容,并指定所需的工具和响应格式。
    from digitalfate import Task, StrResponse
    from digitalfate.client.tools import Search
    
    task = Task(description="查找 Anthropic 和 OpenAI 的最新新闻", tools=[Search], response_format=StrResponse("news_summary"))
  4. 执行任务: 使用 'client.call(task)' 或 'client.agent(agent_config, task)' 执行任务。
    client.call(task)
    print(task.response) # 打印任务结果
    或使用 Agent 执行任务:
    from digitalfate import AgentConfiguration
    
    agent_config = AgentConfiguration(
        job_title="新闻研究员",
        company_url="https://example.com",
        company_objective="进行新闻研究",
    )
    client.agent(agent_config, task)
    print(task.response) # 打印 Agent 任务结果

更多高级功能,如知识库集成、任务链、多代理协作等,请参考仓库 README.md 文档和示例代码。

信息

分类

AI与计算