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

网站开发师贴吧品牌整合营销机构

网站开发师贴吧,品牌整合营销机构,网站被k如何恢复,网站建设 办公系统最近工作上遇到了要接入gpt相关内容的需求#xff0c;简单实现了一个安卓端接入讯飞星火的UnitySDK。 或者也可以接入WebSocket接口的。本文只讲安卓实现 我使用的Unity版本为2021.3.27f1c2 Android版本为4.2.2 1.下载SDK 登陆讯飞开放平台下载如图所示SDK 2.新建安卓工程…最近工作上遇到了要接入gpt相关内容的需求简单实现了一个安卓端接入讯飞星火的UnitySDK。 或者也可以接入WebSocket接口的。本文只讲安卓实现 我使用的Unity版本为2021.3.27f1c2 Android版本为4.2.2 1.下载SDK 登陆讯飞开放平台下载如图所示SDK 2.新建安卓工程 新建安卓工程在工程下创建libs文件夹 下载的SDK解压后的aar文件至安卓工程的libs文件夹下 打开工程的build.gradle 复制以下代码 上面红框部分是引用aar下面是打jar包的逻辑 3.根据原来的demo工程修改代码 package com.rayneo.sparklib; import android.app.Activity; import com.iflytek.sparkchain.core.LLM; import com.iflytek.sparkchain.core.LLMCallbacks; import com.iflytek.sparkchain.core.LLMConfig; import com.iflytek.sparkchain.core.SparkChain; import com.iflytek.sparkchain.core.SparkChainConfig;public class SparkTool {private static final String TAG SparkLLM;private Activity _unityActivity;private String domain general;private String url wss://spark-api.xf-yun.com/v1.1/chat;public int initSDK(String appid,String apiKey,String apiSecret,int logLevel,String domain,String url) {// 初始化SDKAppid等信息在清单中配置SparkChainConfig sparkChainConfig SparkChainConfig.builder();sparkChainConfig.appID(appid).apiKey(apiKey).apiSecret(apiSecret)//应用申请的appid三元组.logLevel(logLevel);int ret SparkChain.getInst().init(getActivity(),sparkChainConfig);this.domain domain;this.url url;return ret;}public void unInitSDK() {SparkChain.getInst().unInit();}Activity getActivity(){if(null _unityActivity) {try {Class? classtype Class.forName(com.unity3d.player.UnityPlayer);Activity activity (Activity) classtype.getDeclaredField(currentActivity).get(classtype);_unityActivity activity;} catch (ClassNotFoundException e) {} catch (IllegalAccessException e) {} catch (NoSuchFieldException e) {}}return _unityActivity;}public int startChat(ISparkLLMProxy unityProxy,String msg) {LLMConfig llmConfig LLMConfig.builder();llmConfig.domain(domain).url(url);LLM llm new LLM(llmConfig);LLMCallbacks llmCallbacks new SparkLLMCallbacks(unityProxy);llm.registerLLMCallbacks(llmCallbacks);String myContext myContext;int ret llm.arun(msg,myContext);return ret;}} 这几个接口分别是初始化释放获取Unity的Activity开始gpt。 package com.rayneo.sparklib;public interface ISparkLLMProxy {void onLLMResult(int status, String Content);void onLLMEvent(int eventID, String eventMsg);void onLLMError(int errorCode, String var2);} package com.rayneo.sparklib;import android.util.Log;import com.iflytek.sparkchain.core.LLMCallbacks; import com.iflytek.sparkchain.core.LLMError; import com.iflytek.sparkchain.core.LLMEvent; import com.iflytek.sparkchain.core.LLMResult;public class SparkLLMCallbacks implements LLMCallbacks {private static final String TAG SparkLLMCallbacks;private ISparkLLMProxy unityProxy;public SparkLLMCallbacks(ISparkLLMProxy unityProxy) {this.unityProxy unityProxy;}Overridepublic void onLLMResult(LLMResult llmResult, Object usrContext) {Log.d(TAG, onLLMResult\n);String content llmResult.getContent();Log.e(TAG, onLLMResult: content);int status llmResult.getStatus();if (unityProxy ! null) {unityProxy.onLLMResult(status, content);}}Overridepublic void onLLMEvent(LLMEvent event, Object usrContext) {Log.d(TAG, onLLMEvent\n);Log.w(TAG, onLLMEvent: event.getEventID() event.getEventMsg());if (unityProxy ! null) {unityProxy.onLLMEvent(event.getEventID(), event.getEventMsg());}}Overridepublic void onLLMError(LLMError error, Object usrContext) {Log.d(TAG, onLLMError\n);Log.e(TAG, errCode: error.getErrCode() errDesc: error.getErrMsg());if (unityProxy ! null) {unityProxy.onLLMError(error.getErrCode(), error.getErrMsg());}} } 实现回调接口让Unity可以注册 点击此处导出jar包 4.导入Unity工程 拷贝jar包和aar包至Unity工程此目录下 Androidmanifest增加 权限 using System; using UnityEngine; using UnityEngine.UI; //using FfalconXR;public class IFlyLLMHandler : MonoBehaviour {public InputField input;public Button button;public Text text;private AndroidJavaObject sparkToolInstance;private void Start(){Loom.Initialize();sparkToolInstance new AndroidJavaObject(com.rayneo.sparklib.SparkTool);InitializeSDK();button.onClick.AddListener(() {text.text ;StartChat(input.text);});}public void InitializeSDK(){if (sparkToolInstance ! null){//输入开放平台的apikey等数据appid,apiKey,apiSecret,logLevel,domain,urlint ret sparkToolInstance.Callint(initSDK, 9e803172, e4045501df3916cad0c4137d43db8b3b, ZWFiZGYwMjllNTkyYTFmNjE1YTNiMWRk, 0, general, );Debug.Log(initializeSDK error code is ret);}else{Debug.LogError(SparkTool instance is null. Make sure the Android plugin is properly imported.);}}public void StartChat(string msg){if (sparkToolInstance ! null){int ret sparkToolInstance.Callint(startChat, new SparkLLMProxy(onLLMResult, onLLMEvent, onLLMError), msg);Debug.Log(startChat error code is ret);}else{Debug.LogError(SparkTool instance is null. Make sure the Android plugin is properly imported.);}}private void onLLMError(int errorCode, string error){Debug.Log(onLLMError errorCode errorCode error message error);}private void onLLMEvent(int eventID, string eventMsg){Debug.Log(onLLMError eventID eventID eventMsg eventMsg);}private void onLLMResult(int status, string content){Loom.QueueOnMainThread((p) {text.text content;}, null);Debug.Log(onLLMResult status status content content);}public void UninitializeSDK(){if (sparkToolInstance ! null){sparkToolInstance.Call(unInitSDK);}else{Debug.LogError(SparkTool instance is null. Make sure the Android plugin is properly imported.);}} } public class SparkLLMProxy : AndroidJavaProxy {private Actionint, string onLLMResultCallback;private Actionint, string onLLMEventCallback;private Actionint, string onLLMErrorCallback;public SparkLLMProxy(Actionint, string onLLMResult, Actionint, string onLLMEvent, Actionint, string onLLMError) : base(com.rayneo.sparklib.ISparkLLMProxy){onLLMResultCallback onLLMResult;onLLMEventCallback onLLMEvent;onLLMErrorCallback onLLMError;}public void onLLMResult(int status, string content){if (onLLMResultCallback ! null){onLLMResultCallback(status, content);}}public void onLLMEvent(int eventID, string eventMsg){if (onLLMEventCallback ! null){onLLMEventCallback(eventID, eventMsg);}}public void onLLMError(int errorCode, string error){if (onLLMErrorCallback ! null){onLLMErrorCallback(errorCode, error);}}}接入安卓接口 打包运行至手机上 左边输入栏输入文本点击按钮发送。收到返回即代表成功。 工程仓库地址为:https://github.com/oneSitDown/spark-unity
http://www.hkea.cn/news/14481610/

