国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
質(zhì)量保證
數(shù)據(jù)集
3。部署
評估標記的數(shù)據(jù)集
首頁 科技周邊 人工智能 Langsmith的調(diào)試和測試LLMS的簡介

Langsmith的調(diào)試和測試LLMS的簡介

Mar 08, 2025 am 09:35 AM

>我最近找到了一個AI平臺,該平臺會自動從任何類型的媒體生成抽認卡。由于我喜歡用間距重復(fù)記憶的概念,因此我立即上傳了XGBoost教程,并要求AI在其上創(chuàng)建50個抽認卡。

,但我很失望。大多數(shù)問題太容易了,很少有關(guān)于代碼語法。更奇怪的是,有10%的問題是相同的,并且完全不明顯 - “法國的首都是什么?”。 這些類型的錯誤表明缺乏適當(dāng)?shù)脑u估和對AI服務(wù)產(chǎn)生的產(chǎn)出的驗證。也許他們不知道蘭史密斯。

> Langsmith是一個完善的平臺,用于測試,調(diào)試和評估LLM應(yīng)用程序。也許,其最重要的功能是LLM輸出評估和性能監(jiān)控。在本教程中,我們將看到行動中的框架并學(xué)習(xí)將其應(yīng)用于您自己的項目中的技術(shù)。

>讓我們開始!

為什么langsmith?

正如我上面提到的,Langsmith是評估大型語言應(yīng)用程序的綜合平臺。以下是它們帶來的一些特征和切實的現(xiàn)實世界好處:

快速設(shè)置

>程序員可以在幾分鐘而不是小時內(nèi)開始嘗試Langsmith。這意味著小型團隊或獨奏開發(fā)人員可以在一個周末進行AI申請,并可能在周一之前運送付費服務(wù)。

質(zhì)量保證

>使用嚴格的評估工具,公司可以避免AI發(fā)行錯誤的尷尬和成本(例如我在介紹中給出的示例)。 Langsmith允許您根據(jù)內(nèi)置標準檢查LLM的輸出,例如樂于助人,連貫性,厭女癥,甚至是自然語言的定制評估,例如“輸出陳詞濫調(diào)的內(nèi)容?”或者,在抽認卡的情況下,“卡是否包含編碼問題?”。

實時監(jiān)視和可視化

langsmith使用痕跡來記錄LLM運行的各個方面。這些包括標準,例如延遲,代幣計數(shù),運行價格和所有類型的元數(shù)據(jù)。 Web UI允許您使用自然語言來快速根據(jù)錯誤百分比,延遲,日期甚至文本內(nèi)容來快速過濾運行。這意味著,例如,如果AI導(dǎo)師開始對其對實際學(xué)生的反應(yīng)進行故障,則可以在幾個小時內(nèi)推出修復(fù)程序。

>

與Langchain

集成 Langchain是專門針對LLMS開發(fā)階段的Langmith的父框架。它提供模塊化軟件設(shè)計,可鏈多個LLM(代理),并將它們與其他API(例如YouTube,Google Search等)集成在一起。 Langsmith是頂部的櫻桃,確保使用Langchain制造的原型通過使用其強大的評估和監(jiān)視工具來按預(yù)期進行。

>與Langchain教程查看我們的LLM申請,以了解有關(guān)Langchain的更多信息。

數(shù)據(jù)集

Langsmith的另一個重要功能是數(shù)據(jù)集。它們可用于在部署前針對一組標準化示例來改善蘭鏈鏈,代理或模型。例如,我們可能有一個包含兩個列的CSV文件 - 以特定格式的抽認卡的問題和答案。

>通過將此文件轉(zhuǎn)換為參考數(shù)據(jù)集,我們可以使用前面提到的質(zhì)量保證指標來指示LLMS評估其自己的輸出。

>我們現(xiàn)在將通過一對一的示例看到所有這些功能。

>

