使用Semantic Kernel创建Python智能体遇ModuleNotFoundError求助
解决Semantic Kernel Python智能体创建的ModuleNotFoundError问题
问题原因
Semantic Kernel Python版在后续版本中重构了插件系统,原有的semantic_kernel.skill和semantic_kernel.skill_definition模块已被移除,替换为plugins相关的API,这是导致模块找不到的核心原因。
修复步骤
- 升级Semantic Kernel到最新稳定版:
pip install --upgrade semantic-kernel - 替换旧的导入语句:
原报错的导入写法:
替换为新的标准导入方式:from semantic_kernel.skill_definition import sk_function from semantic_kernel.skill import MySkill# 内置核心插件导入 from semantic_kernel.plugins.core import MathPlugin, FileIOPlugin, TextPlugin # 自定义插件的装饰器 from semantic_kernel.decorators import sk_function
可运行的基础智能体示例代码
import asyncio from semantic_kernel import Kernel from semantic_kernel.agents import ChatCompletionAgent from semantic_kernel.agents.chat import ChatHistory from semantic_kernel.plugins.core import TextPlugin async def main(): # 创建内核并配置OpenAI模型(需提前准备有效的API密钥) kernel = Kernel() api_key = "your-openai-api-key" # 推荐通过os.getenv("OPENAI_API_KEY")从环境变量获取 kernel.add_openai_chat_completion_service( id="gpt-3.5", model_id="gpt-3.5-turbo", api_key=api_key ) # 导入内置文本处理插件 kernel.import_plugin(TextPlugin(), plugin_name="TextPlugin") # 创建基础聊天智能体 agent = ChatCompletionAgent( kernel=kernel, prompt_template="你是一个友好的助手,用简洁易懂的语言回答用户问题。", execution_settings=kernel.get_prompt_execution_settings("gpt-3.5"), name="BasicAssistant", instructions="可调用TextPlugin的功能辅助完成文本类任务" ) # 测试智能体对话 chat_history = ChatHistory() chat_history.add_user_message("请把'Hello World'翻译成中文") # 运行智能体并获取结果 result = await agent.invoke(chat_history) print(f"智能体回复: {result.content}") if __name__ == "__main__": asyncio.run(main())
注意事项
- 额外安装依赖:需安装openai库以支持OpenAI模型调用,执行
pip install openai即可 - API密钥安全:生产环境中不要硬编码密钥,建议通过环境变量管理密钥
内容的提问来源于stack exchange,提问作者Padma_Rakesh_Sagar
相关产品推荐
相关产品推荐

