IntelliNode:Node.js大模型访问统一接口库【Gen AI】

使用最新的 AI 模型更新你的应用程序可能具有挑战性,因为它涉及了解不同 AI 模型的复杂性并管理许多依赖项。 IntelliNode 是一个开源库,旨在通过提供统一且易于使用的界面来解决集成 AI 模型的挑战。 这使开发人员能够快速构建 AI 原型并使用高级 AI 功能增强其应用程序,从而开辟广泛的业务场景。

在这里插入图片描述> 推荐:用 NSDT场景设计器 快速搭建可编程3D场景。

1、为什么要使用不同的AI模型?

每个 AI 模型都有自己的优势和独特的功能。 Cohere 擅长生成自定义文本模型,而 OpenAI 的 ChatGPT 可增强用户交互和上下文理解。 谷歌的 DeepMind 文本转语音模型提供高质量的合成音频,而 DALL·E 和 Stable Diffusion 以其图像生成能力而闻名。 通过利用这些模型,开发人员可以获得尖端的人工智能技术,并根据他们的应用程序对其进行定制。
在这里插入图片描述

IntelliNode 简化了将多个 AI 模型与单个客户端集成的过程,将应用程序的业务逻辑与模型差异分离开来。 借助 IntelliNode,开发人员可以使用 Cohere 语言模型快速生成文本、使用 ChatGPT 生成图像描述、使用 Stable Diffusion 生成图像,或者使用 Google DeepMind 的模型合成音频,所有这些只需几行代码。

2、快速上手IntelliNode

为了演示使用 IntelliNode 集成 AI 模型的简单性,让我们考虑构建一个生成产品描述、图像和动态音频内容的电子商务工具的示例。
在这里插入图片描述

首先,将以下模块添加到你的NodeJS项目:

npm i intellinode

让我们为打算销售的游戏椅生成产品文本描述:

const {RemoteLanguageModel,LanguageModelInput} = require('intellinode');

const textModelInput = 'Write a creative product description for gaming chair with black and red colors';
const textProductDesc = await generateProductDescription(textModelInput, MyKeys.cohere, 'cohere', 'command-xlarge-20221108');

// common function to use it with any text generation
async function generateProductDescription(textInput, apiKey, modelBackend, modelName) {
  const langModel = new RemoteLanguageModel(apiKey, modelBackend);
  const results = await langModel.generateText(new LanguageModelInput({
    prompt: textInput,
    model: modelName,
    maxTokens: 300
  }));
  return results[0].trim();
}

下一步是使用产品详细信息生成图像描述:

const { Chatbot, ChatGPTInput } = require('intellinode');

const imageDescription = await getImageDescription(textProductDesc, MyKeys.openai, 'openai');

// common function to use with any future code
async function getImageDescription(textInput, apiKey, modelBackend) {
  const chatbot = new Chatbot(apiKey, modelBackend);
  const input = new ChatGPTInput('generate image description from paragraph to use it as prompt to generate image from DALL·E or stable diffusion image model. return only the image description to use it as direct input');
  input.addUserMessage(textInput);
  const responses = await chatbot.chat(input);
  return responses[0].trim();
}

此时,我们可以利用图像描述,使用稳定扩散或DALL·E 2生成高质量图像; 在下面的代码中,我们将使用扩散,但如果你想使用其他模型,则需要进行一些更改:

const {RemoteImageModel,SupportedImageModels,ImageModelInput} = require('intellinode');

const images = await generateImage(imageDescription, MyKeys.stability, SupportedImageModels.STABILITY);

// common function for future use
async function generateImage(imageText, apiKey, modelBackend) {
  const imgModel = new RemoteImageModel(apiKey, modelBackend);
  const imageInput = new ImageModelInput({
    prompt: imageText,
    numberOfImages: 3,
    width: 512,
    height: 512
  });
  return await imgModel.generateImages(imageInput);
}

如果想使用 Openai 生成图像并比较适合你的案例的输出,只需修改两个参数并保持代码和输出流程相同:

// optional code change to use DALL·E instead of Diffusion
// 1. MyKeys is a dictionary to store multiple keys.
// 2. SupportedImageModels provided by the library.
const images = await generateImage(imageDescription, 
                    MyKeys.openai, 
                    SupportedImageModels.OPENAI);

