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

网站服务器建设的三种方法邯郸网站建设费用

网站服务器建设的三种方法,邯郸网站建设费用,仿第四城地方门户网站模板,平面设计培训班教程最近工作上遇到了要接入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.zqtcl.cn/news/807781/

相关文章:

  • 网站怎么防黑客网站建设一般要多大空间
  • 做网站一般要多钱织梦做网站被告
  • 响应式网站如何设计网页设计与制作课程标准化项目申报书
  • 苏州公司技术支持 苏州网站建设蔬菜类网站建设规划书
  • 主流做网站wordpress字体设置
  • 大连网站建设解决方案加快政务网站群建设管理
  • 淮南网站建设全包成都设计咨询集团有限公司
  • 网站管理助手v3wordpress主题防盗版
  • 国外网页加速器seo优化排名怎么做
  • 网站后台做图片尺寸是多大企业网站的常见服务
  • 给企业建设网站的流程图南昌网站建设模板网络公司
  • 谷歌wordpress建站中山网站推广服务
  • php网站建设网站兼职做网站在那里接任务
  • 网站现在怎么做排名wordpress做成淘宝客
  • 广州网站设计成功柚米wordpress 总站模板
  • 江苏常州建设银行网站广州中学生网站制作
  • 微信公众平台怎么做微网站weirdcore制作网站
  • 国外网站如何建设seo关键词优化外包公司
  • 郑州商城网站建设多少钱商城类网站建设方案
  • 哈尔滨做网站哪好做网站公司分为国内还是国外
  • 饰品企业网站建设大连工程信息建设网
  • 昆山网站推广四川网站建设费用
  • 中国建设银行网站易方达消费我有域名怎么做网站
  • 网站图片规格2023年7 8月十大新闻
  • 建立一个小型网站多少钱晋城网站制作
  • 泰安哪家做网站好定制app软件
  • 成品网站设计网站wordpress 登录慢
  • 广州营销型网站建设公司哪家名气大朝阳网络公司
  • 网站怎么做排查修复关键词排名优化网站
  • 上海企业网站动易网站模版的制作