Skip to main content

ProcessGPT Agent Utilities - 도구 로더, 지식 관리, 이벤트 로깅, 데이터베이스 유틸리티

Project description

ProcessGPT Agent Utils

ProcessGPT Agent Utilities - 도구 로더, 지식 관리, 이벤트 로깅, 데이터베이스 유틸리티

🚀 주요 기능

🛠️ 도구 관리 (tools/)

  • SafeToolLoader: MCP 서버 기반 도구 로딩 및 관리
  • KnowledgeManager: 개인지식(mem0) 및 사내문서(memento) 검색
  • HumanQueryTool: 사용자 확인/추가정보 요청 도구
  • DMNRuleTool: DMN(Decision Model and Notation) 규칙 관리 및 실행

📊 유틸리티 (utils/)

  • Database: Supabase 기반 데이터베이스 작업 (재시도, 알림 저장)
  • ContextManager: 컨텍스트 변수 관리
  • CrewEventLogger: CrewAI 이벤트 로깅 및 전송

📦 설치

pip install process-gpt-agent-utils

🔧 사용법

도구 로더 사용

from processgpt_agent_utils import SafeToolLoader

# MCP 설정 예시
mcp_config = {
    "mcpServers": {
        "github": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-github"],
            "env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token"}
        }
    }
}

loader = SafeToolLoader(
    tenant_id="your_tenant",
    user_id="your_user",
    agent_name="your_agent",
    mcp_config=mcp_config
)

tools = loader.create_tools_from_names([
    "mem0", "memento", "human_asked", "github"
])

지식 검색 사용

from tools.knowledge_manager import Mem0Tool, MementoTool

# 개인지식 검색
mem0_tool = Mem0Tool(tenant_id="tenant", user_id="user")
result = mem0_tool._run("과거 실패 사례")

# 사내문서 검색
memento_tool = MementoTool(tenant_id="tenant")
result = memento_tool._run("회사 정책")

DMN 규칙 기반 쿼리 추론

from processgpt_agent_utils import DMNRuleTool

# DMN 규칙 도구 초기화
dmn_tool = DMNRuleTool(tenant_id="tenant", user_id="user-owner-id")

# 쿼리 분석 및 추론
result = dmn_tool._run("보험 위험도 평가는 어떻게 하나요?")
result = dmn_tool._run("나이 25세 남성의 위험도는?")

데이터베이스 작업

from utils.database import initialize_db, save_notification

# DB 초기화
initialize_db()

# 알림 저장
await save_notification(
    title="작업 완료",
    notif_type="workitem_bpm",
    user_ids_csv="user1,user2",
    tenant_id="tenant"
)

🎯 이모지 로깅

모든 유틸리티는 이모지를 활용한 직관적인 로깅을 제공합니다:

  • 🔧 초기화 완료
  • 🛠️ 도구 로딩
  • 🔍 검색 시작
  • 📋 DMN 규칙 처리
  • ⚖️ 규칙 실행
  • ✅ 성공
  • ❌ 실패
  • ⚠️ 경고
  • 📨 이벤트 전송

📋 DMN Rule Tool 상세 정보

🎯 주요 기능

  • 사용자별 규칙 관리: 초기화 시 user_id를 소유자로 해서 DMN 규칙들을 미리 로드
  • 쿼리 분석: 사용자 쿼리를 분석하여 관련 DMN 규칙들을 찾아 추론
  • XML 파싱: DMN 1.3 표준 네임스페이스 지원
  • 규칙 실행: 비즈니스 규칙에 따른 자동화된 의사결정
  • 조건 평가: 복잡한 조건부 로직 처리
  • 결과 반환: 규칙 매칭 결과 및 출력값 제공

🗄️ 데이터베이스 스키마

DMN 규칙은 proc_def 테이블에 저장됩니다:

CREATE TABLE proc_def (
    id TEXT NOT NULL,
    name TEXT NULL,
    definition JSONB NULL,
    bpmn TEXT NULL,  -- DMN XML 저장
    uuid UUID NOT NULL DEFAULT gen_random_uuid(),
    tenant_id TEXT NULL DEFAULT public.tenant_id(),
    isdeleted BOOLEAN NOT NULL DEFAULT FALSE,
    owner TEXT NULL,
    type TEXT NULL,  -- 'dmn' 값으로 DMN 규칙 식별
    CONSTRAINT proc_def_pkey PRIMARY KEY (uuid)
);

🔧 사용 사례

  • 보험 위험도 평가: 나이, 성별, 흡연여부 기반 위험도 결정
  • 승인 프로세스: 조건에 따른 자동 승인/거부
  • 가격 정책: 복잡한 조건에 따른 가격 계산
  • 품질 검사: 제품 사양에 따른 등급 분류

📊 규칙 실행 예시

# DMN 규칙 도구 초기화 (user_id가 소유자)
dmn_tool = DMNRuleTool(tenant_id="tenant", user_id="0f61e5fd-622b-921e-f31f-fc61958021e9")

# 쿼리 분석 (사용자의 규칙들을 기반으로 추론)
result = dmn_tool._run("보험 위험도 평가는 어떻게 하나요?")
# 결과: 관련 규칙들을 찾아 분석 결과 제공

📋 의존성

  • supabase>=2.0.0 - 데이터베이스 연결
  • crewai>=0.152.0,<=0.175.0 - AI 에이전트 프레임워크
  • mem0ai>=0.1.94 - 개인지식 저장소
  • mcp>=1.6.0 - Model Context Protocol
  • pydantic>=2.0.0 - 데이터 검증
  • a2a-sdk>=0.3.0 - A2A 통신
  • xml.etree.ElementTree - DMN XML 파싱 (Python 내장)

🔄 개발

개발 의존성 설치

pip install -e ".[dev]"

릴리스

# Linux/Mac
./release.sh 0.1.4
python -m ensurepip --upgrade
# Windows
.\release.ps1 -Version 0.1.1

python -m ensurepip --upgrade

📄 라이선스

MIT License

🤝 기여

이슈 및 풀 리퀘스트를 환영합니다!

Project details


Download files

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

Source Distribution

process_gpt_agent_utils-0.2.5.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

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

process_gpt_agent_utils-0.2.5-py3-none-any.whl (49.8 kB view details)

Uploaded Python 3

File details

Details for the file process_gpt_agent_utils-0.2.5.tar.gz.

File metadata

  • Download URL: process_gpt_agent_utils-0.2.5.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.17

File hashes

Hashes for process_gpt_agent_utils-0.2.5.tar.gz
Algorithm Hash digest
SHA256 49e22c7660741ccc6e432c30e73f57acd3c38c03e9b3cf4220914eac1d72dd4e
MD5 7846bca378f9811b4a14613c50d4a8e7
BLAKE2b-256 c9ec4026b424bd5ca211a80b135028c0764d59082281e05e9101178b0e8bd4d4

See more details on using hashes here.

File details

Details for the file process_gpt_agent_utils-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for process_gpt_agent_utils-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b077243c31a66aaf2f5a3ee5efa798cb7b427e87f0de17b23da9e9640a8cb838
MD5 ebc11f5e660aa26265b647d500f523f2
BLAKE2b-256 fe0570a8b70301a5c54da44632ae2df587780f1a4eb7e1cc2a7c136128aa2adc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page