General Introduction
ell is a lightweight functional language model programming library developed by former OpenAI researcher William Guss. It is designed to treat cues as programs, not just strings. ell provides automated version control and serialization, supports multimodal data processing, and comes with a rich set of native open-source visualization tools to help users optimize the cue engineering process.
Function List
- Cue Programming: Treats cues as programs and supports complex cue engineering.
- Automated Version Control: Automatic version control and serialization of cue words through static and dynamic analysis.
- Multimodal data support: Native support for multiple data types such as text, images, audio and video.
- Local Visualization Tools: Provides ell Studio tools for cue word version control, monitoring and visualization.
- Rich type conversion: Supports type conversion of multimodal inputs and outputs to simplify cue word engineering.
Using Help
Installation process
- Install ell: Run the following command in a terminal to install ell and ell Studio:
pip install -U "ell-ai[all]"
Guidelines for use
- Creating Reminder Programs: Create a simple cue word program using ell.
import ell @ell.simple(model="gpt-4o") def hello(world: str). """You're a friendly helper who writes in lowercase."""" return f "Say hello to {world[::-1]} and write a poem."" hello("sama")
- Multimodal data processing: Processes image data using ell.
from PIL import Image import ell @ell.simple(model="gpt-4o", temperature=0.1) def describe_activity(image: Image.) return [ ell.system("You are VisionGPT. Describe in less than 5 words.") , ell.user(["Describe what the character in the picture is doing:", image]) ] # Capture the camera image and describe describe_activity(capture_webcam_image())
- Version Control and Monitoring: Prompt word version control and monitoring with ell Studio.
ell-studio --storage . /logdir
- Optimize Cue Words: Optimize the cue word engineering process with tools provided by ell to capture regressions and make adjustments.
Detailed Operation Procedure
- Creating and Managing Prompter Programs: In ell, cue words are treated as functions that can be defined and managed through decorators. Each cue word program can be version controlled and serialized, facilitating multiple iterations and optimizations.
- Multimodal data support: ell supports inputs and outputs for a wide range of data types, allowing users to easily process text, image, audio and video data and use it in cue word programs.
- Local Visualization Tools: ell Studio provides a rich set of visualization tools to help users monitor the performance of cue words for version control and optimization. You can start ell Studio from the command line and visualize and manage your cue word project in your local environment.