链载Ai

标题: 人工智能 (AI) 正以前所未有的速度改变着我们的世界 [打印本页]

作者: 链载Ai    时间: 昨天 10:28
标题: 人工智能 (AI) 正以前所未有的速度改变着我们的世界

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">人工智能 (AI) 正以前所未有的速度改变着我们的世界。从智能助手到自动驾驶汽车,AI 正在渗透到我们生活的方方面面。而对于开发者来说,如何快速构建出功能强大、性能卓越的 AI 应用成为了一个重要的课题。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">LangChain 作为一款备受欢迎的 AI 应用开发框架,凭借其丰富的预制组件和易用性,吸引了众多开发者的目光。然而,AI 领域的发展日新月异,微软开源的 Semantic Kernel 框架横空出世,以其独特的优势和强大的功能,为开发者带来了全新的选择,或将成为 LangChain 的有力竞争者。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">本文将深入探讨 Semantic Kernel 的特点、优势以及与 LangChain 的比较,帮助开发者选择最适合自己的 AI 应用开发框架。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">Semantic Kernel:AI 应用开发的新选择

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.1em;font-weight: bold;margin-top: 2em;margin-right: 8px;margin-bottom: 0.75em;padding-left: 8px;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">什么是 Semantic Kernel?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Semantic Kernel是一个轻量级的开源软件开发工具包 (SDK),旨在帮助开发者轻松地将 AI 功能集成到他们的应用程序中。它提供了一个简单易用的 API,可以连接到各种 AI 服务,例如 OpenAI、Azure OpenAI 和 Hugging Face 等。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Semantic Kernel 的主要特点:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.1em;font-weight: bold;margin-top: 2em;margin-right: 8px;margin-bottom: 0.75em;padding-left: 8px;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">Semantic Kernel 的优势

快速入门指南

安装 SDK

您可以使用以下命令轻松安装 Semantic Kernel:

pipinstallsemantic-kernel

Semantic Kernel Notebooks

微软提供了丰富的 Semantic Kernel Notebooks,帮助开发者快速上手。这些 Notebooks 包含详细的代码示例和说明,涵盖了从基础概念到高级应用的各种主题,即使是 AI 初学者也能轻松理解和使用。

编写你的第一个 Semantic Kernel 控制台应用

以下是一个使用 Python 编写的简单控制台应用程序示例:

importasyncio

fromsemantic_kernelimportKernel
fromsemantic_kernel.functionsimportkernel_function
fromsemantic_kernel.connectors.ai.open_aiimportAzureChatCompletion
fromsemantic_kernel.connectors.ai.function_call_behaviorimportFunctionCallBehavior
fromsemantic_kernel.connectors.ai.chat_completion_client_baseimportChatCompletionClientBase
fromsemantic_kernel.contents.chat_historyimportChatHistory
fromsemantic_kernel.functions.kernel_argumentsimportKernelArguments

fromsemantic_kernel.connectors.ai.open_ai.prompt_execution_settings.azure_chat_prompt_execution_settingsimport(
AzureChatPromptExecutionSettings,
)

asyncdefmain():
#Initializethekernel
kernel=Kernel()

#AddAzureOpenAIchatcompletion
kernel.add_service(AzureChatCompletion(
deployment_name="your_models_deployment_name",
api_key="your_api_key",
base_url="your_base_url",
))

#Setthelogginglevelforsemantic_kernel.kerneltoDEBUG.
logging.basicConfig(
format="[%(asctime)s-%(name)s:%(lineno)d-%(levelname)s]%(message)s",
datefmt="%Y-%m-%d%H:%M:%S",
)
logging.getLogger("kernel").setLevel(logging.DEBUG)

#Addaplugin(theLightsPluginclassisdefinedbelow)
kernel.add_plugin(
LightsPlugin(),
plugin_name="Lights",
)

chat_completion:AzureChatCompletion=kernel.get_service(type=ChatCompletionClientBase)

#Enableplanning
execution_settings=AzureChatPromptExecutionSettings(tool_choice="auto")
execution_settings.function_call_behavior=FunctionCallBehavior.EnableFunctions(auto_invoke=True,filters={})

#Createahistoryoftheconversation
history=ChatHistory()

#Initiateaback-and-forthchat
userInput=None
whileTrue:
#Collectuserinput
userInput=input("User>")

#Terminatetheloopiftheusersays"exit"
ifuserInput=="exit":
break

#Adduserinputtothehistory
history.add_user_message(userInput)

#GettheresponsefromtheAI
result=(awaitchat_completion.get_chat_message_contents(
chat_history=history,
settings=execution_settings,
kernel=kernel,
arguments=KernelArguments(),
))[0]

#Printtheresults
print("Assistant>"+str(result))

#Addthemessagefromtheagenttothechathistory
history.add_message(result)

#Runthemainfunction
if__name__=="__main__":
asyncio.run(main())

Semantic Kernel 与 LangChain 的比较

特性Semantic KernelLangChain
开发语言C#, Python, JavaPython, JavaScript
插件生态仍在发展中拥有大量可用的集成
易用性对传统开发者友好,易于集成到现有应用程序中对熟悉 LLM 和提示工程的开发者友好
功能提供规划器,允许 LLM 生成计划并执行提供链接各种工具和 LLM 的方法
文档和社区支持提供官方文档和 GitHub 社区支持拥有活跃的社区和丰富的文档
企业级功能专注于提供企业级功能,例如安全性增强功能和与企业系统的集成更加注重快速原型设计和实验
学习曲线对传统开发者来说学习曲线相对平缓对熟悉 LLM 和提示工程的开发者来说学习曲线相对平缓
最佳使用场景构建需要与现有系统集成、注重安全性和可维护性的企业级 AI 应用程序快速构建原型、实验不同的 LLM 和提示工程技术、构建不需要与现有系统深度集成的小型 AI 应用程序

总结

Semantic Kernel 是微软开源的一款强大的 AI SDK,它为开发者构建智能应用提供了全新的解决方案。凭借其企业级、自动化、模块化和面向未来的特性,Semantic Kernel 将成为 AI 应用开发领域的重要工具,引领 AI 应用开发的新潮流。对于正在寻找 LangChain 替代品的开发者来说,Semantic Kernel 无疑是一个值得考虑的强大选择。









欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5