App Inventor 2 LLMAI2Ext 自研拓展:接入DeepSeek、Kimi、通义千问...等国内大模型

« 返回首页

中文网开发国内大模型拓展的初衷

App Inventor 2 原生的ChatGPT组件由于是国外的,使用起来不太便捷,且各种限制。

如今我们又身处AI浪潮之中,包括很多学校在内的国内用户都有AI结合传统的App来开发具有智能App的需求,因此,必须开发拓展以接入国内大模型,对,它专门接国内大模型的,国外的不接。

拓展接口参考了原生ChatGPT组件的简洁设计,在其基础上更加简化,还引入了它不支持的流式输出模式,且默认输出模式就是流式的,类似打字机的效果,当然也可以切换非流式,模型回答完成时一把输出。

v1.0 版本现已上线,暂时支持3个大模型的接入(DeepSeek、Kimi、通义千问),免费开放给全球用户,当然由于拓展是在最新源码平台上编译出来的,可能有些较老的平台不能很好的运行,有条件的话还是建议使用我们的平台,也会优先获得反馈支持。

当然,好的产品是需要不断迭代的,这款拓展也不例外,欢迎使用并期待您的反馈!

ext

拓展下载,免费开放

  • .aix 拓展下载:

cn.fun123.LLMAI2Ext.aix - v1.0

注:所有大模型拓展共一个.aix拓展文件,里面有多个拓展组件,导入.aix效果参考如下:

ext

回答效果参考如下:

llm

我们尽量将接口方法设计得简单易用,由于demo中包含了APIKey,因此不直接提供aia源码,这里以Kimi为例,附上代码块:

开始对话:

kimi

切换输出模式(默认流式输出,可切换非流式一把输出内容):

kimi

流式输出响应事件,每输出一部分内容都会回调一次,追加展示;最后一次回调时 finished 参数为

kimi

非流式输出,只回调一次,内容直接展示即可:

kimi

DeepSeek

使用AppInventor2接入DeepSeek大模型。从深度求索获取 API Key »

当然也可以对接其他厂商部署的DeepSeek服务,比如百度、阿里都有部署,这里选择阿里的DeepSeek服务进行测试验证:

BaseURL 由官方的改为:https://dashscope.aliyuncs.com/compatible-mode/v1

APIKey 用阿里云的。

ModelName 指定:deepseek-v3 或 deepseek-r1 (注意:第三方的模型名称和官方的不太一样)

参考测试结果如下:

llm

属性

APIKey
模型的Api Key。
BaseURL
DeepSeek 基础 URL,默认是官方地址,可修改接入第三方DeepSeek服务地址。
ModelName
模型名称。官方的DeepSeek-V3模型填:deepseek-chat 或 DeepSeek-R1推理模型填:deepseek-reasoner。 (注意:第三方的模型名称和官方的不太一样)
StreamMode
流式输出模式是否开启,默认’真’。 流式输出,即生成内容时边计算边返回,减少等待时间,提高响应速度,适用于聊天、代码补全等场景。 不开启,则是最终仅一次返回全部内容。

事件

GotStream(part,finished)
流式输出,每当有内容返回时都会触发该事件。part 为当前增量的部分内容,finished 标识输出是否已结束。
GotText(text)
非流式输出完成时触发该事件。text 为完整输出内容。

方法

Chat(content)
开始与 DeepSeek 大模型进行对话。

Kimi

使用AppInventor2接入Kimi大模型。从 Moonshot 获取 API Key »

属性

APIKey
模型的Api Key。
ModelName
模型名称。
StreamMode
流式输出模式是否开启,默认’真’。 流式输出,即生成内容时边计算边返回,减少等待时间,提高响应速度,适用于聊天、代码补全等场景。 不开启,则是最终仅一次返回全部内容。

事件

GotStream(part,finished)
流式输出,每当有内容返回时都会触发该事件。part 为当前增量的部分内容,finished 标识输出是否已结束。
GotText(text)
非流式输出完成时触发该事件。text 为完整输出内容。

方法

Chat(content)
开始与 Kimi 大模型进行对话。

阿里通义千问

使用AppInventor2接入阿里通义千问大模型。从阿里云获取 API Key »

llm

属性

APIKey
模型的Api Key。
ModelName
模型名称。
StreamMode
流式输出模式是否开启,默认’真’。 流式输出,即生成内容时边计算边返回,减少等待时间,提高响应速度,适用于聊天、代码补全等场景。 不开启,则是最终仅一次返回全部内容。

事件

GotStream(part,finished)
流式输出,每当有内容返回时都会触发该事件。part 为当前增量的部分内容,finished 标识输出是否已结束。
GotText(text)
非流式输出完成时触发该事件。text 为完整输出内容。

方法

Chat(content)
开始与千问大模型进行对话。