相关文章:

  • 马鞍山市网站建设公司大型外包软件公司有哪些
  • eclipse做企业网站网站建设费用兴田德润团队
  • 一元建站想自己做衣服上哪个网站学
  • 网页设计与网站建设标准数据html5教程电子书
  • 做网站的视频教学深圳定制钻戒哪里好推荐
  • 网站搭建定制西安的网页设计公司
  • 网站建设公司小程序广州seo排名优化
  • 韩国私人网站服务器wordpress文章缩略图
  • 白银市建设局网站首页百度竞价开户哪家好
  • 山东省山东省建设厅网站首页涡阳做网站
  • asp如何做网站wordpress 分类下的文章
  • 没有网站seo怎么做查看网站是哪个公司做的
  • 廊坊微信网站建设WordPress抓取豆瓣
  • 网站规划与建设课程设计深圳哪里有可以做网站跳转的公司
  • 网站 ftpsem竞价专员是干什么的
  • 学院网站建设工作会议传智黑马培训机构
  • 怎么给网站添加关键词网站设计外文文献
  • 百色网站建设短网址还原
  • 搜寻的网站有哪些网站建设分金手指专业六
  • 深圳营销型网站公司电话门户网站建设的意义
  • 沈阳网站开发培训多少钱建设工程教育网论坛官网
  • 个人网站有哪些平台做网上商城网站
  • 做网站是不是要有数据库旅游网络推广怎么做
  • 江苏广泽建设有限公司网站vip影视网站如何做app
  • 装饰公司怎么做网站做网站的电脑自带软件是什么
  • aspcms网站地图模板长沙建企聘企业管理有限公司
  • 公司做网站自己注册域名工程项目建设程序
  • 外贸网站图片素材线上推销的方法
  • 计算机网站开发职业定位安阳市建设工程招标投标协会网站
  • 福建省网站建设方案书烟台卓通网络科技有限公司