使用说明

项目简介

DigitalFate 是一个用于编排 LLM 调用、Agent 和计算机任务的企业级框架,旨在以经济高效的方式构建可靠且可扩展的 AI 系统。它通过 MCP 集成、工具调用和任务分解,简化了复杂 AI 应用的开发和部署流程,为开发者提供了一个强大的上下文服务框架。

主要功能点

  • 任务编排: 支持简单到复杂的任务定义和自动分解,方便用户构建多步骤、多Agent协作的AI应用。
  • MCP 工具集成: 能够集成和管理 MCP 工具,扩展 LLM 的功能,实现与外部资源和功能的交互。
  • 多 LLM 模型支持: 兼容 OpenAI、Anthropic、DeepSeek 等多种 LLM 模型,支持 Azure 和 Bedrock 等云平台部署。
  • 工具调用服务器: 内置安全的工具调用服务器,方便 Agent 调用外部 API 和自定义工具。
  • 计算机使用集成: 利用 Anthropic 的 ‘Computer Use’ 功能,使 Agent 能够执行模拟人类操作的计算机任务。
  • 知识库和记忆: 提供知识库和记忆系统,支持 Agent 进行上下文感知和个性化交互。
  • 客户端-服务器架构: 采用无状态的客户端-服务器架构,易于生产环境部署和扩展。

安装步骤

  1. 环境准备: 确保已安装 Python 3.10 或更高版本,并拥有 OpenAI 或 Anthropic API 密钥。
  2. 安装 DigitalFate: 打开终端,运行以下命令安装 DigitalFate 库:
    pip install digitalfate

服务器配置

DigitalFate 包含主服务器和工具服务器。对于 MCP 客户端,您需要配置连接到 DigitalFate 工具服务器的命令和参数。以下是工具服务器的配置信息示例 (JSON 格式):

{
  "serverName": "DigitalFateToolsServer",
  "command": "python",
  "args": [
    "-m",
    "DigitalFate.tools_server",
    "run_tools_server_internal"
  ],
  "description": "DigitalFate 工具服务器,用于管理和执行工具函数。",
  "sessionType": "stdio"
}

参数注释:

  • 'serverName': 服务器名称,您可以自定义。
  • 'command': 启动服务器的命令,这里使用 'python'。
  • 'args': 启动服务器命令的参数,包括 '-m DigitalFate.tools_server' 指定运行 DigitalFate 工具服务器模块,'run_tools_server_internal' 是运行服务器的函数。
  • 'description': 服务器描述信息,方便识别服务器用途。
  • 'sessionType': 会话类型,'stdio' 表示使用标准输入输出流进行通信。

基本使用方法

  1. 启动服务器: 在安装 DigitalFate 的环境中,分别运行以下命令启动主服务器和工具服务器 (在不同的终端窗口中运行):
    python -m DigitalFate.server run_main_server_internal
    python -m DigitalFate.tools_server run_tools_server_internal
    或者,您可以使用开发服务器同时启动两者:
    python -m DigitalFate.server run_dev_server
  2. 配置客户端: 在您的 MCP 客户端应用中,配置连接到 DigitalFate 工具服务器的信息,使用上面提供的服务器配置 JSON。
  3. 使用 DigitalFate 客户端: 在 Python 代码中,导入并初始化 'digitalfateClient',即可开始使用 DigitalFate 提供的各项功能,例如调用 Agent 执行任务、使用工具、管理配置等。
    from digitalfate import digitalfateClient, Task, AgentConfiguration
    from digitalfate.client.tools import Search
    
    client = digitalfateClient("localserver") # 或者 "devserver" 如果您本地运行
    client.set_config("OPENAI_API_KEY", "YOUR_API_KEY")
    
    task = Task(description="Search for latest AI news", tools=[Search])
    agent_config = AgentConfiguration(job_title="Researcher", company_url="example.com", company_objective="Research AI trends")
    
    client.agent(agent_config, task)
    
    print(task.response)

请参考仓库中的 'README.md' 和示例代码了解更多高级功能和使用方法。

信息

分类

AI与计算