YiVal

GitHub
2.1k 329 简单 1 次阅读 3天前Apache-2.0插件开发框架Agent数据工具语言模型图像
AI 解读 由 AI 自动生成,仅供参考

YiVal 是一款专为生成式 AI 应用打造的自动化提示工程助手,旨在通过数据驱动和以评估为核心的方法,彻底改变传统依赖人工调整 Prompt 及配置的低效模式。它能够自动优化提示词、检索增强生成(RAG)配置以及模型参数,帮助应用在提升效果的同时,有效降低延迟并节约推理成本。

在实际开发中,YiVal 精准解决了五大痛点:一是突破提示词创作瓶颈,让低分提示自动迭代至最优;二是降低微调门槛,无需深究复杂算法即可上手;三是增强开发者对 Agent 架构的信心,避免上线后成本失控或体验不佳;四是应对模型与数据漂移,确保应用长期稳定运行;五是提供科学的评估指标体系,帮助用户明确优化方向。

这款工具非常适合希望构建高质量 GenAI 应用的开发者、研究人员以及技术团队使用。无论是利用 LangChain 还是 LlamaIndex 构建智能体,YiVal 都能作为可靠的“副驾驶”辅助决策。其独特的技术亮点在于支持“任何配置”的闭环调优,不仅限于文本提示,还能覆盖整个应用链路的关键参数。通过 Docker 一键部署或 Python 包安装,用户可快速集成到现有工作流中,让 AI 应用开发变得更加高效、可控且经济。

使用场景

某电商初创团队正在开发一款基于大模型的“智能商品标题生成器”,旨在为海量 SKU 自动创作高点击率的营销文案。

没有 YiVal 时

  • 提示词优化全靠人工“猜谜”,团队成员反复手动修改指令,但生成质量评分长期停滞在 60 分,无法突破瓶颈。
  • 面对模型参数漂移和数据分布变化,缺乏自动化监控手段,担心上线后效果突然下滑却无从察觉。
  • 不确定该选用哪些评估指标(如相关性、吸引力或合规性),导致测试标准模糊,难以量化改进成果。
  • 每次调整配置都需全量重新测试,耗时耗力且推理成本高昂,严重拖慢了产品迭代速度。

使用 YiVal 后

  • YiVal 通过数据驱动的自动提示工程,快速搜索并锁定最优指令组合,将文案质量评分从 60 分提升至 92 分。
  • 内置的持续评估机制自动监测模型与数据漂移,一旦检测到性能波动立即预警并触发重调优,确保服务稳定性。
  • 根据业务目标自动推荐并配置最相关的评估器(如点击率预测模型),让优化方向清晰明确,结果可量化。
  • 在闭环中自动微调 RAG 配置与模型参数,以最小的推理成本实现最佳效果,将原本数天的调优周期缩短至几小时。

YiVal 将原本依赖经验与运气的提示词调优过程,转变为高效、精准且可度量的自动化工程流程。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 非必需
  • 若使用 PyTorch GPU 版本,需 NVIDIA GPU 并支持 CUDA 12 (镜像标签 cu12)
内存

未说明

依赖
notes必须配置 OPENAI_API_KEY 环境变量。推荐使用 Docker 运行(提供含 CUDA 12 和 Jupyter 的镜像)。开发环境建议使用 Poetry 管理依赖,也可通过 GitHub Codespaces 快速搭建。
python3.10+
yival
openai
poetry
docker
litellm
YiVal hero image

快速开始

YiVal Logo YiVal

⚡ 自动提示生成 ⚡

👉 关注我们:Twitter | Discord

👉 由 Discord AIGC 社区赞助: Discord

许可证:MIT GitHub 星标数 未解决的问题

什么是 YiVal?

YiVal:面向生成式 AI 应用的自动提示工程助手 YiVal 是一款最先进的工具,旨在简化您生成式 AI 应用的提示词以及循环中的任何配置的调优过程。借助 YiVal,手动调整将成为过去。这种数据驱动且以评估为中心的方法可确保获得最佳提示、精确的 RAG 配置和精细调优的模型参数。通过 YiVal,您可以轻松地让您的应用实现 更优异的结果、更低的延迟以及更少的推理成本

YiVal 试图解决的问题:

  1. 提示词开发挑战:“我无法创建更好的提示词。目前提示词的得分只有 60 分,这对我毫无帮助🤔。”
  2. 微调困难:“我不知道如何进行微调;相关的术语和众多的微调算法让我感到不知所措😵。”
  3. 自信与可扩展性:“我学习了 Langchain 和 LlamaIndex 的教程来构建智能体,但这样做真的正确吗?上线后我的钱会不会被机器人烧光?用户会喜欢我的生成式 AI 应用吗🤯?”
  4. 模型与数据漂移:“模型和数据总是在变化;我担心现在表现良好的生成式 AI 应用以后可能会失效😰。”
  5. 相关指标与评估器:“针对我的使用场景,我应该关注哪些指标和评估器📊?”

