初探轻量级LLM应用开发框架ell
ell是一个全新的开发大语言模型应用框架。 ell的官方文档里将自己称为"大语言模型编程库", “ell是一个轻量级的提示工程库,将提示(prompt)视为函数”。 现在面向LLM的编程框架层出不穷,LangChain几乎为我们封装了所有,但是有些过于重了。ell的特点是"轻量化"。
ell是一个全新的开发大语言模型应用框架。 ell的官方文档里将自己称为"大语言模型编程库", “ell是一个轻量级的提示工程库,将提示(prompt)视为函数”。 现在面向LLM的编程框架层出不穷,LangChain几乎为我们封装了所有,但是有些过于重了。ell的特点是"轻量化"。
Prompt Types 1. Zero shot(零样本) 最佳用途:Simple queries(简单查询) 含义:直接提问,不提供任何示例或背景信息 适用场景:基础问答、简单任务 2. Few shot(少样本) 最佳用途:Examples + query(示例+查询) 含义:提供几个示例来帮助AI理解期望的输出格式或风格 适用场景:需要特定格式或风格的任务 3. Open ended(开放式) 最佳用途:Creative tasks(创意任务) 含义:给AI较大的创作自由度 适用场景:写作、头脑风暴、创意生成 4. Constrained(约束式) 最佳用途:Limited scope(有限范围) 含义:设定明确的限制条件和边界 适用场景:需要精确控制输出范围的任务 5. Structured(结构化) 最佳用途:Formatted output(格式化输出) 含义:要求按照特定结构或格式输出 适用场景:数据整理、报告生成、表格制作 实际应用价值 这个框架可以帮助用户根据不同需求选择合适的提示词策略,提高AI交互的效果和效率。选择正确的提示词类型可以显著改善AI的响应质量和准确性。
本文是基于OpenAI官方Cookbook中的《How to call functions with chat models》学习笔记。 通过OpenAI的Chat Completions API,结合自定义函数,可以打造更智能、更强大的对话代理。我们将详细介绍如何利用tools参数定义函数规范,并通过实际案例演示如何让模型生成符合规范的函数参数,从而实现与外部数据的交互。当前在function calling使用过程中可能遇到的问题,如模型对系统提示的遵循程度,这很大程度上是由模型能力决定。
函数调用是OpenAI的 GPT-4 和 GPT-3.5 Turbo 模型的一项高级功能,它允许模型根据用户的指示决定是否调用特定的函数,并以结构化的形式返回信息,而不仅仅是提供文本回答。这种将大型语言模型与外部工具和API整合的能力,大大增强了模型的应用潜力。 例如,大模型本身无法获取实时天气信息,因为它没有实时数据功能。但通过函数调用,AI可以与外部系统互动,如访问信息检索系统、查询实时天气或执行代码等。这使得基于大型语言模型的智能代理能够执行更复杂的任务,显著提高了模型的实用性和应用范围。
这篇博文是基于OpenAI官方Cookbook中的以下四篇示例教程的学习笔记,主要涵盖了如何获取文本嵌入、可视化嵌入、聚类分析以及语义搜索等方面。 Get embeddings from dataset Visualizing the embeddings in 2D K-means Clustering in Python using OpenAI Semantic text search using embeddings 1.创建项目 使用poetry创建一个名称为openai-embedding-sample的项目
学习如何将文本转换为数字,从而解锁搜索等应用场景。 新的嵌入模型 text-embedding-3-small和text-embedding-3-large是我们最新且性能最强的嵌入模型,现在已经可用,具有更低的成本、更高的多语言性能,以及用于控制整体规模的新参数。
Xorbits Inference (Xinference) 是一个开源平台,用于简化各种AI模型的运行和集成。借助Xinference,可以使用任何开源LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的AI应用。 准备工作 Xinference 使用GPU加速推理,该镜像需要在有 GPU 显卡并且安装 CUDA 的机器上运行。 保证CUDA在机器上正确安装。可以使用nvidia-smi检查是否正确运行。 镜像中的CUDA版本为12.4。为了不出现预期之外的问题,请将宿主机的CUDA版本和NVIDIA Driver版本分别升级到12.4和550以上。 服务器已经安装docker(>=20.10.5) 服务器已经安装NVIDIA Container Toolkit, 并配置docker的运行时为nvidia-container-runtime 拉取镜像 docker pull xprobe/xinference:v<your_version> 启动容器 使用如下方式在容器内启动 Xinference,同时将9997端口映射到宿主机的9998端口:
see also “使用modelscope下载模型” Hugging Face 作为目前自然语言处理领域最热门的平台之一,提供了海量预训练模型。本文将介绍如何使用 huggingface-cli 下载各种模型,并通过实例演示其使用方法。 安装huggingface-cli 安装环境信息如下: 操作系统: Ubuntu 24.04 安装用户: 系统普通用户(非root, 非特权用户) Python版本: 3.11 (注Ubuntu 24.04内置安装了Python 3.12, Python 3.11需额外安装) 安装过程如下:
RustDesk Server Docker Compose 推荐Docker Compose安装: services: hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs volumes: - ./data:/root network_mode: "host" depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./data:/root network_mode: "host" restart: unless-stopped 开放防火墙端口 确保在防火墙中打开这些端口:
XDG Base Directory Specification(XDG基础目录规范)是由freedesktop.org提出的一项标准,用于统一Linux和类Unix系统中应用程序配置文件、缓存文件、数据文件等的存储位置。该规范旨在改善文件系统的整洁性、支持用户和系统配置的分离,并使应用程序行为更可预测。