综合介绍
ell 是一款由前 OpenAI 研究员 William Guss 开发的轻量级函数式语言模型编程库。它的设计理念是将提示词视为程序,而不仅仅是字符串。ell 提供了自动化的版本控制和序列化功能,支持多模态数据处理,并配备了丰富的本地开源可视化工具,帮助用户优化提示词工程过程。
功能列表
- 提示词编程:将提示词视为程序,支持复杂的提示词工程。
- 自动化版本控制:通过静态和动态分析实现提示词的自动版本控制和序列化。
- 多模态数据支持:原生支持文本、图像、音频和视频等多种数据类型。
- 本地可视化工具:提供 ell Studio 工具,用于提示词版本控制、监控和可视化。
- 丰富的类型转换:支持多模态输入输出的类型转换,简化提示词工程。
使用帮助
安装流程
- 安装 ell:在终端中运行以下命令安装 ell 和 ell Studio:
pip install -U "ell-ai[all]"
使用指南
- 创建提示词程序:使用 ell 创建一个简单的提示词程序。
import ell @ell.simple(model="gpt-4o") def hello(world: str): """你是一个友好的助手,使用小写字母书写。""" return f"向 {world[::-1]} 问好,并写一首诗。" hello("sama")
- 多模态数据处理:使用 ell 处理图像数据。
from PIL import Image import ell @ell.simple(model="gpt-4o", temperature=0.1) def describe_activity(image: Image.Image): return [ ell.system("你是 VisionGPT。用小于5个字描述。"), ell.user(["描述图中人物在做什么:", image]) ] # 捕捉摄像头图像并描述 describe_activity(capture_webcam_image())
- 版本控制和监控:使用 ell Studio 进行提示词版本控制和监控。
ell-studio --storage ./logdir
- 优化提示词:通过 ell 提供的工具优化提示词工程过程,捕捉回归并进行调整。
详细操作流程
- 创建和管理提示词程序:在 ell 中,提示词被视为函数,可以通过装饰器定义和管理。每个提示词程序都可以进行版本控制和序列化,方便进行多次迭代和优化。
- 多模态数据支持:ell 支持多种数据类型的输入输出,用户可以轻松处理文本、图像、音频和视频数据,并在提示词程序中使用这些数据。
- 本地可视化工具:ell Studio 提供了丰富的可视化工具,帮助用户监控提示词的性能,进行版本控制和优化。用户可以通过命令行启动 ell Studio,并在本地环境中进行提示词工程的可视化管理。