Manifest:简化基础模型的提示编程指南
项目介绍
Manifest 是一个轻量级的Python库,旨在使基于基础模型(Foundation Models)的提示编程变得更加便捷。它提供了一个统一的API来支持多种模型类型,包括文本生成、评分和嵌入模型等,并且兼容OpenAI、AI21、Cohere、Together以及本地托管的HuggingFace模型。此项目特别强调了模型迭代过程中的缓存机制,以促进可复现性、成本控制及提高开发效率。它还支持异步查询和多模型轮询策略,适应不同的工作流程需求。
项目快速启动
要迅速投入Manifest的使用,首先确保你的环境已安装了必要的Python库。以下是基本安装步骤:
pip install manifest-ml
如果你的工作需要HuggingFace的扩散器支持,可以添加额外的依赖项:
pip install manifest-ml[diffusers]
对于开发者,从GitHub克隆项目并进行本地设置:
git clone git@github.com:HazyResearch/manifest.git
cd manifest
make dev
初始化一个简单的示例,确保已配置OpenAI的API密钥:
export OPENAI_API_KEY=your_api_key_here
from manifest import Manifest
# 初始化默认指向OpenAI的Manifest会话
manifest = Manifest(client_name="openai")
response = manifest.run("为什么草是绿色的?")
print(response)
应用案例和最佳实践
基础使用
使用Manifest执行简单查询,例如:
result = manifest.run("你好,世界!")
缓存管理
为了提高效率,可以启用全局缓存,比如使用SQLite:
manifest = Manifest(
client_name="openai",
cache_name="sqlite",
cache_connection="mycache.sqlite"
)
异步处理
利用异步查询提升性能:
import asyncio
results = asyncio.run(manifest.arun_batch([
"猫咪在哪里?",
"狗狗在哪里?"
]))
典型生态项目
虽然该项目本身没有明确指出典型的生态项目,但可以想象Manifest在多个场景的应用,如自动化客服系统、内容生成、代码审查助手、自然语言理解任务等领域发挥着作用。通过结合不同类型的模型,开发者可以在各种AI辅助应用程序中实现高级功能,如动态内容创作工具或自定义知识检索系统。
结合HuggingFace本地模型
此外,开发者能够集成大型预训练模型,如通过本地部署HuggingFace服务:
python3 -m manifest.api.app \
--model_type huggingface \
--model_name_or_path EleutherAI/gpt-j-6B \
--device 0
随后,在Manifest中连接到该服务地址以利用该模型:
manifest = Manifest(
client_name="huggingface",
client_connection="http://127.0.0.1:5000"
)
如此一来,即便是复杂的机器学习应用也能通过Manifest得到简化和加速。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



