Giter Club home page Giter Club logo

yuanzhongqiao / uptrain Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uptrain-ai/uptrain

0.0 0.0 0.0 36.28 MB

UpTrain 是一个用于评估和改进生成式 AI 应用程序的开源统一平台。我们为 20 多个预配置检查(涵盖语言、代码、嵌入用例)提供评分,对失败案例进行根本原因分析,并提供有关如何解决这些问题的见解。

Home Page: https://uptrain.ai/

License: Apache License 2.0

Shell 0.02% JavaScript 29.02% Python 70.84% CSS 0.12%

uptrain's Introduction

GitHub 发布 GitHub 提交活动 GitHub 许可证 PyPI - 下载

uptrain-仪表板-demo.mp4
uptrain-dashboard-demo.mp4

UpTrain是一个用于评估和改进生成式 AI 应用程序的开源统一平台。我们提供20 多个预配置评估的评分(涵盖语言、代码、嵌入用例),对失败案例进行根本原因分析,并提供有关如何解决这些问题的见解。


主要特点🔑

交互式仪表板

UpTrain Dashboard 是一个基于 Web 的界面,在您的本地计算机上运行。您可以使用仪表板评估您的 LLM 申请、查看结果并执行根本原因分析。

20 多个预配置评估

支持20 多种预先配置的评估,例如响应完整性、事实准确性、上下文简洁性等。

数据安全

所有评估和分析都在您的系统本地运行,确保数据永远不会离开您的安全环境(使用模型分级检查时的 LLM 调用除外)

实验

尝试不同的嵌入模型,例如 text-embedding-3-large/small、text-embedding-3-ada、baai/bge-large 等。UpTrain 支持 HuggingFace 模型、复制端点或端点上托管的自定义模型。

根本原因分析

您可以对用户负面反馈或评估分数较低的案例进行根本原因分析,以了解 LLM 管道的哪一部分给出的结果不理想。查看支持的 RCA 模板。

从各种评估法学硕士中进行选择

我们允许您使用任何 OpenAI、Anthropic、Mistral、Azure 的 Openai 端点或 Anyscale 上托管的开源 LLM 来用作评估器。

定制评估

UpTrain 提供了大量定制评估的方法。您可以自定义评估方法(思路与分类)、少量示例和场景描述。您还可以创建自定义评估器。

即将推出:

  1. 与您的团队合作
  2. 通过 UMAP 和聚类嵌入可视化
  3. 失败案例中的模式识别
  4. 及时提出改进建议

开始使用🙌

方法 1:使用本地托管的仪表板

UpTrain 仪表板是一个基于 Web 的界面,可让您评估您的 LLM 申请。它是一个在本地计算机上运行的自托管仪表板。您无需编写任何代码即可使用仪表板。您可以使用仪表板评估您的 LLM 申请、查看结果并执行根本原因分析。

在开始之前,请确保您的计算机上安装了 docker。如果没有,您可以从这里安装。

以下命令将下载 UpTrain 仪表板并在本地计算机上启动它。

# Clone the repository
git clone https://github.com/uptrain-ai/uptrain
cd uptrain

# Run UpTrain bash run_uptrain.sh

注意: UpTrain Dashboard 目前处于Beta 版本。我们希望得到您的反馈来改进它。

方法2:使用UpTrain包

如果您是开发人员并希望将 UpTrain 评估集成到您的应用程序中,则可以使用 UpTrain 包。这允许以更加编程的方式来评估您的法学硕士申请。

通过 pip 安装包:

pip install uptrain

如何使用UpTrain:

您可以通过提供 OpenAI API 密钥来运行评估,通过开源版本评估您的回答。

from uptrain import EvalLLM, Evals
import json

OPENAI_API_KEY = "sk-***************"

data = [{ 'question': 'Which is the most popular global sport?', 'context': "The popularity of sports can be measured in various ways, including TV viewership, social media presence, number of participants, and economic impact. Football is undoubtedly the world's most popular sport with major events like the FIFA World Cup and sports personalities like Ronaldo and Messi, drawing a followership of more than 4 billion people. Cricket is particularly popular in countries like India, Pakistan, Australia, and England. The ICC Cricket World Cup and Indian Premier League (IPL) have substantial viewership. The NBA has made basketball popular worldwide, especially in countries like the USA, Canada, China, and the Philippines. Major tennis tournaments like Wimbledon, the US Open, French Open, and Australian Open have large global audiences. Players like Roger Federer, Serena Williams, and Rafael Nadal have boosted the sport's popularity. Field Hockey is very popular in countries like India, Netherlands, and Australia. It has a considerable following in many parts of the world.", 'response': 'Football is the most popular sport with around 4 billion followers worldwide' }]