> llm應(yīng)用程序開發(fā)工作流程

在ML應(yīng)用程序開發(fā)中,您可以收集數(shù)據(jù),訓(xùn)練,微調(diào),測試和部署模型 - 這些步驟定義明確。但是,使用LLM應(yīng)用程序,您通常會從供應(yīng)商的現(xiàn)成模型開始。微調(diào)?那可能很昂貴。因此,您將專注于制定正確的提示 - 這全都是向您的LLM應(yīng)用程序提出正確的問題。將其視為需要大量提示來測試內(nèi)容,就像您需要大量的數(shù)據(jù)以進行良好的ML模型一樣。

但是,在提示下,您正在處理進出的文本,而不是數(shù)字。因此,測量錯誤或準確性的通常方法,例如MSE或跨凝性,在這里不工作。另外,想象一下閱讀所有輸入和輸出以進行評估 - 如果您有成千上萬的提示進行評估,那將需要幾天的時間。

>

因此,您需要一個工作流程,這一切都涉及有效地創(chuàng)建和測試這些提示,以查看LLM應(yīng)用程序的表現(xiàn),而不會淹沒手動檢查。這是可能的樣子:

1。開發(fā)

在此階段,您將使用Langchain之類的框架制作應(yīng)用程序的基礎(chǔ)。對于抽認卡生成器項目,您的原型可能包括供應(yīng)商所選LLM頂部的多個組件。例如,您可能需要將其鏈接到:

檢索器:搜索引擎API,Web刮板

文檔加載程序:文件輸入 - PDF,文本,CSV,JSON,剪貼板,YouTube,搜索等
    聊天加載程序
  • >向量存儲
  • 嵌入模型
  • >回調(diào)
  • 等等(請參閱可以從Langchain Docs的此頁面中添加哪種組件)。但是,您可以通過使用Langchain提供的普通高級任務(wù)的現(xiàn)成連鎖店大幅度縮短開發(fā)時間。
  • >
  • 2。生產(chǎn)
  • 在此階段,您將針對盡可能多的方案測試您的應(yīng)用程序。這意味著您必須確保每個添加的組件效果很好,鏈條良好,并產(chǎn)生一致的高質(zhì)量輸出。
給定的LLM是非確定性的(它們不會為相同的輸入產(chǎn)生相同的輸出)和添加組件的復(fù)雜性,您將在此階段將大部分時間花費在此階段。朗史密斯的發(fā)展是使這段時間盡可能短的唯一目的。我們將在整個教程中進行更多討論。

>

3。部署

>擁有可行的應(yīng)用程序后,您可以將其部署為REST API。 REST API基本上將您現(xiàn)有的Langchain鏈或代理轉(zhuǎn)換為其他人可以發(fā)送請求以與您的AI模型進行交互的HTTPS鏈接?,F(xiàn)在,您將構(gòu)建服務(wù)的用戶界面,例如桌面應(yīng)用程序,或者更常見的是網(wǎng)站。

>現(xiàn)在,沒有簡單的方法可以做到這一點,但是Langchain開發(fā)人員即將釋放Langserve,這將集成到Fastapi中(那真是太棒了?)。查看文檔此頁面的潛行峰。

>

現(xiàn)在,讓我們終于開始用langsmith進行修補。

>

langsmith平臺概述

>我們將從理解Web UI開始。它可通過Smith.langchain.com鏈接獲得。對于訪問,您必須注冊并從候補名單中清除,因為它目前處于封閉的beta中。

>但是,一旦您進入,著陸頁將看起來像這樣:

>

Langsmith的調(diào)試和測試LLMS的簡介

>兩個主要部分是項目和數(shù)據(jù)集和測試,并且可以通過Python SDK來操縱這兩個部分。該平臺還具有用于部署和注釋隊列的選項卡,但它們超出了本文的范圍。

設(shè)置Langmith Python SDK

