使用说明
项目简介
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 进行上下文感知和个性化交互。
- 客户端-服务器架构: 采用无状态的客户端-服务器架构,易于生产环境部署和扩展。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本,并拥有 OpenAI 或 Anthropic API 密钥。
- 安装 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' 表示使用标准输入输出流进行通信。
基本使用方法
- 启动服务器: 在安装 DigitalFate 的环境中,分别运行以下命令启动主服务器和工具服务器 (在不同的终端窗口中运行):
python -m DigitalFate.server run_main_server_internal
或者,您可以使用开发服务器同时启动两者:python -m DigitalFate.tools_server run_tools_server_internalpython -m DigitalFate.server run_dev_server - 配置客户端: 在您的 MCP 客户端应用中,配置连接到 DigitalFate 工具服务器的信息,使用上面提供的服务器配置 JSON。
- 使用 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与计算