Skip to main content

Kgentik SDK for multi-framework tool resolution and agent development

Project description

Kgentik SDK

Seamless tool resolution and agent development for the Kgentik platform.

Installation

For local development:

pip install kgentik

Note: In deployed environments, the SDK is automatically injected and no installation is required.

Quick Start

The KgentikTools wrapper automatically detects and loads tools from your kgentik.yaml configuration:

from kgentik.tools import KgentikTools
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

# Initialize tools - automatically reads from kgentik.yaml
kgentik_tools = KgentikTools()
tools = kgentik_tools.get_tools()

# Create your agent
model = ChatOpenAI(model="gpt-4o-mini")
agent = create_react_agent(model, tools)

Configuration

Define your tools in kgentik.yaml:

tools:
  - name: "csv_parser"
    source: "local"
    file: "tools/csv_parser.py"
    description: "Parse CSV data"
  
  - name: "web-scraper"
    source: "community"
    description: "Scrape web pages"
  
  - name: "email-sender"
    source: "team"
    description: "Send emails"

Tool Sources

  • local: Tools you develop locally in the tools/ directory
  • team: Tools shared within your team
  • community: Public tools from the community

How It Works

Local Development

  1. Place your kgentik.yaml in your project root
  2. Create local tools in the tools/ directory
  3. Use KgentikTools() to automatically load all configured tools
  4. Same code works when deployed!

Deployed Environment

  1. Platform automatically injects the SDK during deployment
  2. Local tools are packaged alongside your agent
  3. Team/community tools are fetched and made available
  4. KgentikTools() resolves all tools seamlessly

Examples

Basic Usage

from kgentik.tools import KgentikTools

# Auto-detects kgentik.yaml and loads all tools
tools = KgentikTools().get_tools()

Custom Config Path

from kgentik.tools import KgentikTools

# Specify custom config path
tools = KgentikTools(config_path="./custom-config.yaml").get_tools()

LangGraph Integration

from kgentik.tools import KgentikTools
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

kgentik_tools = KgentikTools()
tools = kgentik_tools.get_tools()

model = ChatOpenAI(model="gpt-4o-mini")
agent = create_react_agent(model, tools)

# Use your agent
result = agent.invoke({"messages": [("user", "Hello!")]})

Custom Agent Implementation

from kgentik.tools import KgentikTools
from langgraph.graph import StateGraph, START
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI

# Load tools
kgentik_tools = KgentikTools()
tools = kgentik_tools.get_tools()

# Create custom workflow
workflow = StateGraph(State)
workflow.add_node("agent", call_model)
workflow.add_node("tools", ToolNode(tools))
workflow.add_edge(START, "agent")
workflow.add_conditional_edges("agent", should_continue)

app = workflow.compile()

Error Handling

The SDK provides clear error messages for common issues:

# Missing kgentik.yaml
FileNotFoundError: No kgentik.yaml found. Please ensure you're in a Kgentik project directory or provide a config_path.

# Missing tool file
FileNotFoundError: Tool file not found: /path/to/tools/missing_tool.py

# Invalid tool source
ValueError: Unknown tool source: invalid_source

Troubleshooting

Tool Not Found

  1. Check that your tool is defined in kgentik.yaml
  2. Verify the file path is correct for local tools
  3. Ensure the tool function is properly exported

Import Errors

  1. Make sure you're in a Kgentik project directory
  2. Verify kgentik.yaml exists in current or parent directory
  3. Check that required dependencies are installed

Deployment Issues

  1. Ensure your agent uses KgentikTools() (not manual imports)
  2. Verify all tools are properly configured in kgentik.yaml
  3. Check that team/community tools exist and are accessible

Future Roadmap

Planned Features

  • CLI Tools: kgentik deploy, kgentik test, kgentik init
  • Testing Utilities: Built-in testing framework for agents
  • Deployment Helpers: Streamlined deployment process
  • Multi-Framework Support: Enhanced support for LlamaIndex, CrewAI, etc.
  • Tool Validation: Type checking and validation for tools
  • Hot Reloading: Development mode with automatic reloading

Contributing

The SDK is part of the Kgentik platform. For contributions and issues, please visit our GitHub repository.

License

MIT License - see LICENSE file for details.

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

kgentik-0.1.7.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

kgentik-0.1.7-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file kgentik-0.1.7.tar.gz.

File metadata

  • Download URL: kgentik-0.1.7.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for kgentik-0.1.7.tar.gz
Algorithm Hash digest
SHA256 ad1e16af8515b6c10e1ecf006d16e2a1b30c706bdc23a7dddd81698255dd228a
MD5 7ed28855b0e1b05b5e331261be459340
BLAKE2b-256 548aae8c4982c79e5d0191cd386ab7276468901b9dcc3d94a647a82149964f15

See more details on using hashes here.

File details

Details for the file kgentik-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: kgentik-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for kgentik-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 72ce9e5b18e9f6c084429f2b6d5e7a960c62ec7ab686358c5a7b08afd653c303
MD5 47511909530d600f9d9fa2aa2b02d36b
BLAKE2b-256 0ac37e7889a89b5159c2bac3e51f1953e83b27267a5a8d0056c940e57ec9abf0

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