Agently

用结构化代码快速构建 GenAI 应用,轻松切换模型

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 智能体 🍴 复刻 184 🐛 待处理 19 👀 关注 23
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1666
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源框架,Apache-2.0 许可证,完全免费,无付费版本。

项目预览

Agently 项目界面预览图
图片来源:项目官网

项目数据

分类智能体
开发团队AgentEra
定价模式🏷️完全免费
价格说明开源框架,Apache-2.0 许可证,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型agent,agent-based-framework,agent-framework,chatglm,claude,deepseek,ernie,framework,gemini,google-gemini,gpt,llm-agent,llm-application,llm-apps,llm-framework,llmops,llms,minimax,python
GitHub 星标★ 1666
上线时间2023-06-30 00:00:00
代码更新2026-10-13
仓库体积50.5 MB
本站数据更新2026-11-08
维护状态较活跃
收录时间2026-08-09
浏览次数7

项目介绍

Agently 是一个基于 Python 的 GenAI 应用开发框架,旨在让开发者快速、轻松地构建生成式 AI 应用。它解决了与大语言模型交互时常见的复杂性和代码冗余问题,通过结构化数据和链式调用语法,使开发者能够以直观的方式与 AI 智能体交互。框架的核心能力包括事件驱动的 TriggerFlow,用于管理复杂的 GenAI 工作逻辑,以及模型无关的设计,允许开发者无缝切换不同的底层模型(如 GPT、Claude、Gemini 等),而无需重写应用代码。Agently 强调易用性和灵活性,适合从简单原型到复杂生产级应用的开发场景。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1666

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • 可运行 pip 的 Python 环境
  • 一个 OpenAI 兼容模型服务的 API Key(如 DeepSeek)
  • 或本地已安装 Ollama 服务
  • 使用 YAML 配置时需准备 settings.yaml 文件

安装与启动步骤

  1. 1安装 Agently

    用 pip 直接从 PyPI 安装最新版 Agently 框架,作为项目依赖引入即可,无需额外服务端。

    pip install -U agently
  2. 2准备模型服务

    用云端 OpenAI 兼容接口时只需配置 API Key;用本地模型时先拉取 Ollama 模型再改 base_url。

    ollama pull qwen2.5:7b
  3. 3配置模型连接

    通过 set_settings 声明 OpenAICompatible 提供商,api_key 建议用 ${ENV.XXX} 从环境变量读取。

    from agently import Agently
    
    Agently.set_settings(
        "OpenAICompatible",
        {
            "base_url": "https://api.deepseek.com/v1",
            "model": "deepseek-v4-flash",
            "api_key": "${ENV.DEEPSEEK_API_KEY}",
            "model_type": "chat",
            "request_options": {
                "thinking": {"type": "disabled"},
                "temperature": 0.2,
            },
        },
    )
  4. 4运行首个 Agent

    创建 Agent,用 .output() 声明结构化字段,.get_result() 取回并打印结果数据。

    from agently import Agently
    
    Agently.set_settings(
        "OpenAICompatible",
        {
            "base_url": "https://api.deepseek.com/v1",
            "model": "deepseek-v4-flash",
            "api_key": "${ENV.DEEPSEEK_API_KEY}",
            "model_type": "chat",
            "request_options": {
                "thinking": {"type": "disabled"},
                "temperature": 0.2,
            },
        },
    )
    
    agent = Agently.create_agent()
    
    result = (
        agent
        .input("Introduce Python in one sentence and state three distinct strengths.")
        .output({
            "intro": (str, "one sentence", True),
            "strengths": {
                "first": (str, "first strength", True),
                "second": (str, "second strength", True),
                "third": (str, "third strength", True),
            },
        })
        .get_result()
    )
    
    print(result.get_data())
  5. 5改用 YAML 配置

    配置较多时把设置写入 settings.yaml,用 load_settings 加载,auto_load_env 自动读取环境变量。

    from agently import Agently
    
    Agently.load_settings("yaml_file", "settings.yaml", auto_load_env=True)

关键配置