通過其Python SDK,在Langsmith中管理項目的管理要容易得多,該SDK通過API密鑰連接到平臺。

。 要獲取鑰匙,請單擊平臺中的密鑰圖標,然后將其保存在安全的地方。然后,在具有新的虛擬環(huán)境初始化的新目錄中,創(chuàng)建一個.env文件。內(nèi)部,粘貼以下兩行:

接下來,在您的終端中,運行以下命令以安裝langsmith和python-dotenv讀取環(huán)境變量:

LANGCHAIN_API_KEY="LangSmith-API-key"
OPENAI_API_KEY="Your-OPENAI-key"
現(xiàn)在是時候編寫代碼了:

>

python-dotenv to read environment variables:
pip install -U langsmith
pip install python-dotenv
我們導(dǎo)入find_dotenv和load_dotenv函數(shù)以讀取環(huán)境變量,并使用OS設(shè)置它們:

import warnings

from dotenv import find_dotenv, load_dotenv

warnings.filterwarnings("ignore")
>將langchain_tracing_v2設(shè)置為true啟用跟蹤(記錄),這對于調(diào)試LLMS至關(guān)重要。之后,我們初始化一個客戶與Langsmith平臺進行交談:

>客戶包含在Langsmith中操縱項目和資產(chǎn)的高級命令。我們將使用的客戶端的第一個命令是創(chuàng)建一個新項目:
import os

load_dotenv(find_dotenv())
os.environ["LANGCHAIN_API_KEY"] = str(os.getenv("LANGCHAIN_API_KEY"))
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"

成功運行后,您可以在Web UI的“項目”部分中查看列出的項目:>
from langsmith import Client

# Initialize a client
client = Client()

import uuid

# Create id
uid = uuid.uuid4()
# Create a unique name
PROJECT_NAME = "flashcards-generator-" + str(uid)
# Create the project
session = client.create_project(
   project_name=PROJECT_NAME,
   description="A project that generates flashcards from user input",
)
接下來,我們需要將新項目設(shè)置為默認值,并使用另一個環(huán)境變量:>

現(xiàn)在,我們需要一個llm來進行我們的項目。我們將使用GPT-3.5 Turbo,因為它便宜,但是您可以使用Langchain提供的許多其他型號。 Openai模型是通過Chatopenai類初始化的。

Langsmith的調(diào)試和測試LLMS的簡介

>讓我們進行第一次運行:

LANGCHAIN_API_KEY="LangSmith-API-key"
OPENAI_API_KEY="Your-OPENAI-key"

>如果您快速從UI檢查項目,則會看到上述運行跟蹤(已記錄):

Langsmith的調(diào)試和測試LLMS的簡介

>設(shè)置環(huán)境變量和客戶端時,我們會自動啟用日志記錄。如您所見,我們已經(jīng)有一堆關(guān)于運行的元數(shù)據(jù)。

Langsmith的調(diào)試和測試LLMS的簡介

讓我們再運行幾個提示:

python-dotenv to read environment variables:
pip install -U langsmith
pip install python-dotenv
>我們已經(jīng)可以構(gòu)建一個基本的文本摘要。讓我們總結(jié)一下上次運行的輸出:>

太好了,現(xiàn)在是時候創(chuàng)建我們的第一個數(shù)據(jù)集了。

>
import warnings

from dotenv import find_dotenv, load_dotenv

warnings.filterwarnings("ignore")
在langmith

中創(chuàng)建一個未標記的數(shù)據(jù)集

>正如我在“ LLM應(yīng)用程序開發(fā)工作流程”部分中提到的,您可能需要創(chuàng)建或收集數(shù)千個提示來評估您的LLM模型,鏈條或代理。因此,像我們上面所做的那樣,運行那些一對一的人并不是最好的做法。

>

出于這個原因,Langsmith提供了三種類型的數(shù)據(jù)集:>

