CatAI 项目介绍
CatAI 是一个让用户可以在本地计算机上运行人工智能助手的项目。它提供了一个聊天界面,通过利用本地硬件和相关的软件技术,用户可以与AI助手进行实时的交流。该项目受到了 Node-Llama-Cpp 和 Llama.cpp 的启发。
安装与使用
要开始使用 CatAI,用户需确保已安装 Node.js。接下来,即可通过下列命令安装和启动 CatAI:
npm install -g catai
catai install meta-llama-3-8b-q4_k_m
catai up
安装完成后,用户可以通过这个简单的命令行接口(CLI)来管理和与模型互动。
主要功能
- 自动检测编程语言:当用户与 AI 助手沟通时,系统可以自动识别使用的编程语言。
- 点击用户图标查看原始消息:用户界面设计简洁友好,方便查看对话内容。
- 实时文本流:交互时能够实现文字的实时更新与显示。
- 快速模型下载:利用多线程下载技术,加速模型下载过程。
跨平台支持
CatAI 可以在多个操作系统上使用,包括 Windows、Linux 和 Mac。这得益于它对多种硬件架构的支持,例如:
- darwin-x64(macOS)
- darwin-arm64
- linux-x64
- linux-arm64
- linux-armv7l
- linux-ppc64le
- win32-x64-msvc(Windows)
Web API
CatAI 提供了一个简易的 Web API,用户可以通过该 API 向模型提问并获取回答。例如:
const response = await fetch('http://127.0.0.1:3000/api/chat/prompt', {
method: 'POST',
body: JSON.stringify({
prompt: 'Write me 100 words story'
}),
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.text();
开发者 API
除了 Web API,CatAI 还提供了更为灵活的开发者 API,支持用户构建更多定制化的聊天体验。
import { createChat, downloadModel, initCatAILlama, LlamaJsonSchemaGrammar } from "catai";
// 下载模型,如果已有可跳过
await downloadModel("meta-llama-3-8b-q4_k_m");
const llama = await initCatAILlama();
const chat = await createChat({
model: "meta-llama-3-8b-q4_k_m"
});
const fullResponse = await chat.prompt("Give me array of random numbers (10 numbers)", {
grammar: new LlamaJsonSchemaGrammar(llama, {
type: "array",
items: {
type: "number",
minimum: 0,
maximum: 100
},
}),
topP: 0.8,
temperature: 0.8,
});
console.log(fullResponse); // [10, 2, 3, 4, 6, 9, 8, 1, 7, 5]
贡献与许可
CatAI 欢迎社区的贡献,研发人员可以根据 贡献指南 提供代码或想法。该项目还采用了 MIT 许可证,这是一个宽松的开源许可协议,项目所使用的所有功能模块均在此许可协议下发布。
总之,CatAI 是一个功能强大且便于使用的本地 AI 助手工具,它丰富的API支持与灵活的设备兼容性使得用户可以轻松创建个性化的人工智能体验。