配置项必填说明示例
base_url是模型服务的 OpenAI 兼容接口地址https://api.deepseek.com/v1
model是调用的模型名称deepseek-v4-flash
api_key是服务密钥,推荐用 ${ENV.XXX} 从环境变量读取${ENV.DEEPSEEK_API_KEY}
model_type是模型类型,示例中为对话模型 chatchat
request_options否请求参数,如关闭思考、设置温度{"thinking": {"type": "disabled"}, "temperature": 0.2}
model_pool否为同一应用登记多个模型键,便于按场景切换{"support-chat": "deepseek-v4-flash-prod"}

如何确认成功

脚本运行后能打印出包含 intro 和 strengths 的结构化结果(result.get_data()),说明模型连接与调用成功。

常见问题

Q:如何切换到 GPT、Claude、Gemini 等其他模型?

A:框架与模型无关,只需修改 OpenAICompatible 设置里的 base_url 与 model,业务代码和输出契约无需重写。

Q:怎么用本地 Ollama 跑?

A:先执行 ollama pull qwen2.5:7b,再把 base_url 改为 http://127.0.0.1:11434/v1,model 填 qwen2.5:7b,api_key 填 ollama。

Q:多个模型或多把 Key 怎么管理?

A:用 model_pool 登记模型键并结合 model_profiles 与 api_key_pools 配置轮询和失败切换,再用 agent.activate_model 切换默认模型。

Q:配置文件怎么写?

A:将设置写入 settings.yaml,然后调用 Agently.load_settings("yaml_file", "settings.yaml", auto_load_env=True) 加载。

注意事项

  • API Key 建议通过 ${ENV.XXX} 从环境变量读取,不要硬编码到代码或仓库中。
  • Skills 等能力声明本身不授权副作用,需宿主显式挂载 Actions、MCP 服务或 ExecutionResource 并施加策略后才能执行。
  • model_pool 设置的模型键只影响后续 Agent 请求的默认模型,可临时用 agent.create_request(model_key=...) 覆盖单次请求。

核心亮点

  • 提供链式调用语法,代码简洁直观,降低开发门槛
  • 事件驱动 TriggerFlow 支持复杂工作流管理,灵活可控
  • 模型无关架构,切换底层 LLM 无需改代码,节省迁移成本

不足之处

  • 文档/社区待观察
  • 项目仍处于成长阶段,生态和第三方集成可能有限

适用场景

  • 快速构建基于大模型的聊天机器人或智能助手
  • 需要复杂多步骤逻辑的 AI 工作流(如自动化报告生成)
  • 在多模型间灵活切换的 AI 应用原型开发

替代项目

LangChain、AutoGen、CrewAI

上一篇:youtu-agent

下一篇:better-agents

同类项目推荐

zhin 开源

一套代码,让机器人无缝跑遍 20+ 聊天平台,还能秒变 AI 助手。

AI-native TypeScript bot framework — one codebase for 20+ chat platforms (QQ, Disco···

★ 137 2026-08-09
codex-multi-auth 开源

多账号一键切换,Codex 登录永不掉线

Codex CLI multi-account OAuth manager with account switching, health checks, runtime···

★ 566 2026-08-09
anthropic-sdk-php 开源

PHP 项目几行代码接入 Claude 模型

Access to Anthropic's safety-first language model APIs in PHP

★ 198 2026-10-27
agentic-rag-for-dummies 开源

用LangGraph快速搭建会思考的RAG智能体

A modular Agentic RAG built with LangGraph — learn Retrieval-Augmented Generation A···

★ 4348 2026-08-09
agents 开源

一套标准让多个 AI 编程代理共用技能,少配多干活

Shared standards and reusable skills for Claude Code, Codex CLI, and other AI coding···

★ 227 2026-10-11
llm-apps-java-spring-ai 开源

用 Java 和 Spring AI 快速构建 LLM 应用,从示例到实战。

Samples showing how to build Java applications powered by Generative AI and LLMs usi···

★ 787 2026-08-09
SpeziLLM 开源

在 iOS 应用中快速集成 GPT 等大模型,打造智能对话体验

Large Language Model (LLM) module for the Spezi Ecosystem

★ 290 2026-08-09
switch 开源

把任务拆成小步选择,让模型一步步做决定

A framework for building decision-model harnesses for any kind of task. Your program···

★ 435 2026-11-03
JioNLP 开源

中文文本预处理一步到位,几十种工具开箱即用

中文 NLP 预处理、解析工具包,准确、高效、易用 A Chinese NLP Preprocessing & Parsing ···

★ 3874 2026-08-09