eval_llm = EvalLLM(openai_api_key=OPENAI_API_KEY)

results = eval_llm.evaluate( data=data, checks=[Evals.CONTEXT_RELEVANCE, Evals.FACTUAL_ACCURACY, Evals.RESPONSE_COMPLETENESS] )

print(json.dumps(results, indent=3))

如果您有任何疑问,请加入我们的Slack 社区

通过在此处预订电话直接与 UpTrain 维护人员交谈。


我们提供预先构建的评估 📝

您的回复质量
评估 描述
响应完整性 对回答是否回答了指定问题的所有方面进行评分。
响应简洁 对生成的响应的简洁程度或是否包含与所提出的问题不相关的任何其他信息进行评分。
响应相关性 对生成的上下文与指定问题的相关程度进行评分。
响应有效性 如果生成的响应有效或无效,则评分。如果响应包含任何信息,则该响应被视为有效。
响应一致性 对回答与所提出的问题以及所提供的上下文的一致性进行评分。
检索到的上下文的质量和响应的基础
评估 描述
上下文相关性 对上下文与指定问题的相关程度进行评分。
上下文利用 根据上下文中提供的信息,对指定问题生成的答案的完整性进行评分。
事实准确性 对生成的响应是否事实上正确并基于所提供的上下文进行评分。
上下文简洁 评估从原始上下文引用的简洁上下文中是否存在不相关的信息。
上下文重新排序 评估重新排序的上下文与原始上下文相比的效率。
回复的语言质量
评估 描述
语言特点 对回复中语言的质量和有效性进行评分,重点关注清晰度、连贯性、简洁性和整体沟通等因素。
调性 对生成的响应是否与所需角色的语气相匹配进行评分
回复的语言质量
评估 描述
代码幻觉 对生成的响应中存在的代码是否基于上下文进行评分。
谈话作为一个整体
评估 描述
用户满意度 根据提供的对话对用户问题的解决程度进行评分并评估他们的满意度。
定制评估及其他
评估 描述
定制指南 允许您指定指导方针,并对法学硕士在给出答复时遵守所提供的指导方针的程度进行评分。
自定义提示 允许您创建自己的一组评估。
将响应与真实情况进行比较
评估 描述
响应匹配 对法学硕士生成的响应与所提供的基本事实的吻合程度进行比较和评分。
保障系统提示并避免LLM误用
评估 描述
及时注射 对用户的提示是否试图让 LLM 显示其系统提示进行评分。
越狱检测 对用户的提示是否试图越狱(即生成非法或有害的响应)进行评分。
评估用户查询的清晰度
评估 描述
子查询完整性 评估根据用户查询生成的所有子问题是否涵盖了用户查询的所有方面
多查询准确率 评估生成的变体是否准确代表原始查询

整合🤝

评估框架 法学硕士提供者 法学硕士套餐 服务框架 法学硕士可观察性 矢量数据库
OpenAI 评估 开放人工智能 骆驼指数 奥拉马 朗福斯 奎德兰特
天蓝色 一起人工智能 螺旋锥 FAISS
克洛德 任意规模 芝诺 色度
米斯特拉尔 复制
抱脸

更多集成即将推出。如果您有特定的集成想法,请通过创建问题告诉我们。


监控法学硕士的即时漂移:UpTrain 基准

大多数流行的法学硕士(如 GPT-4、GPT-3.5-turbo、Claude-2.1 等)都是闭源的,即通过 API 公开,对幕后发生的情况知之甚少。有许多报告表明存在快速漂移(或 GPT-4 变得懒惰)的情况,并且研究工作正在探索模型质量的下降。该基准测试试图通过评估模型对固定数据集的响应来跟踪模型行为的变化。

图像

您可以在这里找到基准。

资源💡

  1. 如何评估您的 LLM 申请
  2. 如何检测越狱
  3. 应对幻觉

为什么我们要建造 UpTrain 🤔

