当前位置: 首页 > news >正文

建行官方网站多少网销工作内容简述

建行官方网站多少,网销工作内容简述,wordpress vs,网站建设和优化的好处文章目录 一、Semantic Kernel介绍和发展1#xff09;SK 的语言开发进展2#xff09;SK的生态位3#xff09;SK基础架构 二、环境搭建1#xff09;初始化2#xff09;Semantic Functions#xff08;不用编写代码#xff0c;用配置实现回调函数#xff09;3#xff09;… 文章目录 一、Semantic Kernel介绍和发展1SK 的语言开发进展2SK的生态位3SK基础架构 二、环境搭建1初始化2Semantic Functions不用编写代码用配置实现回调函数3Native Functions(传统编程的回调函数)4用 SKContext 实现多参数 Functions5Plugins/Skillsplugin/skill 就是一组函数的集合。它可以包含两种函数 三、函数的嵌套调用1Semantic Function 嵌套调用(不用代码的函数)2Native Function 嵌套调用纯代码调用 四、Memory1初始化 Embedding2文本向量化3向量搜索4现在用函数嵌套做一个简单的 RAG5连接其它 VectorDB 五、Planner开发Agent1什么是智能体Agent2SK Python 提供了四种 Planner3用 Planner 实现一个能使用搜索和日历工具的 Agent 六、VS Code 插件创建和调试Semantic Function七、Semantic Kernel 对新版 Assistants API 的支持计划 一、Semantic Kernel介绍和发展 定义介绍 1、Semantic Kernel 是微软研发的一个开源的面向大模型的开发框架SDK 2、它支持你用不同开发语言C#/Python/Java基于 OpenAI API/Azure OpenAI API/Huggingface 开发大模型应用 3、它封装了一系列开箱即用的工具包括提示词模板、链式调用、规划能力等。SDK补充说明 SDKSoftware Development Kit它是一组软件工具和资源的集合旨在帮助开发者创建、测试、部署和维护应用程序或软件。 1SK 的语言开发进展 1、C# 版最成熟已开始 1.0.1https://github.com/microsoft/semantic-kernel 2、Python 是 beta 版https://github.com/microsoft/semantic-kernel 3、Java 版 alpha 阶段https://github.com/microsoft/semantic-kernel/tree/experimental-java 4、TypeScript 版……已经放弃了https://github.com/microsoft/semantic-kernel/tree/experimental-typescript 文档写得特别好但追不上代码更新速度 5、更多讲解https://learn.microsoft.com/en-us/semantic-kernel/overview/ 6、更偏实操https://github.com/microsoft/semantic-kernel/blob/main/python/notebooks/00-getting-started.ipynb 7、API Reference (目前只有C#): https://learn.microsoft.com/en-us/dotnet/api/microsoft.semantickernel?viewsemantic-kernel-dotnet 8、更多生态https://github.com/geffzhang/awesome-semantickernel 这里可以了解最新进展https://learn.microsoft.com/en-us/semantic-kernel/get-started/supported-languages 2SK的生态位 补充 微软将此技术栈命名为 Copilot Stack。 解释 1、Plugin extensibility: 插件扩展 2、Copilots: AI 助手副驾驶例如 GitHub Copilot、Office 365 Copilot、Windows Copilot 3、AI orchestration: AI 编排SK 就在这里 4、Foundation models: 基础大模型例如 GPT-4 5、AI infrastructure: AI 基础设施例如 PyTorch、GPU 3SK基础架构 解释 1、Models and Memory: 类比为大脑 2、Connectors: 用来连接各种外部服务类似驱动程序 3、Plugins: 用来连接内部技能 4、Triggers and actions: 外部系统的触发器和动作类比为四肢说明 1、Semantic Functions通过 Prompt 实现的 LLM 能力 2、Native Functions: 编程语言原生的函数功能 3、在 SK 中一组 Function 组成一个技能Skill/Plugin。要运行 Skill/Plugin需要有一个配置和管理的单元这个组织管理单元就是 Kernel。 4、Kernel 负责管理底层接口与调用顺序例如OpenAI/Azure OpenAI 的授权信息、默认的 LLM 模型选择、对话上下文、技能参数的传递等等 二、环境搭建 准备 1、安装 Python 3.xhttps://www.python.org/downloads/ 2、安装 SK 包pip install semantic-kernel 3、在项目目录创建 .env 文件添加以下内容 # .env OPENAI_API_KEY OPENAI_BASE_URL AZURE_OPENAI_DEPLOYMENT_NAME AZURE_OPENAI_ENDPOINT AZURE_OPENAI_API_KEY --OpenAI 和 Azure配置好一个就行。!pip install semantic-kernel0.4.0.dev1初始化 环境初始化 import semantic_kernel as sk from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion import os# 加载 .env 到环境变量 from dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv())# 创建 semantic kernel kernel sk.Kernel()# 配置 OpenAI 服务。OPENAI_BASE_URL 会被自动加载生效 api_key os.getenv(OPENAI_API_KEY) model OpenAIChatCompletion(gpt-3.5-turbo,api_key )# 把 LLM 服务加入 kernel # 可以加多个。第一个加入的会被默认使用非默认的要被指定使用 kernel.add_text_completion_service(my-demo, model)接口解释 划重点 用我们熟悉的操作系统来类比可以更好地理解 SK。 1、启动操作系统kernel sk.Kernel() 2、安装驱动程序kernel.add_xxx_service() 3、安装应用程序func kernel.create_semantic_function() 4、运行应用程序func()举例使用prompt说笑话(实验室版本) # 定义 semantic function (实验室版本) # 参数由{{ }}标识tell_joke_about kernel.create_semantic_function(给我讲个关于{{$input}}的笑话吧)# 运行 function 看结果 result await kernel.run_async(tell_joke_about,input_strHello world) print(result)举例使用prompt说笑话 import asyncioasync def run_function(*args):return await kernel.invoke(*args)result asyncio.run(run_function(tell_joke_about, input_strHello world) )新版加载方式 注意新版的加载方式将发生变化详见https://github.com/microsoft/semantic-kernel/blob/main/python/notebooks/03-prompt-function-inline.ipynb 2Semantic Functions不用编写代码用配置实现回调函数 介绍 Semantic Functions 是纯用数据Prompt 配置文件定义的不需要编写任何代码。所以它与编程语言无关可以被任何编程语言调用组成 1、skprompt.txt: 存放 prompt可以包含参数还可以调用其它函数 2、config.json: 存放配置包括函数功能参数的数据类型以及调用大模型时的参数举例 根据用户的自然语言指示生成 Linux 命令skprompt.txt 已知数据库结构为CREATE TABLE Courses (id INT AUTO_INCREMENT PRIMARY KEY,course_date DATE NOT NULL,start_time TIME NOT NULL,end_time TIME NOT NULL,course_name VARCHAR(255) NOT NULL,instructor VARCHAR(255) NOT NULL ); 请将下述用户输入转为SQL表达式 用户输入{{$input}}直接输出SQL语句不要评论不要分析不要Markdown标识!config.json {schema: 1,type: completion,description: 将用户的输入转换成 SQL 语句, #功能描述completion: { max_tokens: 256,temperature: 0,top_p: 0,presence_penalty: 0,frequency_penalty: 0},input: {parameters: [{name: input,description: 用户的输入,defaultValue: }]} }说明 type 只有 “completion” 和 “embedding” 两种注意 新版格式将发生变化详见https://github.com/microsoft/semantic-kernel/blob/main/python/notebooks/02-running-prompts-from-file.ipynb备注 上面两个文件都在 demo/MyPlugins/Text2SQL/ 目录下。 附加查询数据库) from semantic_kernel.skill_definition import sk_functionclass DBConnector:def __init__(self, db_cursor):self.db_cursor db_cursorsk_function(description查询数据库, # function 描述namequery_database, # function 名字)def exec(self, sql_exp: str) - str:self.db_cursor.execute(sql_exp)records cursor.fetchall()return str(records)正式开始调用 # 加载 semantic function。注意目录结构 my_plugins kernel.import_semantic_skill_from_directory(./demo, MyPlugins)# 运行 result await kernel.run_async(my_plugins[Text2SQL],input_str2024年4月有哪些课, ) print(result)回复 SELECT * FROM Courses WHERE course_date BETWEEN 2024-04-01 AND 2024-04-30;若要维护多轮对话加入历史 需求例如我们要维护一个多轮对话通过 request 和 history 两个变量分别存储 当前输入 和 对话历史 prompt 对话历史如下: {{$history}} --- User: {{$request}} Assistant: 实际代码展示 history []while True:request input(User ).strip()if not request:break# 通过 ContextVariables 维护多个输入变量variables sk.ContextVariables()variables[request] requestvariables[history] \n.join(history)# 运行 promptsemantic_function kernel.create_semantic_function(prompt)result await kernel.run_async(semantic_function,input_varsvariables, # 注意这里从 input_str 改为 input_vars)# 将新的一轮添加到 history 中history.append(User: request)history.append(Assistant: result.result)print(Assistant result.result)回复 User 你好 Assistant 你好请问有什么可以帮助您的吗 User 我刚才问你什么 Assistant 您刚才问我有什么可以帮助您的。您还有其他问题需要我回答吗 User 注意 1、官方提供了一些 Semantic Functions 例子参考https://github.com/microsoft/semantic-kernel/tree/main/samples/plugins 2、注意新版将引入一个 ChatHistory 类来管理对话上下文详见https://github.com/microsoft/semantic-kernel/blob/main/python/notebooks/04-kernel-arguments-chat.ipynb 3Native Functions(传统编程的回调函数) 需求 用编程语言写的函数如果用 SK 的 Native Function 方式定义就能纳入到 SK 的编排体系可以被 Planner、其它 plugin 调用。举例 写一个查询数据库的函数。这个函数名是 query_database。输入为一个 SQL 表达式。它可以放到目录结构中在 demo/MyPlugins/DBPlugin.py 里加入。 from semantic_kernel.skill_definition import sk_functionclass DBConnector:def __init__(self, db_cursor):self.db_cursor db_cursorsk_function(description查询数据库, # function 描述namequery_database, # function 名字)def exec(self, sql_exp: str) - str:self.db_cursor.execute(sql_exp)records cursor.fetchall()return str(records)------------------------------------- # 定义本地函数和数据库import sqlite3# 创建数据库连接 conn sqlite3.connect(:memory:) cursor conn.cursor()# 创建orders表 cursor.execute( CREATE TABLE Courses (id INT AUTO_INCREMENT PRIMARY KEY,course_date DATE NOT NULL,start_time TIME NOT NULL,end_time TIME NOT NULL,course_name VARCHAR(255) NOT NULL,instructor VARCHAR(255) NOT NULL ); )# 插入5条明确的模拟记录 timetable [(2024-01-23, 20:00, 22:00, 大模型应用开发基础, 孙志岗),(2024-01-25, 20:00, 22:00, Prompt Engineering, 孙志岗),(2024-01-29, 20:00, 22:00, 赠课软件开发基础概念与环境搭建, 西树),(2024-02-20, 20:00, 22:00, 从AI编程认知AI, 林晓鑫),(2024-02-22, 20:00, 22:00, Function Calling, 孙志岗),(2024-02-29, 20:00, 22:00, RAG和Embeddings, 王卓然),(2024-03-05, 20:00, 22:00, Assistants API, 王卓然),(2024-03-07, 20:00, 22:00, Semantic Kernel, 王卓然),(2024-03-14, 20:00, 22:00, LangChain, 王卓然),(2024-03-19, 20:00, 22:00, LLM应用开发工具链, 王卓然),(2024-03-21, 20:00, 22:00, 手撕 AutoGPT, 王卓然),(2024-03-26, 20:00, 22:00, 模型微调上, 王卓然),(2024-03-28, 20:00, 22:00, 模型微调下, 王卓然),(2024-04-09, 20:00, 22:00, 多模态大模型上, 多老师),(2024-04-11, 20:00, 22:00, 多模态大模型中, 多老师),(2024-04-16, 20:00, 22:00, 多模态大模型下, 多老师),(2024-04-18, 20:00, 22:00, AI产品部署和交付上, 王树冬),(2024-04-23, 20:00, 22:00, AI产品部署和交付下, 王树冬),(2024-04-25, 20:00, 22:00, 抓住大模型时代的创业机遇, 孙志岗),(2024-05-07, 20:00, 22:00, 产品运营和业务沟通, 孙志岗),(2024-05-09, 20:00, 22:00, 产品设计, 孙志岗),(2024-05-14, 20:00, 22:00, 项目方案分析与设计, 王卓然), ]for record in timetable:cursor.execute(INSERT INTO Courses (course_date, start_time, end_time, course_name, instructor)VALUES (?, ?, ?, ?, ?), record)# 提交事务 conn.commit() ---------------------- #加载function # 加载 native function db_connector kernel.import_skill(DBConnector(cursor), DBConnector)# 看结果 result await kernel.run_async(db_connector[query_database],input_strSELECT COUNT(*) as count FROM Courses WHERE instructor 王卓然, )print(result)回复 [(9,)]4用 SKContext 实现多参数 Functions 需求 需要实现多参数如果 Function 都只有一个参数那么只要把参数定义为 {{KaTeX parse error: Expected EOF, got } at position 6: input}̲}就可以按前面的例子来使用…input}}会默认被赋值。多参数时就不能用默认机制了需要定义 SKContext 类型的变量。多参数的用法 from semantic_kernel.skill_definition import sk_function, sk_function_context_parameter from semantic_kernel.orchestration.sk_context import SKContextclass NewDBConnector:def __init__(self, db_cursor):self.db_cursor db_cursorsk_function(description查询数据库, # function 描述namequery_database, # function 名字)sk_function_context_parameter(namesql_exp,descriptionSQL表达式,)sk_function_context_parameter(nameoutput_prefix,description输出的文本前缀,)def exec(self, context: SKContext) - str:self.db_cursor.execute(context[sql_exp])records cursor.fetchall()return f{context[output_prefix]}: {str(records)} ---------------- # 加载 native function new_db_connector kernel.import_skill(NewDBConnector(cursor), NewDBConnector)# 创建 SKContext context sk.ContextVariables()# 变量赋值 context[sql_exp] SELECT COUNT(*) as count FROM Courses WHERE instructor 王卓然 context[output_prefix] 课节数# 看结果 result await kernel.run_async(new_db_connector[query_database],input_varscontext ) print(result)回复 课节数: [(9,)]注意 注意多参数的 Native Function 的写法在新版中会简化详见https://github.com/microsoft/semantic-kernel/blob/main/python/notebooks/08-native-function-inline.ipynb 5Plugins/Skillsplugin/skill 就是一组函数的集合。它可以包含两种函数 介绍 简单说plugin/skill 就是一组函数的集合。它可以包含两种函数 1、Semantic Functions - 语义函数本质是 Prompt Engineering 2、Native Functions - 原生函数类似 OpenAI 的 Function Calling值得一提的是SK 的 plugin 会和 ChatGPT、Bing、Microsoft 365 通用。「很快」你用 SK 写的 plugin 就可以在这些平台上无缝使用了。这些平台上的 plugin 也可以通过 SK 被你调用。补充 Plugins 最初命名为 Skills后来改为 Plugins。但是文档中还可能有「Skill」遗留。见到后就知道两者是一回事就好配套内置的plugin from semantic_kernel.core_plugins import PluginNameConversationSummaryPlugin - 生成对话的摘要HttpPlugin - 发出 HTTP 请求支持 GET、POST、PUT 和 DELETEMathPlugin - 加法和减法计算TextMemoryPlugin - 保存文本到 memory 中可以对其做向量检索TextPlugin - 把文本全部转为大写或小写去掉头尾的空格trimTimePlugin - 获取当前时间及用多种格式获取时间参数WaitPlugin - 等待指定的时间WebSearchEnginePlugin - 在互联网上搜索给定的文本 三、函数的嵌套调用 1Semantic Function 嵌套调用(不用代码的函数) 2Native Function 嵌套调用纯代码调用 四、Memory 1初始化 Embedding 2文本向量化 3向量搜索 4现在用函数嵌套做一个简单的 RAG 5连接其它 VectorDB 五、Planner开发Agent 1什么是智能体Agent 2SK Python 提供了四种 Planner 3用 Planner 实现一个能使用搜索和日历工具的 Agent 六、VS Code 插件创建和调试Semantic Function 七、Semantic Kernel 对新版 Assistants API 的支持计划
http://www.zqtcl.cn/news/967177/