查看我们的快速入门指南!

演示链接

TikTok 标题自动调音

安装

Docker 运行时

安装 Docker 并从 Docker Hub 拉取我们的镜像:

docker pull yival/release:latest

运行我们的镜像:

docker run --it yival/release:latest

建议使用带有 Docker 扩展的 VSCode 来运行和开发。如果您是使用 PyTorch 和 GPU 的开发者,或者需要 Jupyter Lab 进行数据科学:

docker pull yival/release:cu12_torch_jupyter
docker run --gpus all --it -p 8888:8888 yival/release:cu12_torch_jupyter

先决条件

  • Python 版本:请确保已安装 Python 3.10 或更高版本。
  • OpenAI API 密钥:从 OpenAI 获取 API 密钥。获取密钥后,请将其设置为名为 OPENAI_API_KEY 的环境变量。

安装方法

使用 pip(推荐给用户)

直接使用 pip 安装 yival 包:

pip install yival

使用 Poetry 进行开发环境搭建

如果您希望参与贡献或搭建开发环境:

  1. 安装 Poetry:如果您尚未安装,请先安装 Poetry

  2. 克隆仓库或使用 CodeSpace

    2.1 使用 CodeSpace 这是获取 YiVal 开发环境最简单的方式。点击下方链接使用 GitHub Codespace,然后进入下一步。

    在 GitHub Codespace 中打开

    2.2 克隆仓库

    git clone https://github.com/YiVal/YiVal.git
    cd YiVal
    
  3. 使用 Poetry 设置环境:初始化 Python 虚拟环境并使用 Poetry 安装依赖项。请务必在 /YiVal 目录下运行以下命令:

    poetry install --sync
    

尝试使用 YiVal

设置完成后,您可以通过生成随机科技初创公司名称的数据集来快速开始使用 YiVal。

运行第一个 YiVal 程序的步骤

  1. 导航到 yival 目录

    cd /YiVal/src/yival
    
  2. 设置 OpenAI API 密钥:将 $YOUR_OPENAI_API_KEY 替换为您实际的 OpenAI API 密钥。

    在 macOS 或 Linux 系统上,

    export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY
    

    在 Windows 系统上,

    setx OPENAI_API_KEY $YOUR_OPENAI_API_KEY
    
  3. 定义 YiVal 配置: 创建一个名为 config_data_generation.yml 的配置文件,用于自动生成测试数据集,内容如下:

    description: 生成测试数据
    dataset:
      data_generators:
        openai_prompt_data_generator:
          chunk_size: 100000
          diversify: true
          model_name: gpt-4
          input_function:
            description: # 函数描述
              给定一家科技初创公司,生成相应的着陆页标题
            name: headline_generation_for_business
            parameters:
              tech_startup_business: str # 参数名称和类型
          number_of_examples: 3
          output_csv_path: generated_examples.csv
      source_type: machine_generated
    
  4. 执行 YiVal: 从 /YiVal/src/yival 目录下运行以下命令:

    yival run config_data_generation.yml
    
  5. 检查生成的数据集: 生成的测试数据集将保存在 generated_examples.csv 文件中。

有关 YiVal 的更多详细信息,请参阅YiVal 文档页面

演示

演示视频

