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.5.tar.gz (6.3 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.5-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kgentik-0.1.5.tar.gz
Algorithm Hash digest
SHA256 6f66f22d76421d9359e4e331400cd55e6f168f4d8bc8739b873e8c48a7537246
MD5 4a5c350605e8e7c1f23ee58fd9588a80
BLAKE2b-256 fdf638199843c3f47deb3c9041bca758dea19dbb2b1543cc089193f5c6ff6147

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for kgentik-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d1613fe0b51d7535b77216d4d3f55f3759e3ba6762fb4a3871d7a4a21ab6b723
MD5 2e4e1c8d402413c1db0877fe53e3d956
BLAKE2b-256 1def75275de93066dd9e1d1ea21f410ab85f7cc6065a1e0d29736ffd844366a1

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