Skip to main content

AIGility ADK - Agent Development Kit

基于 LangGraph/LangChain 的智能体开发框架,提供开箱即用的 RAG、记忆管理、对话流等能力。

特性

  • RAG 检索增强生成

    • 基础 RAG 服务:文档摄取、向量化、语义检索
    • 工作流模式 RAG:基于 LangGraph 的可组合 RAG 工作流
    • 多 Embedding 支持:DashScope、HuggingFace 等
    • 多向量存储支持:Chroma、FAISS、Milvus 等
  • 记忆管理

    • 持久化对话历史
    • 语义记忆检索
    • 可扩展的记忆存储
  • 对话流管理

    • 基于 LangGraph 的对话流编排
    • 工具调用支持
    • 状态管理
  • 工作流引擎

    • 可视化工作流构建
    • 节点编排
    • 条件分支和循环

安装

核心安装(推荐)

只安装核心依赖,包含聊天、工作流、内存管理等基础功能:

pip install aigility

完整安装

如需使用 RAG、向量存储、文档处理等高级功能:

# 安装所有可选功能
pip install "aigility[all]"

# 或者只安装需要的模块
pip install "aigility[rag-local]"     # 本地 RAG (HuggingFace + Chroma)
pip install "aigility[rag-qdrant]"    # Qdrant RAG
pip install "aigility[timem]"         # 太忆 RAG 服务
pip install "aigility[anthropic]"     # Anthropic LLM 支持

可选功能模块

模块 说明 安装命令
anthropic Anthropic Claude 支持 pip install "aigility[anthropic]"
rag-local 本地 RAG (HuggingFace + Chroma) pip install "aigility[rag-local]"
rag-qdrant Qdrant RAG pip install "aigility[rag-qdrant]"
timem 太忆 RAG 服务 pip install "aigility[timem]"
timem-rag 太忆 RAG 完整功能 (含文档处理) pip install "aigility[timem-rag]"
zai 在智 embedding 服务 pip install "aigility[zai]"
all 所有功能 pip install "aigility[all]"

注意rag-local 会下载 HuggingFace 模型(约 500MB-2GB),安装时间较长

快速开始

RAG 基础使用

from aigility.rag import RAGService, RAGConfig, EmbeddingConfig, VectorStoreConfig

# 配置 RAG 服务
config = RAGConfig(
    embedding=EmbeddingConfig(provider="dashscope", api_key="your-api-key"),
    vector_store=VectorStoreConfig(provider="chroma", persist_path="./my_db")
)

# 初始化服务
rag_service = RAGService(config=config)

# 添加文档
rag_service.add_file("document.pdf")

# 检索相关内容
results = rag_service.search("什么是机器学习?")
print(results)

RAG 工作流模式

from aigility.rag import RAGService, create_rag_workflow
from langchain_openai import ChatOpenAI

# 初始化 RAG 服务和 LLM
rag_service = RAGService()
llm = ChatOpenAI(model="gpt-4")

# 创建工作流
workflow = create_rag_workflow(rag_service, llm)

# 执行查询
result = workflow.invoke({
    "query": "什么是机器学习?",
    "messages": []
})

print(result["answer"])

客户端使用

from aigility import ADKClient, create_client

# 创建客户端
client = create_client(
    llm_provider="openai",
    llm_api_key="your-api-key",
    memory_api_key="your-memory-api-key",
)

# 使用记忆
memory = client.memory
await memory.add(
    messages=[{"role": "user", "content": "Hello"}],
    user_id="user123",
    character_id="assistant"
)

# 创建对话智能体
agent = client.create_chat_agent(name="my_agent")

文档

项目结构

aigility/
├── core/           # 核心配置和类型
├── memory/         # 记忆管理
├── chat/           # 基础对话
├── chatflow/       # 对话流管理
├── workflow/       # 工作流引擎
├── rag/            # RAG 检索增强生成
│   ├── service.py  # RAG 服务
│   ├── workflow.py # RAG 工作流
│   ├── embeddings/ # Embedding 模型
│   ├── vector_stores/ # 向量存储
│   └── ingestion.py # 文档摄取
├── adp/            # ADP 服务客户端
└── client.py       # 主客户端

技术栈

  • LangChain: 基础对话能力
  • LangGraph: 对话流和工作流编排
  • Chroma/FAISS/Milvus: 向量存储
  • DashScope/HuggingFace: Embedding 模型

许可证

MIT License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aigility-2.0.2.tar.gz (118.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aigility-2.0.2-py3-none-any.whl (126.4 kB view details)

Uploaded Python 3

File details

Details for the file aigility-2.0.2.tar.gz.

File metadata

  • Download URL: aigility-2.0.2.tar.gz
  • Upload date:
  • Size: 118.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for aigility-2.0.2.tar.gz
Algorithm Hash digest
SHA256 d033d8e1cc1c63826ca7bc27d909ae45ee344956a797f6a6ba99564d3acb2c33
MD5 eb5e489fd927b0a37d0c128981d5dac7
BLAKE2b-256 c4fe2dff3fc81f5d85d3620825946ef9071d1209873d495a75377ddb8e74214c

See more details on using hashes here.

File details

Details for the file aigility-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: aigility-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 126.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for aigility-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f5351e66013717586663acfecef10977cfe11208f2a6e695680b3ee04f02acfc
MD5 c3d5e5e4f5fe583088e8b682823b24db
BLAKE2b-256 1c4c96296e2dea1c7651bce87d1b1d4d21bee72645ebfdd7c38ea3837f98e66c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 files

2.0.1

2 files

2.0.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page