大家好,才是真的好。
上一篇我们讲过一步部署DominoIQ智能问答的Notes应用,这一篇我们来讲一步部署基于DominoIQ的智能问答Web应用
前提还是一样,要在Domino本地部署AI大语言模型《Domino 14.5 Drop3: 重点是AI!》
,或进行AI大语言模型远程调用《强大简单:Domino IQ任务远程调用OpenAI ChatGPT接口》
。
当然,你完全不用自己开发,可以考虑在智能问答Notes应用中,直接询问如何开发一个简易的AI问答Web应用,尽量说得详细些,这样AI就帮你写了,我这里用了豆包,直接把代码写好,并且可以预览,如下图:

接着,将这些HTML都拷贝到Notes应用中——你可以新建一个空白的Notes应用,里面新建一个页面或表单,把这些HTML代码拷贝进去,也可以采用以前我们介绍的dvdemo.nsf,详见《真的我哭死:Domino数据可视化可以这么简单》,拷贝完成后,选择文本菜单中的内置HTML,效果如下图

建议把Ajax中调用后台Domino代理程序的地方,建议改为可计算文本,并写下公式自动计算后台代理路经:

为了避免表单被按钮提交,你可以阻止表单或按钮提交,我们在表单的Onsubmit写入了return false;,如下图:

我们再新建一个代理,名称就叫做returnAiAnswer,属性设置为定时运行,从不运行,主要要写代码来调用Domino IQ进行智能问答,如下图:

Lotusscript代码我也共享在这里:
Dim ns As New NotesSession
Dim doc As NotesDocument
Dim question As String
Dim llmreq As NotesLLMRequest
Dim llmres As NotesLLMResponse
Dim szServer As String
Dim szCommand As String
Dim szQuery As String
Dim jsonNav As NotesJSONNavigator
Dim el As NotesJSONElement
Dim result As string
Set doc=ns.Documentcontext
question=doc.request_content(0)
Set jsonNav = ns.Createjsonnavigator(question)
Set el = jsonNav.GetElementByName ("question")
Set llmreq = ns.CreateLLMRequest()
szServer=ns.Currentdatabase.Server
szCommand="Question"
szQuery=question
Set llmres = llmreq.Completion (szServer, szCommand, szQuery)
If (llmres Is Nothing) Then
result=|{"answer":"error return"}|
Else
result=|{"answer":"|+llmres.Content+|"}|
End If
MsgBox result
Print {'Content-Type': 'application/json',}
Print result
这些代码你也可以通过各种AI来写,会非常快。
保存关闭后,我们在浏览器中预览一下效果,并进行提问:

是不是很简单?
用AI写前端代码实现AI问答功能……
当然,该功能还可以进行很多扩展,例如记录每个用户的提问和答案,例如在前端页面加
载用户过去提及的问题和答案等等,这就留给大家来扩展了。
今天就介绍到这里。
最后欢迎搜索公众号“协作者”来关注我。

479

被折叠的 条评论
为什么被折叠?