鍵值(KV) - 默認值:將輸入定義為任意鍵值對。在評估需要多個輸入或返回多個輸出的鏈條和代理時,它們很有用。

>

llm數(shù)據(jù)集(LLM):輸入和輸出是在llms -string in,string out的“完成樣式”中定義的。
    >聊天數(shù)據(jù)集(CHAT):這些是從LLM CHATS轉(zhuǎn)換并使用結(jié)構(gòu)化輸入和序列化消息定義的數(shù)據(jù)集。
  • 首先,讓我們看看如何創(chuàng)建一個沒有輸出的鍵值數(shù)據(jù)集。我們將使用客戶端的create_dataset函數(shù):
  • 現(xiàn)在,讓我們添加三個輸入,每個輸入都要求LLM創(chuàng)建一個抽認卡:

>如果您瀏覽UI的數(shù)據(jù)集選項卡,則將看到每個提示符都列出了null輸出:
import os

load_dotenv(find_dotenv())
os.environ["LANGCHAIN_API_KEY"] = str(os.getenv("LANGCHAIN_API_KEY"))
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"

from langsmith import Client

# Initialize a client
client = Client()

現(xiàn)在,讓我們使用run_on_dataset函數(shù)在一行代碼中運行所有提示:

Langsmith的調(diào)試和測試LLMS的簡介>運行完成后,它將在數(shù)據(jù)集頁面上列出。這是它的外觀:

import uuid

# Create id
uid = uuid.uuid4()
# Create a unique name
PROJECT_NAME = "flashcards-generator-" + str(uid)
# Create the project
session = client.create_project(
   project_name=PROJECT_NAME,
   description="A project that generates flashcards from user input",
)

>我們剛剛在未標記的數(shù)據(jù)集上進行了測試 - 一個帶有示例提示的數(shù)據(jù)集但沒有示例輸出。我們的測試只是對每個提示產(chǎn)生了回應(yīng),但沒有評估任何問題。但是我們想執(zhí)行基本檢查,例如“輸出有幫助嗎?”或“響應(yīng)是短的還是長的”?

>

langsmith允許我們使用內(nèi)置的評估者進行此類檢查。 Langsmith的調(diào)試和測試LLMS的簡介評估langmith

中的LLMS

>使用數(shù)據(jù)集中的三個提示來運行簡潔性和連貫性評估,我們可以使用RunevalConfig類:

LANGCHAIN_API_KEY="LangSmith-API-key"
OPENAI_API_KEY="Your-OPENAI-key"
上面的

,我們在稱為評估者的列表中定義了兩個標準。我們將這些評估器傳遞給RUN_ON_DATASET函數(shù)的評估參數(shù):

python-dotenv to read environment variables:
pip install -U langsmith
pip install python-dotenv

> run_on_dataset是一個有用的功能,可以使用提供的LLM在數(shù)據(jù)集中運行所有提示,并隨時執(zhí)行任何類型的評估。它的結(jié)果將在每個數(shù)據(jù)集的專用頁面上可見:

>

Langsmith的調(diào)試和測試LLMS的簡介

這次,每個提示的運行都具有連貫性和簡潔性指標。在底部,您還將看到每個度量的平均分數(shù)。

要查看所有內(nèi)置標準的列表,請運行以下片段:>

import warnings

from dotenv import find_dotenv, load_dotenv

warnings.filterwarnings("ignore")
當(dāng)然,并非所有LLM用例都可以與基本評估者一起檢查。例如,沒有評估者可以檢查抽認卡是否包含編碼問題。因此,我們最好定義它:

>通過自然語言傳遞自定義標準,我們只需將{“ criteria_name”:“檢查狀態(tài)”}傳遞給標準類。上面,我們正在創(chuàng)建兩個額外的評估器,因此Langsmith將在數(shù)據(jù)集中的提示所產(chǎn)生的輸出的頂部運行兩個其他提示:
import os