过去 8 年我们一直在使用 ML 和 NLP 模型,但我们一直对模型中的许多隐藏故障感到沮丧,这促使我们构建了 UpTrain。 UpTrain 最初是作为一种 ML 可观察性工具开始的,它通过检查来识别准确性的回归。

然而我们很快就宣布LLM开发人员面临着一个更大的问题——没有好的方法来衡量他们的LLM申请的准确性,更不用说识别回归了。

我们还看到了OpenAI evals的发布,他们建议使用 LLM 来对模型响应进行评分。此外,在阅读了Anthropic 如何利用 RLAIF并直接深入 LLM 评估研究(我们很快将发布一个很棒的评估研究存储库)后,我们更有信心解决这个问题。

所以,今天,UpTrain 是我们为 LLM 混乱带来秩序并回馈社区的尝试。虽然大多数开发人员仍然依靠直觉并通过审查几个案例来快速做出改变,但我们已经听到了足够多的回归故事,相信随着空间的成熟,“评估和改进”将成为 LLM 生态系统的关键部分。

  1. 稳健的评估使您能够系统地试验不同的配置,并通过帮助客观地选择最佳选择来防止任何回归。

  2. 它可以帮助您了解系统出了问题的地方,找到根本原因并修复它们 - 早在您的最终用户抱怨并可能流失之前。

  3. 及时注入和越狱检测等评估对于维护 LLM 申请的安全性至关重要。

  4. 评估可帮助您提供透明度并与最终用户建立信任 - 如果您向企业销售产品,这一点尤其重要。


为什么要开源?

  1. 我们知道,在评估方面没有一刀切的解决方案。我们越来越多地看到开发者希望修改评估提示或一组选择或少数几个镜头示例等。我们相信最好的开发者体验在于开源,而不是暴露 20 个不同的参数。

  2. 促进创新:法学硕士评估和使用法学硕士作为法官的领域仍处于起步阶段。我们几乎每天都看到许多令人兴奋的研究正在发生,开源为我们和我们的社区提供了合适的平台来实施这些技术并更快地创新。


您可以如何提供帮助🙏

我们不断努力增强 UpTrain,您可以通过多种方式做出贡献:

  1. 注意任何问题或需要改进的地方:如果您发现任何错误或有改进的想法,请在我们的 GitHub 存储库上创建问题。

  2. 直接贡献:如果您发现可以修复的问题或有代码改进建议,请随时直接向存储库贡献。

  3. 请求自定义评估:如果您的应用程序需要定制评估,请告诉我们,我们会将其添加到存储库中。

  4. 与您的工具集成:需要与您现有的工具集成吗?伸出援手,我们会努力解决这个问题。

  5. 评估帮助:如果您需要评估帮助,请在我们的Slack 频道上发布您的疑问,我们会立即解决。

  6. 表达您的支持:通过在 GitHub 上为我们加注 ⭐ 来表达您的支持,以跟踪我们的进度。

  7. 传播信息:如果您喜欢我们所构建的内容,请在 Twitter 上给我们点赞!

非常感谢您的贡献和支持!感谢您参与 UpTrain 的旅程。


许可证💻

该存储库是在 Apache 2.0 许可下发布的,我们致力于为 UpTrain 开源存储库添加更多功能。如果您只是想要更不受干扰的体验,我们还提供托管版本。请在此处预订演示电话


提供反馈(越严厉越好😉)

我们正在公开建设 UpTrain。请在此处提供您的反馈,帮助我们改进。


贡献者🖥️

我们欢迎对 UpTrain 做出贡献。详情请参阅我们的贡献指南。

uptrain's People

Contributors

sourabhagr avatar dominastorm avatar vipgupta avatar ashish-1600 avatar ananis25 avatar shrjain1312 avatar a-r-r-o-w avatar aryangoyal7 avatar shikham11 avatar sanchitadev avatar yuanzhongqiao avatar sky-2002 avatar abhiramkns avatar anushsomasundaram avatar lokeshwarlakhi avatar abhay06102003 avatar scorcism avatar anas-rabhi avatar chaitrali007 avatar clemra avatar devanshi00 avatar dineshladi avatar emmanuel-ferdman avatar kapil3107 avatar emergenitro avatar kushalnl7 avatar msalhab96 avatar mohwit avatar nandu-k01 avatar nishantb06 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.