输出:

在这里插入图片描述

对于交互式体验,我们可以为产品描述生成音频:

const {RemoteSpeechModel, Text2SpeechInput, AudioHelper} = require('intellinode');

const decodedAudio = await generateSpeech(textProductDesc, MyKeys.google, 'google');

// common function for future use
async function generateSpeech(textProductDesc, apiKey, modelBackend) {
  const speechModel = new RemoteSpeechModel(apiKey);
  const input = new Text2SpeechInput({ text: textProductDesc, language: 'en-gb' });
  const audioContent = await speechModel.generateSpeech(input);
  const audioHelper = new AudioHelper();
  return audioHelper.decode(audioContent);
}

输出:
在这里插入图片描述

我们看到了如何无缝集成各种 AI 模型,使开发人员能够专注于其应用程序的核心功能,并利用 AI 功能来增强用户体验。

3、深入探索业务用例

IntelliNode 为各行各业的企业开辟了许多机会。 除了电子商务应用程序之外,这里还有一些我们可以使用该库构建的其他潜在用例:

  • 客户支持:通过实施能够理解用户查询并及时提供相关响应的人工智能聊天机器人来改善客户服务体验。 我们可以利用库中的语言和音频模型来实现这一点。
  • 语音助手:使用 Google DeepMind 的文本转语音模型创建语音驱动的应用程序或将语音命令功能集成到现有产品中。
  • 视觉内容生成:利用图像和语言模型为数字营销活动、社交媒体帖子或网站设计自动生成具有视觉吸引力的内容。 企业可以通过将 DALL·E 的创意能力与 GPT-3 或 Cohere.ai 等强大的语言模型相结合来创建独特的视觉效果。

4、结束语

随着 AI 随着许多模型和库的不断发展,利用 IntelliNode 等工具对于在竞争中保持领先地位并将你的业务应用程序与模型集成解耦至关重要。 这个开源库提供对流行模型的简化和统一访问,使开发人员能够在各个领域利用 AI 的力量,而不必受限于特定技术。


原文链接:IntelliNode - Node.js AI | BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17271.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CompletableFuture

线程基础知识复习 大神:Doug Lea java.util.concurrent java.util.concurrent.aomic Java.util.concurrent.locks 硬件 摩尔定律: 它是由英特尔创始人之一 Gordon Moore(戈登摩尔)提出来的。其内容: 当价格不变是,集成电路…

python相对路径与绝对路径

9.1 Python 绝对路径与相对路径 - 知乎 (zhihu.com) 目录 1. 绝对路径 1.1 概念 1.2 用绝对路径打开文件 1.2 相对路径 1.3 python路径表示的斜杠问题 1. 绝对路径 1.1 概念 绝对路径 指完整的描述文件位置的路径。绝对路径就是文件或文件夹在硬盘上的完整路径。 在 Win…

Java 基础入门篇(二)—— Java 基础语法

文章目录 一、注释二、字面量三、变量3.1 变量概述3.2 变量在计算机中的底层原理 四、数据类型五、关键字、标志符六、类型转换6.1 自动类型转换6.2 表达式的自动类型转换6.3 强制类型转换 七、运算符7.1 基本算数运算符7.2 符号做连接符7.3 自增自减运算符7.4 赋值运算符7.5 …

基于simulink采用 QSHB 和 HBPS 算法的混合 MIMO 波束成形仿真

一、前言 本例展示了多输入多输出 (MIMO) 无线通信系统的 Simulink 模型。无线系统使用混合波束成形技术来提高系统吞吐量。 二、介绍 5G和其他现代无线通信系统广泛使用MIMO波束成形技术进行信噪比(SNR)增强和空间复用&#xff0…

Netty(2)

Netty 文章目录 Netty4 Netty 模型4.1 Netty 模型介绍4.2 Netty demo4.3 Netty 异步模型4.3.1 基本介绍4.3.2 异步模型4.3.3 Future-Listener 机制4.4 Netty 任务队列 task 4 Netty 模型 4.1 Netty 模型介绍 Netty 线程模式:Netty 主要基于主从 Reactor 多线程模型…

开放式基金净值估算数据 API 数据接口

