快速开发ChatGPT桌面智能助理

我们使用轻量开发环境 aardio ,体积只有几 MB,下载就可以编程,不需要任何复杂的配置。

调用 ChatGPT 接口

打开 aardio ,点左上角『新建控制台』按钮:

快速开发ChatGPT桌面智能助理

创建一个控制台程序:

快速开发ChatGPT桌面智能助理

输入下面的代码调用 OpenAI 接口:

import console.int;
import web.rest.jsonClient;

//创建 API 客户端
var http = web.rest.jsonClient(); 

//设置 Key 或者获取 Key 的网址。
http.setAuthToken("http://api.aardio.com/demo/openai/token");

//引入 OpenAI 接口
var ai = http.api("https://api.openai.com/v1/");

//调用 API 
var ret = ai.completions({
    "prompt": "现在几点了",//发送问题
    "model": "text-davinci-003",//模型
    "temperature": 0.8,//热度,0~1 之间。
    "max_tokens": 2048,//最大允许的字符数量   
})
 
//显示回复
console.log( ret.choices[1].text )

aardio 调用 Web API 接口的代码非常简单,甚至不需要封装 OpenAI 扩展库。

实现 ChatGPT 桌面智能助理

为了生成体积更小的独立 EXE 程序,我们调用系统自带的 WebView2,并且用 React ChatUI 实现界面,几句代码就可以搞定。

首先在 aardio 中创建 WebView2 工程:

快速开发ChatGPT桌面智能助理

然后在 main.aardio 中输入下面源代码:

import win.ui;
/*DSG{{*/
var winform = win.form(text="ChatGPT 桌面助理") 
/*}}*/

import web.view;
var wb = web.view(winform);

import web.rest.jsonClient;
var http = web.rest.jsonClient(); 
http.setAuthToken("http://api.aardio.com/demo/openai/token");
var ai = http.api("https://api.openai.com/v1/");
 
wb.external = {
	ask = function(prompt){
		var ret = ai.completions({
  			"prompt": prompt,//发送问题
  			"model": "text-davinci-003",//模型 
  			"temperature": 0.8,//热度,0~1 之间。
  			"max_tokens": 2048,//最大允许的字符数量   
		})
 		
		if(ret)return ret.choices[1].text;
	};	
} 

wb.html = /**html><html>
<head>
	<meta charset="utf-8" />
	<title>WebView2</title> 
	<script src="https://lib.baomitu.com/react/17.0.2/umd/react.development.js"></script>
	<script src="https://lib.baomitu.com/react-dom/17.0.2/umd/react-dom.development.js"></script>
	<script src="https://lib.baomitu.com/chatui-core/2.4.2/index.min.js"></script> 
	<link rel="stylesheet" href="https://lib.baomitu.com/chatui-core/2.4.2/index.min.css"> 
	<script src="https://lib.baomitu.com/babel-standalone/7.18.13/babel.min.js"></script>
	<style type="text/css">html,body,#app{height:100%}</style>
</head>
<body>  

<script type="text/babel"> 
	const { useState,useEffect,useCallback,useRef } =  React;  
	const { default: Chat, Bubble, useMessages } = ChatUI;  
	
	const App = () => {
  		const { messages, appendMsg, setTyping } = useMessages([{
    		type: \'text\',
    		content: { text: \'主人好,我是 ChatGPT 智能助理,你的贴心小助手~\' },
    		user: { avatar: \'https://gw.alicdn.com/tfs/TB1DYHLwMHqK1RjSZFEXXcGMXXa-56-62.svg\' },
  		}]);
		
  		function handleSend(type, val) {
    		if (type === \'text\' && val.trim()) {
      			appendMsg({
        			type: \'text\',
        			content: { text: val },
        			position: \'right\',
      			});
			
      			setTyping(true);
      			
      			aardio.ask(val).then( text=>{
      				appendMsg({
          				type: \'text\',
          				content: { text: text },
        				});	
      			}) 
    		}
  		}
		
  		function renderMessageContent(msg) {
    		const { content } = msg;
    		return ;
  		}
		
  		return (
    		
  		);
		};
		
	ReactDOM.render(, document.querySelector(\'#app\')); 
</script>
<div id="app"></div>
**/

winform.show();
win.loopMessage();

点击发布就可以生成独立 EXE 程序了。

快速开发ChatGPT桌面智能助理

程序运行界面如下:

快速开发ChatGPT桌面智能助理

请注意上面源码中的 key 仅供测试(网址返回的 key 是临时性的),请替换为自己申请的 key 。网上有很多 ChatGPI 注册教程,注册非常简单,参考教程注册以后可以申请免费 key 。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/share/30297.html

发表评论

登录后才能评论