Skip to main content

Kgentik SDK for seamless 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 (requires file field)
  • 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.0.tar.gz (6.0 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.0-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kgentik-0.1.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for kgentik-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5dfef6b4122ca637017eba245dab50cb02a92e033bb3f60d34a6b0a3465bc7ec
MD5 24521ee8d345d5e3215806a76afa2ec0
BLAKE2b-256 554696f8c0dc1148a6a4f5def862f8fcb293b43e8c4ffb3a3ca39a9d8cd177cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kgentik-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for kgentik-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b362be58207e55cd1b21f7aafcb3c7ebf9e9a0f27885562f06b1b872be692100
MD5 02e81a5f46cb549cd655ef72e495a263
BLAKE2b-256 4568f249ce7ebe473be5f53e29e10be4782eed412ad829b10dff7ed0205f5c0a

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