Dynamiq is an orchestration framework for agentic AI and LLM applications
1.0k
Stars
122
Forks
8
Watchers
5
Issues
Dynamiq 是一个用于 Agentic AI 和 LLM 应用程序的编排框架。
欢迎来到 Dynamiq!🤖
Dynamiq 是您的全能生成式 AI 框架,旨在简化 AI 驱动应用程序的开发流程。Dynamiq 专注于编排检索增强生成(RAG)和大型语言模型(LLM)智能体(Agents)。
准备好开始了吗?以下是如何上手 Dynamiq 的方法:
首先,让我们安装 Dynamiq。您需要预先在机器上配置好 Python 环境,然后运行:
pip install dynamiq
或者从源代码构建 Python 包:
git clone https://github.com/dynamiq-ai/dynamiq.git
cd dynamiq
poetry install
如需查看更多示例和详细指南,请参考我们的 文档。
这是一个帮助您快速上手 Dynamiq 的简单示例:
from dynamiq.nodes.llms.openai import OpenAI
from dynamiq.connections import OpenAI as OpenAIConnection
from dynamiq.prompts import Prompt, Message
# 定义翻译的提示词模板
prompt_template = """
Translate the following text into English: {{ text }}
"""
# 使用定义的模板创建 Prompt 对象
prompt = Prompt(messages=[Message(content=prompt_template, role="user")])
# 设置您的 LLM (大型语言模型) 节点
llm = OpenAI(
id="openai", # 节点的唯一标识符
connection=OpenAIConnection(api_key="OPENAI_API_KEY"), # 使用 API 密钥连接
model="gpt-4o", # 使用的模型
temperature=0.3, # 模型的采样温度
max_tokens=1000, # 输出的最大 token 数
prompt=prompt # 模型使用的提示词
)
# 使用输入数据运行 LLM 节点
result = llm.run(
input_data={
"text": "Hola Mundo!" # 待翻译文本
}
)
# 打印翻译结果
print(result.output)
这是一个可以访问 E2B 代码解释器并能够解决复杂编程任务的智能体。
from dynamiq.nodes.llms.openai import OpenAI
from dynamiq.connections import OpenAI as OpenAIConnection, E2B as E2BConnection
from dynamiq.nodes.agents import Agent
from dynamiq.nodes.tools.e2b_sandbox import E2BInterpreterTool
# 初始化 E2B 工具
e2b_tool = E2BInterpreterTool(
connection=E2BConnection(api_key="E2B_API_KEY")
)
# 设置您的 LLM
llm = OpenAI(
id="openai",
connection=OpenAIConnection(api_key="OPENAI_API_KEY"),
model="gpt-4o",
temperature=0.3,
max_tokens=1000,
)
# 创建智能体
agent = Agent(
name="react-agent",
llm=llm, # 语言模型实例
tools=[e2b_tool], # 智能体可使用的工具列表
role="Senior Data Scientist", # 智能体的角色
max_loops=10, # 处理循环的最大次数限制
)
async def run_async_agent():
# 异步运行智能体并传入输入
result = await agent.run(
input_data={
"input": "Add the first 10 numbers and tell if the result is prime.",
}
)
print(result.output.get("content"))
# 执行异步函数
if __name__ == "__main__":
asyncio.run(run_async_agent())
from dynamiq import Workflow
from dynamiq.nodes.llms import OpenAI
from dynamiq.connections import OpenAI as OpenAIConnection
from dynamiq.nodes.agents import Agent
# 设置您的 LLM
llm = OpenAI(
connection=OpenAIConnection(api_key="OPENAI_API_KEY"),
model="gpt-4o",
temperature=0.1,
)
# 定义第一个智能体:问答智能体
first_agent = Agent(
name="Expert Agent",
llm=llm,
role="Professional writer with the goal of producing well-written and informative responses.",
id="agent_1",
max_loops=5
)
# 定义第二个智能体:诗意写作智能体
second_agent = Agent(
name="Poetic Rewriter Agent",
llm=llm,
role="Professional writer with the goal of rewriting user input as a poem without changing its meaning.",
id="agent_2",
max_loops=5
)
# 创建工作流,以相同的输入运行两个智能体
# `Workflow` 类简化了在管道中设置和执行一系列节点的过程。
# 它会自动处理尽可能并行运行智能体的操作。
wf = Workflow()
wf.flow.add_nodes(first_agent)
wf.flow.add_nodes(second_agent)
# 定义工作流的等效替代方法:
# from dynamiq.flows import Flow
# wf = Workflow(flow=Flow(nodes=[agent_first, agent_second]))
# 使用输入运行工作流
result = wf.run(
input_data={"input": "How are sin(x) and cos(x) connected in electrodynamics?"},
)
# 打印两个智能体的输入和输出
print('--- Agent 1: Input ---\n', result.output[first_agent.id].get("input").get('input'))
print('--- Agent 1: Output ---\n', result.output[f
Dynamiq 是一个专为智能体 AI 和大语言模型应用程序打造的综合性编排框架。它旨在简化 AI 应用的开发流程,高效处理复杂的检索增强生成(RAG)逻辑与智能体协作任务。
提供模块化的工作流引擎,支持配置串行、并行及多智能体协同的复杂执行架构。
内置完善的检索增强生成(RAG)组件,支持从文档预处理到向量数据库索引及内容检索的全链路操作。
支持带有上下文记忆功能的对话系统开发,能够轻松存储并调用历史交互信息。
集成了灵活的图状编排器,允许开发者根据特定业务需求定制复杂的应用程序架构。
具备异步执行能力,通过兼容主流代码解释器和工具集,助力开发能够处理复杂编程任务的智能代理。
该框架适用于需要快速构建生产级 AI 应用的开发者与企业团队,特别适合在处理知识库问答、自动化任务代理以及多智能体交互等复杂场景中使用。