小代码大功能!Notes终集成AI大语言模型
继上一篇《惊呆!Notes邮箱里集成AI大模型这么简单!》之后,今天我们真的要实现一个Notes中的集成功能:AI大语言模型!
大家好,才是真的好。
本篇看似是一篇收费内容,其实免费。
继上一篇《惊呆!Notes邮箱里集成AI大模型这么简单!》之后,今天我们真的要实现一个Notes中的集成功能:AI大语言模型!
首先,我们得选型。
别问我为什么要选通义千问,问就是支付宝扣钱比较方便。
是的,ai也不是大风刮来的,如果你没有做好花钱的准备,使用api调用ai大语言模型还是请慎重,毕竟钱是自己的,ai是别人的。
在开始之前,我们先要开通通义千问API访问授权。
首先,注册一个阿里云账户并实名。
其次,在阿里云主页搜索框搜索‘模型服务灵积’,在该页面点击立即开通,随后按步骤开通。
最后,点击产品控制台,在API-KEY管理页面创建新的API-KEY。
你看上面我写得很简单,没有像刘姥姥逛大观园,让人眼花缭乱。
其实也特简单。如果你还是没有找到,别泄气,相信芝麻掉针眼,运气好,总能找到。
有了这个KEY,就该我们来炫了,开始写代码!
如果为了复用,你可以将代码写到脚本库再复用。
如果只是为了演示功能,我们就都写在一起。
做贼的遇见截路的,巧了的是,我们这里也是为了演示,所以——以下是全部代码一次出清,隐藏了我自己的API KEY:
Sub Click(Source As Button)
On Error Goto errorhandle
Dim ErrorMsg As String
'从通义千问获取的api-key
Const key="sk-xxxxxxxxxxxxxx"
'通义千问请求的固定接口地址
Const url="https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation"
Dim ns As New NotesSession
Dim webRequest As NotesHTTPRequest
Dim response As Variant
Dim requestData As String
Dim json As Variant
Dim obj As NotesJSONObject
Dim el As NotesJSONElement
Dim workspace1 As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim dbMail As NotesDatabase
Dim docMail As NotesDocument
Dim aicontent As String
Dim askme As String
'输入Prompt提示语句
askme = workspace.Prompt (PROMPT_OKCANCELEDIT, "提示", "请输入提示语句")
If askme = "" Then
Exit Sub
End If
'发送通义千问的请求内容
requestData=|
{
"model": "qwen-turbo",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "| +askme+|"
}
]
},
"parameters": {
}
}
|
'请求内容,返回答案
Set webRequest = ns.CreateHTTPRequest()
webRequest.PreferStrings = True
Call webRequest.SetHeaderField("Authorization","Bearer "+key)
Call webRequest.SetHeaderField("Content-Type","application/json")
response=webRequest.Post(URL,requestData)
Set json = ns.CreateJSONNavigator(response)
Set el = json.Getfirstelement()
Set obj=el.Value
Set el = obj.Getelementbyname("text")
aicontent=el.Value
'Print Cstr(aicontent)
'打开用户邮箱,写一封ai内容的邮件
Set dbMail = New NotesDatabase( "", "" )
Call dbMail.OpenMail
If Not dbMail.IsOpen Then
Msgbox "打不开邮箱文件!.", 48, "错误提示"
Exit Sub
End If
Set docMail = dbMail.CreateDocument
docMail.Form = "Memo"
Set uidoc = workspace.EditDocument(True, docMail,,,True,True)
Call uidoc.GotoField("body")
Call uidoc.InsertText(aicontent)
Exit Sub
errorhandle:
ErrorMsg = "错误编号 #" & Err & Chr$(10) &|错误内容:| & Error$ & Chr$(10) & "行数:" & Erl
Msgbox errormsg,64,"错误提示:"
Exit Sub
End Sub
接着我们预览,点击“AI写邮件”按钮,很快弹出对话框。
写个什么主题呢?写辞职信特好使,但我相信不是有了AI你就想离职,所以我们反其道而行,改了一提示词,叫做招聘,如下图所示:
看通义千问给我们怎样的惊喜。
稍事等待,毕竟后台有时候很慢,你也可以加一个进度条。之后,我们就能看到答案:
果然代码打开了一个新邮件表单,把内容写了进去。
我看了一下内容,真的,比不懂技术的HR不知道高到哪里去了。
你可以再生成其他内容,如下图:
内容都挺好,就是有点过时:
不过AI在升级,你可以开通更高版本的AI大语言模型实现更精准的内容生成。
其他翻译和回复邮件等功能实现,我就不一一献丑了。更多文章可关注微信公众号:协作者
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)