统一提示、评估和生产集成到任何大模型
Intelligent Node
IntelliNode 是一个将最前沿的 AI 集成到您的项目中的 JavaScript 模块。通过其直观的功能,您可以轻松地将数据输入模型,如 ChatGPT、LLaMA、WaveNet、Gemini 和 Stable diffusion,并接收生成的文本、语音或图像。它还提供诸如语义搜索、多模型评估和聊天机器人功能等高级功能。
访问模块
安装
一行命令即可访问最新模型:
npm i intellinode
有关详细的使用说明,请参阅文档。
示例
Gen
Gen
功能可以在一行代码中快速生成定制内容。
导入:
const { Gen } = require('intellinode');
调用:
// 一行代码生成 HTML 页面代码(默认使用 openai gpt4)
text = '一个带有现代平面主题的注册页面。'
await Gen.save_html_page(text, folder, file_name, openaiKey);
// 或者生成博客文章(使用 cohere)
const blogPost = await Gen.get_blog_post(prompt, apiKey, provider='cohere');
聊天机器人
导入:
const { Chatbot, ChatGPTInput } = require('intellinode');
调用:
// 设置 chatGPT 系统模式和用户消息。
const input = new ChatGPTInput('你是一个乐于助人的助手。');
input.addUserMessage('地球和月球之间的距离是多少?');
// 获取 chatGPT 响应。
const chatbot = new Chatbot(OPENAI_API_KEY, 'openai');
const responses = await chatbot.chat(input);
Gemini 聊天机器人
IntelliNode 使不同 AI 模型之间的切换变得轻而易举。
- 导入:
const { Chatbot, GeminiInput, SupportedChatModels } = require('intellinode');
- 调用:
const input = new GeminiInput();
input.addUserMessage('《蒙娜丽莎》是谁画的?');
const geminiBot = new Chatbot(apiKey, SupportedChatModels.GEMINI);
const responses = await geminiBot.chat(input);
在 IntelliNode Wiki 中可以找到在 ChatGPT、LLama、Cohere、Mistral 等之间切换聊天机器人提供程序的文档。
语义搜索
导入:
const { SemanticSearch } = require('intellinode');
调用:
const search = new SemanticSearch(apiKey);
// pivotItem 是要搜索的项目。
const results = await search.getTopMatches(pivotItem, searchArray, numberOfMatches);
const filteredArray = search.filterTopMatches(results, searchArray)
提示工程
使用 LLM 生成改进的提示:
const promptTemp = await Prompt.fromChatGPT("幻想图像,忍者在建筑物之间跳跃", openaiApiKey);
console.log(promptTemp.getInput());
语言模型
导入:
const { RemoteLanguageModel, LanguageModelInput } = require('intellinode');
调用 openai 模型:
const langModel = new RemoteLanguageModel('openai-key', 'openai');
model_name = 'gpt-3.5-turbo-instruct'
const results = await langModel.generateText(new LanguageModelInput({
prompt: '写一个语音助手兼容的智能插座产品描述。',
model: model_name,
temperature: 0.7
}));
console.log('生成的文本:', results[0]);
更改以调用 cohere 模型:
const langModel = new RemoteLanguageModel('cohere-key', 'cohere');
model_name = 'command-xlarge-20221108'
// ... 相同的代码
图像模型
导入:
const { RemoteImageModel, SupportedImageModels, ImageModelInput } = require('intellinode');
调用 DALL·E:
provider=SupportedImageModels.OPENAI;
const imgModel = new RemoteImageModel(apiKey, provider);
const images = await imgModel.generateImages(new ImageModelInput({
prompt: '小熊正在时报广场写博客',
numberOfImages: 1
}));
更改以调用稳定扩散:
provider=SupportedImageModels.STABILITY;
// ... 相同的代码
Openai 高级访问
要从您的 Azure 账户访问 Openai 服务,您需要在应用程序开始时调用以下函数:
const { ProxyHelper } = require('intellinode');
ProxyHelper.getInstance().setAzureOpenai(resourceName);
要通过代理访问受限制区域的 Openai:
ProxyHelper.getInstance().setOpenaiProxyValues(openaiProxyJson);
有关更多详细信息和深入代码,请查看示例。
代码库设置
首次设置
- 启动项目:
cd IntelliNode
npm install
- 创建一个包含访问密钥的 .env 文件:
OPENAI_API_KEY=<key_value>
COHERE_API_KEY=<key_value>
GOOGLE_API_KEY=<key_value>
STABILITY_API_KEY=<key_value>
HUGGING_API_KEY=<key_value>
测试用例
-
运行远程语言模型测试用例:
node test/integration/RemoteLanguageModel.test.js
-
运行远程图像模型测试用例:
node test/integration/RemoteImageModel.test.js
-
运行远程语音模型测试用例:
node test/integration/RemoteSpeechModel.test.js
-
运行嵌入测试用例:
node test/integration/RemoteEmbedModel.test.js
-
运行聊天机器人测试用例:
node test/integration/Chatbot.test.js
:closed_book: 文档
- IntelliNode Wiki:查看 wiki 页面以获取深入的说明和实际使用案例。
- 展示:体验 Intellinode 的潜力,并使用您的密钥生成内容和 HTML 页面。
- 示例:浏览一个具有详细设置文档的代码示例,开始使用 Intellinode。
- 模型评估:展示一种快速的方法来比较多个模型在指定目标答案上的表现。
- 语义搜索:在大数据内存中进行语义搜索。
支柱
模块基础:
- 包装层 提供对最新 AI 模型的低级访问
- 控制器层 通过处理差异提供任何 AI 模型的统一输入。因此,您可以在不更改代码的情况下在 Openai 和 Cohere 等模型之间切换。
- 功能层 提供基于应用程序使用案例扩展的抽象功能。例如,一个易于使用的聊天机器人或营销内容生成工具。
路线图
招募贡献者: 注册表格 .
- 增加对 OpenAI 完成 & GPT4 的支持。
- 增加对 OpenAI DALL·E 2 的支持。
- 增加对其他 OpenAI 功能的支持。
- 增加对 cohere 生成模型的支持。
- 增加对 Google 语言模型的支持。
- 增加对 Google 语音模型的支持。
- 增加对 LLaMa AWS 私有部署的支持。
- 增加对 Anthropic claude 的支持。
- 增加对 Midjourney 图像生成的支持。
- 增加对稳定扩散的支持。
- 增加对 hugging face 推理的支持。
- 增加更多高级功能,如语义搜索、评估等。
许可证
Apache 许可证
版权所有 2023 Github.com/Barqawiz/IntelliNode
根据 Apache License, Version 2.0(“许可证”)授权; 除非符合许可证规定,否则您不能使用此文件。 您可以在以下网址获取许可证:
http://www.apache.org/licenses/LICENSE-2.0
除非法律要求或书面同意,依据许可证分发的软件按“现状”提供, 不附带任何明示或暗示的担保或条件。 请参阅许可证下的具体语言以了解许可权限及限制。