开放式基金净值估算数据 API 数据接口 全量基金数据,实时数据,所有基金数据。 1. 产品功能 返回实时开放式基金净值估值可定义所有基金估值数据;多个基金属性值返回;多维指标,一次查询毫秒级返回;数据持续…

全球5G市场最新进展及未来展望

从智慧医疗到万物互联,从无人驾驶到关乎我国未来发展的“新基建”,自2019年全球5G商用启动后,5G就步入了发展“快车道”;2022年继续保持快速稳定的增长态势,在网络建设、人口覆盖、终端形态等方面发展势头强劲,在技术标…

【致敬未来的攻城狮计划】— 连续打卡第二十三天:RA2E1的存储器基础知识

系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 3.欲速则不达,今天是对RA2E1 基础知识的补充学习。 4.e2 studio 使用教程 5.…

每天一道算法练习题--Day18 第一章 --算法专题 --- ----------前缀树

前缀树 字典树也叫前缀树、Trie。它本身就是一个树型结构,也就是一颗多叉树,学过树的朋友应该非常容易理解,它的核心操作是插入,查找。删除很少使用,因此这个讲义不包含删除操作。 截止目前(2020-02-04&a…

基于R语言APSIM模型应用

随着数字农业和智慧农业的发展,基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…

净利润下滑13%,帅丰电器已掉队?

近年来,随着市场竞争加剧,厨电行业加速洗牌,超60%杂牌或被淘汰出局,三类品牌全部被清退。而作为毛利最高的厨电细分市场,集成灶行业吸引了大批企业涌入,市场渗透率快速提升,已经超过30%&#xf…

华为MPLS跨域——后门链路实验配置

目录 配置PE与CE设备对接命令(通过OSPF对接) 配置后门链路 可以使用任意方式来跑跨域MPLS(A、B、C1、C2都可以),不过关于传递Vpnv4路由的配置此处不做介绍;此处只介绍关于PE和CE对接的配置和关于后门链路…

数据存储系统概要

可靠、可扩展与可维护性 现在有很多都属于数据密集型,而不是计算密集型。对于这些类型应用,CPU的处理能力往往不是第一限制性因素,关键在于数据量、数据的复杂度及数据的快速多边形。 数据密集型应用模块: 数据库:存…

对标世界一流|从Just in time到Just in case ——汽车行业供应链管理经验借鉴

01 丰田汽车精益生产 作为最复杂和最成熟的供应链之一,汽车行业供应链无疑是供应链领域集大成者,而提起汽车行业供应链,就不得不提到丰田汽车;提到丰田汽车,就肯定离不开大名鼎鼎的精益生产以及JIT模式。 JIT模式由丰…

云服务器部署python项目

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

SpringBoot+Shiro+Jwt+Vue+elementUI实现前后端分离单体系统Demo

记录一下使用SpringBoot集成Shiro框架和Jwt框架实现前后端分离Web项目的过程,后端使用SpringBoot整合ShiroJwt(auth0),前端使用vueelementUI框架,前后端的交互使用的是jwt的token,shiro的会话关闭,后端只需要使用Shiro…

在Linux上搭建gitlab以及自动化编译部署的完整流程

一、安装gitlab 首先下载gitlab的安装包,地址如下: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/ 然后安装下载的包即可,一般还需要安装openssh-server等依赖包,在安装gitlab包之前可以…

睡眠经济2.0时代来了,老巨头们有护城河吗?

在第23个世界睡眠日,中国睡眠研究会等机构发布了《中国睡眠研究报告2023》,近半数人每晚平均睡眠时长不足8小时,“失眠”已成为了当代人的生活常态。 越是睡不好,越要想办法。年轻人纷纷求助于好的寝具、好的助眠产品乃至保健品&…

【Halcon】找到设备上的 标识牌

如图,找到设备上的 标识牌 。 标识牌最明显的特征是比其他区域亮, 二值化选择出亮区域,再通过面积选择出目标区域。 先显示图片 *获取图片的大小 get_image_size(Image,Width,Height)*关闭窗口 dev_close_window()*打开窗口 dev_open_win…

java错题总结(19-21页)

链接:关于Java中的ClassLoader下面的哪些描述是错误的_用友笔试题_牛客网 来源:牛客网 B:先讲一下双亲委派机制,简单来说,就是加载一个类的时候,会往上找他的父类加载器,父类加载器找它的父类加…