load_dotenv(find_dotenv())
os.environ["LANGCHAIN_API_KEY"] = str(os.getenv("LANGCHAIN_API_KEY"))
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
>

>如果您查看運行,您將看到我們在每個提示下定義的自定義標準。如果您徘徊,您將獲得LLM的推理:
from langsmith import Client

# Initialize a client
client = Client()
>

Langsmith的調(diào)試和測試LLMS的簡介

通過檢查所有提示的評估結(jié)果,您會發(fā)現(xiàn)我們的標準未按預(yù)期進行評估。因此,這是要考慮的事情 - 您還需要提示設(shè)計標準以確保它們檢查正確的內(nèi)容。Langsmith的調(diào)試和測試LLMS的簡介>

創(chuàng)建標記的數(shù)據(jù)集

有時,您可以決定創(chuàng)建一個帶有預(yù)期輸出(例如標記為數(shù)據(jù)集)的提示數(shù)據(jù)集。您可以以各種格式創(chuàng)建標記的數(shù)據(jù)集,但也許最常見的數(shù)據(jù)集是CSV文件。例如,這是我用chatgpt生成的文件,其中包含pytorch語法上的五個問題:

為了創(chuàng)建一個數(shù)據(jù)集,我們可以使用upload_csv函數(shù):>

Langsmith的調(diào)試和測試LLMS的簡介該函數(shù)具有三個必需的參數(shù):CSV路徑和輸入/輸出列的名稱。一旦上傳完成,數(shù)據(jù)集將出現(xiàn)在UI中:>

import uuid

# Create id
uid = uuid.uuid4()
# Create a unique name
PROJECT_NAME = "flashcards-generator-" + str(uid)
# Create the project
session = client.create_project(
   project_name=PROJECT_NAME,
   description="A project that generates flashcards from user input",
)
>讓我們從本數(shù)據(jù)集的上一節(jié)中運行我們的自定義標準:

>如果您轉(zhuǎn)到數(shù)據(jù)集頁面并查看運行,我們可以看到每個自定義標準的平均分數(shù):

>

Langsmith的調(diào)試和測試LLMS的簡介

評估標記的數(shù)據(jù)集

用自然語言編寫的內(nèi)置和自定義評估器

主要用于未標記的數(shù)據(jù)集。對于我們上傳的標記數(shù)據(jù)集,例如我們上傳的CSV數(shù)據(jù)集,Langsmith提供了更全面的評估者,以衡量對提示的響應(yīng)的正確性:>

    > context_qa(上下文Q&A):在評估正確性
  • 的同時使用示例輸出作為上下文
  • > QA(Q&A):使用參考輸出
  • > cot_qa(經(jīng)過思考鏈問答):類似于Context_QA,但是該評估者迫使LLM在達成裁決之前使用經(jīng)過思考的推理。
  • >
讓我們在示例中嘗試最后一個:

LANGCHAIN_API_KEY="LangSmith-API-key"
OPENAI_API_KEY="Your-OPENAI-key"
> cotqa標準返回一個稱為上下文準確性的分數(shù),如下面的GIF(也在UI中)中所示:

>

Langsmith的調(diào)試和測試LLMS的簡介

請訪問Langsmith文檔的Langchain評估員部分,以了解有關(guān)評估人員的更多信息。

結(jié)論

在閱讀本教程后,您對Langsmith確實是一個及時工程的工具,您將是正確的!目前,Langsmith是確保LLM的說明和輸出的最佳框架實際上是您想要的。

>您還必須意識到構(gòu)建生產(chǎn)級LLM應(yīng)用程序所需的精力。因此,在從事LLM項目時,請使用Langsmith進行更流暢的體驗。

>

>如果蘭史密斯的某些概念沒有意義,那么您可能缺乏蘭班林的一些基本原理。以下是一些資源:

蘭鏈介紹數(shù)據(jù)工程

    在Langchain中構(gòu)建上下文感知聊天機器人
  • > langchain
  • 的及時工程
  • >如何使用langchain
  • 構(gòu)建LLM應(yīng)用程序
  • > Langchain Docs
  • langsmith docs

