Skip to main content

Semantic Kernel Ready to Use Plugins

Python 3.10+ License MIT

A collection of tools and plugins for Semantic Kernel Framework that enhances AI applications with Python code execution, web search capabilities, and detailed logging.

🚀 Overview

Semantic Kernel Tools provides a set of powerful plugins for the Semantic Kernel Framework:

  • Python Code Generator: Generate and execute Python code safely based on natural language requests
  • Web Search Plugin: Integrate Tavily search API for web search capabilities
  • SK Logger: Enhanced logging with colorful output and detailed tracking

✨ Features

  • Python Code Generation and Execution: Generate robust Python code and execute it in a controlled environment
  • Web Search Integration: Search the web using Tavily API
  • Enhanced Logging: Track AI operations with detailed, colorful logs
  • Extensible Architecture: Easily customize or extend functionality

📋 Requirements

  • Python 3.10+
  • Semantic Kernel 1.0.0+

📥 Installation

pip install semantic-kernel-plugins

🚀 Quick Start

import asyncio
import logging
import os

from dotenv import load_dotenv
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.bedrock import BedrockChatCompletion
from semantic_kernel.connectors.ai.bedrock.bedrock_prompt_execution_settings import \
    BedrockChatPromptExecutionSettings
from semantic_kernel.connectors.ai.function_choice_behavior import \
    FunctionChoiceBehavior
from semantic_kernel.contents.chat_history import ChatHistory
from semantic_kernel.utils.logging import setup_logging

from semantic_kernel_plugins.plugins.python.python_code_generator import \
    PythonCodeGeneratorPlugin
from semantic_kernel_plugins.plugins.web.tavily_web_search import \
    TavilySearchPlugin

async def main():
    kernel = Kernel()

    chat_completion = BedrockChatCompletion(
        model_id=os.getenv("ANTHROPIC_MODEL_ID"),
    )
    kernel.add_service(chat_completion)

    setup_logging()
    logging.getLogger("kernel").setLevel(logging.INFO)

    ## Ready to use plugins - Tavily Web Search
    kernel.add_plugin(
        TavilySearchPlugin(os.getenv("TAVILY_API_KEY")),
        plugin_name="TavilyWebSearch",
    )

    ## Ready to use plugins - Python Code Generator
    execution_settings = BedrockChatPromptExecutionSettings(
        max_tokens=4096,
        temperature=0.5,
    )
    execution_settings.function_choice_behavior = FunctionChoiceBehavior.Auto()

    python_generator = PythonCodeGeneratorPlugin(
        chat_service=chat_completion, execution_settings=execution_settings
    )
    kernel.add_plugin(python_generator, plugin_name="PythonCodeGenerator")

    history = ChatHistory()

    userInput = "<Your Request>"

    history.add_user_message(userInput)
    result = await chat_completion.get_chat_message_content(
        chat_history=history,
        settings=execution_settings,
        kernel=kernel,
    )
    print("\033[1m\033[34mAssistant > \033[0m" + str(result))
    history.add_message(result)

if __name__ == "__main__":
    asyncio.run(main())

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ for AI developers working with Semantic Kernel.

Metadata

Release files for semantic-kernel-plugins 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for semantic-kernel-plugins 0.1.1
File Size Uploaded
semantic_kernel_plugins-0.1.1.tar.gz 3.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for semantic-kernel-plugins 0.1.1
File Interpreter ABI Platform
semantic_kernel_plugins-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 kB

Release files / semantic_kernel_plugins-0.1.1.tar.gz

Download URL semantic_kernel_plugins-0.1.1.tar.gz
Size 3.4 kB
Tags Source
SHA-256 checksum
How to use checksums
821af41ff1ad59a0af5d523fc8029e4c047ca839b6203c0ed79b43c675f9b91d
BLAKE2b-256 checksum
How to use checksums
6d368c3fa450d4a29ea72304a21daef415e009192050faef0ac0029a1ed5a484
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release files / semantic_kernel_plugins-0.1.1-py3-none-any.whl

Download URL semantic_kernel_plugins-0.1.1-py3-none-any.whl
Size 3.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
90fec5122cef0e7a51cfd5f1f1674db46131675c364787e1101d055e47789e86
BLAKE2b-256 checksum
How to use checksums
c91c9d8f5d5a9ade4be99fda3e632de1cd9d1cd9b88e4d6155828c8540eb1fc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release 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