ialacol 项目介绍
简介
ialacol(发音为"localai")是一个轻量级的替代方案,旨在替换OpenAI API。它是一个兼容OpenAI API的包装器,支持ctransformers、GGML和GPTQ,可以选择进行CUDA/Metal加速。该项目受到了其他类似项目的启发,如LocalAI、privateGPT以及其他项目,特别关注Kubernetes的部署。
功能特点
- 兼容性:全兼容OpenAI API,支持与langchain结合。
- 轻量级:可以在Kubernetes集群上简单地进行部署,只需一键安装。
- 流式服务:优先采用流式服务以提升用户体验。
- CUDA加速:可以选择进行CUDA加速。
- 兼容集成:支持与Github Copilot VSCode扩展集成。
支持模型
ialacol支持许多模型,包括LLaMa 2变体、StarCoder、WizardCoder、StarChat变体、MPT-7B、MPT-30B、Falcon等所有ctransformers支持的LLMs。
用户界面
虽然ialacol没有自带的用户界面,但它兼容任何支持OpenAI API的网页界面,如chat-ui。
快速入门
Kubernetes部署
ialacol对Kubernetes提供了一流支持,使用户能够自动化配置。快速开始步骤如下:
helm repo add ialacol https://chenhunghan.github.io/ialacol
helm repo update
helm install llama-2-7b-chat ialacol/ialacol
默认情况下,它会部署由TheBloke量化的Meta的Llama 2 Chat模型。
端口转发
kubectl port-forward svc/llama-2-7b-chat 8000:8000
交互示例
可以使用curl与默认模型进行聊天:
curl -X POST \
-H 'Content-Type: application/json' \
-d '{ "messages": [{"role": "user", "content": "How are you?"}], "model": "llama-2-7b-chat.ggmlv3.q4_0.bin", "stream": false}' \
http://localhost:8000/v1/chat/completions
配置
配置主要通过环境变量完成,支持多种参数设定,如默认模型ID、日志等级、采样参数等。
在容器中运行
用户可从GitHub Registry 中拉取docker镜像运行ialacol。
GPU加速
通过使用专为GPU配置的容器镜像,并设置GPU_LAYERS环境变量,用户可实现GPU/CUDA加速。
开发及贡献
开发者可以从源码编译运行,并使用Python虚拟环境进行开发和调试。
项目规划
未来将在GPU加速、模型支持以及与Apache-2.0模型的集成方面持续扩展。
总而言之,ialacol为开发者提供了一个灵活且高效的本地AI替代解决方案,通过兼容广泛的模型配置和Kubernetes支持,满足多样化的机器学习部署需求。