以上是Langsmith的調(diào)試和測試LLMS的簡介的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

從采用到優(yōu)勢:2025年塑造企業(yè)LLM的10個趨勢 從采用到優(yōu)勢:2025年塑造企業(yè)LLM的10個趨勢 Jun 20, 2025 am 11:13 AM

以下是重塑企業(yè)AI景觀的十種引人注目的趨勢。對LLMSorganizations的財務(wù)承諾正在大大增加其在LLMS的投資,其中72%的人預(yù)計他們的支出今年會增加。目前,近40%a

AI投資者停滯不前? 3條購買,建造或與人工智能供應(yīng)商合作的戰(zhàn)略途徑 AI投資者停滯不前? 3條購買,建造或與人工智能供應(yīng)商合作的戰(zhàn)略途徑 Jul 02, 2025 am 11:13 AM

投資蓬勃發(fā)展,但僅資本還不夠。隨著估值的上升和獨特性的衰落,以AI為中心的風(fēng)險投資的投資者必須做出關(guān)鍵決定:購買,建立或合作伙伴才能獲得優(yōu)勢?這是評估每個選項和PR的方法

生成AI的不可阻擋的增長(AI Outlook第1部分) 生成AI的不可阻擋的增長(AI Outlook第1部分) Jun 21, 2025 am 11:11 AM

披露:我的公司Tirias Research已向IBM,NVIDIA和本文提到的其他公司咨詢。Growth驅(qū)動力的生成AI采用的激增比最樂觀的預(yù)測更具戲劇性。然后,

新蓋洛普報告:AI文化準備就緒需要新的心態(tài) 新蓋洛普報告:AI文化準備就緒需要新的心態(tài) Jun 19, 2025 am 11:16 AM

廣泛采用和情感準備之間的差距揭示了人類如何與越來越多的數(shù)字伴侶互動。我們正在進入共存階段,算法編織到我們的日?,F(xiàn)場

這些初創(chuàng)公司正在幫助企業(yè)出現(xiàn)在AI搜索摘要中 這些初創(chuàng)公司正在幫助企業(yè)出現(xiàn)在AI搜索摘要中 Jun 20, 2025 am 11:16 AM

由于AI,那些日子是編號的。根據(jù)一個螺柱,搜索企業(yè)諸如Travel網(wǎng)站皮劃艇和Edtech Company Chegg之類的企業(yè)正在下降,部分原因是60%的網(wǎng)站搜索不會導(dǎo)致用戶單擊任何鏈接。

AGI和AI超級智能將嚴重擊中人類天花板的假設(shè)障礙 AGI和AI超級智能將嚴重擊中人類天花板的假設(shè)障礙 Jul 04, 2025 am 11:10 AM

讓我們來談?wù)劇? 對創(chuàng)新AI突破的分析是我正在進行的AI中正在進行的福布斯列覆蓋的一部分,包括識別和解釋各種有影響力的AI復(fù)雜性(請參閱此處的鏈接)。 前往Agi和

思科在美國2025 思科在美國2025 Jun 19, 2025 am 11:10 AM

讓我們仔細研究一下我發(fā)現(xiàn)的最重要的東西,以及思科如何以其目前的努力來進一步實現(xiàn)其野心。

構(gòu)建您的第一個LLM應(yīng)用程序:初學(xué)者的教程 構(gòu)建您的第一個LLM應(yīng)用程序:初學(xué)者的教程 Jun 24, 2025 am 10:13 AM

您是否曾經(jīng)嘗試過建立自己的大型語言模型(LLM)應(yīng)用程序?有沒有想過人們?nèi)绾翁岣咦约旱腖LM申請來提高生產(chǎn)率? LLM應(yīng)用程序已被證明在各個方面都有用

See all articles