用例演示 支持的功能 Github 链接 视频演示链接
🐯 使用 ChatGPT 和 MidJourney 打造你的 AI 故事 多模态支持:借助 YiVal 的多模态支持,同时使用文本和图像设计一个由 AI 驱动的故事情节。它原生且无缝地支持人类反馈强化学习(RLHF)和AI 反馈强化学习(RLAIF)。请观看上方视频了解此用例。 在 GitHub 中打开 在 YouTube 中打开
🌟 使用你自己的问答测试数据集评估多个 LLM 的性能 借助 LiteLLM,可以方便地评估和比较你选择的模型与 100 多种其他模型的性能。针对你的自定义测试数据或特定用例,分析量身定制的模型性能基准。 在 GitHub 中打开 在 YouTube 中打开
🔥 创业公司标题生成机器人 通过 GPT-4 实现自动化测试数据创建、提示编写、结果评估以及性能提升,从而简化创业公司的标题生成流程。 在 GitHub 中打开 在 YouTube 中打开
🧳 构建个性化旅行指南机器人 利用受旅行社区最受欢迎建议启发的自动化提示,例如来自 awesome-chatgpt-prompts 的建议。 在 GitHub 中打开 在 YouTube 中打开
📖 打造更便宜的翻译器:利用 GPT-3.5 教 Llama2 创建推理成本更低的翻译工具 通过 Replicate 和 GPT-3.5 的测试数据,你可以对 Llama2 的翻译机器人进行微调。在仅损失 6% 性能的情况下,实现 18 倍的成本节约。 在 GitHub 中打开 在 YouTube 中打开
🤖️ 与你喜爱的角色对话——《月歌行》中的澹台烬 通过自动化提示生成和角色剧本检索,让你喜爱的角色栩栩如生。 在 GitHub 中打开 在 YouTube 中打开
🔍评估护栏在生成 Python(.py) 输出方面的性能 Guardrails:我的护栏在哪里?😭 <br>Yival:我在这里。⭐️<br><br>这项集成评估实验使用 80 道 LeetCode 题目 CSV 文件,分别采用护栏和仅使用 GPT-4 进行测试。结果显示,使用护栏时准确率从 0.625 下降至 0.55,延迟增加 44%,成本增加 140%。护栏距离实际生产应用仍有很长的路要走。 在 GitHub 中打开 在 YouTube 中打开
🍨可视化世界各地的不同美食!🍱 只需提供食物所属地点和最佳品尝季节,即可获得一段应季美食的视频!🤩 在 GitHub 中打开 在 YouTube 中打开
🎈CoD 辅助新闻文章摘要 通过整合“密度链”("Chain of Density")方法,评估增强器在文本摘要方面的能力。🎆 使用 GPT-4 生成的3篇用于评估的文章,连贯性得分提高了20.03%,属性得分提高了25.18%,平均 token 使用量从2054.6 减少到 1473.4(下降 28.3%)🚀。 在 GitHub 中打开 在 YouTube 中打开
🥐 自动化 TikTok 标题生成机器人 仅需两行输入,即可根据目标受众和视频内容摘要,轻松创建简洁而精致的 TikTok 视频标题。这正是我们的自动提示功能所呈现的效果:整个过程自动化,你只需输入需求,便可无忧享受成果! 在 GitHub 中打开 在 YouTube 中打开

贡献指南

如果您想为 YiVal 做出贡献,请务必查看 贡献指南。 我们使用 GitHub 问题 来跟踪 请求和错误报告。 如有任何一般性问题或讨论,请加入 YiVal 的 Discord 频道。 加入我们的协作社区,您的独特研究专长和软件工程技能将受到高度认可!参与我们的项目,成为创新领域的一员,让每一行代码和每一条研究见解都积极推动技术进步,共同构建一个智能互联、人人可及的未来。

贡献者


🌟 YiVal 欢迎您的贡献!🌟

🥳 非常感谢所有了不起的贡献者 🥳

论文 / 算法实现

论文 作者 主题 YiVal贡献者 数据生成器 变体生成器 评估者 选择器 增强器 配置
大型语言模型是人类级别的提示工程师 周永超, 安德烈·伊万·穆雷沙努, 韩子文 YiVal进化器, 自动提示 OpenAIPromptDataGenerator OpenAIPromptVariationGenerator OpenAIPromptEvaluator, OpenAIEloEvaluator AHPSelector OpenAIPromptBasedCombinationEnhancer config
BERTScore:用BERT评估文本生成 张天义, 瓦尔莎·基肖尔, 费利克斯·吴 YiVal评估者, bertscore, rouge @crazycth - - BertScoreEvaluator - - -
AlpacaEval 李雪晨, 张天义, 扬·杜布瓦 YiVal评估者 - - AlpacaEvalEvaluator - - config
密度链 格里芬·亚当斯 亚历山大·R·法布里 提示工程 - ChainOfDensityGenerator - - - config
大型语言模型作为优化器 杨承润 王学志 提示工程 @crazycth - - - - optimize_by_prompt_enhancer config
LoRA:大型语言模型的低秩适应 爱德华·J·胡 沈烨龙 LLM微调 @crazycth - - - - sft_trainer config

版本历史

v0.1.0a102023/12/08
v0.1.0a92023/11/01
v0.1.0a82023/10/11
v0.1.0a72023/10/03
v0.1.0a62023/10/02
v0.1.0a52023/09/26
v0.1.0a42023/09/18
v0.1.0a32023/08/20
v0.1.0a22023/08/09

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|3天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

144.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|2天前
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|昨天
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|2天前
语言模型图像Agent