相关文章:

  • 咨询公司网站源码手机优化软件哪个好用
  • 行业网站模板小型影视网站源码
  • 湖北网站建站系统哪家好微信小程序怎么注销账号
  • 温州网站推广公司沈阳网站建设服务电话
  • 2019年的阜南县建设修路网站洛阳哪里有做网站的
  • 家里电脑可以做网站服务器吗佛山网络公司哪家最好
  • 做网站属于无形资产还是费用网站制作二维码
  • ps为什么做不了视频网站最近做网站开发有前途没
  • 平面设计师参考网站做网站建设推广好做吗
  • 网站被别的域名绑定泰安做网站网络公司
  • 建设部网站业绩如何录入免费素材图片下载
  • 佛山美容网站建设如何有效的推广宣传
  • 网站全屏轮播怎么做nginx 代理 wordpress
  • 海淀公司网站搭建二级目录怎么做网站
  • 石家庄定制网站建设凡科建站做的网站收录慢吗
  • 海口企业自助建站品牌建设三年行动方案
  • 网站建设流程平台域名分析网站
  • 旅游类网站如何做推广随机网站生成器
  • 竖导航网站做网站被坑
  • 散文古诗网站建设目标做公司网站要钱吗
  • 营销网站建设规划小浪底水利枢纽建设管理局网站
  • 建站的目的网站的月度流量统计报告怎么做
  • 网站备案添加域名拼多多代运营公司十大排名
  • 网站访客qq获取系统 报价客户管理系统入口
  • 院网站建设情况报告怎么在虚拟主机上建网站
  • 厦门网站建设系统鞍山百度网站怎么制作
  • html5建设网站app开发公司不退款该怎么投诉
  • 南昌网站建设公务手工制作代加工接单网
  • 排名好的手机网站建设你知道吗 网站
  • 网站信息组织优化成都网站制作计划