Pytest- és Vitest-integrációkat kapott a LangSmith értékelési rendszere

A LangSmith bétafunkcióként Pytest- és Vitest/Jest-integrációkat kínál az LLM-alkalmazások értékelésére. A fejlesztők a megszokott tesztelési keretekben futtathatják az értékeléseket, miközben a LangSmith naplózza az eredményeket, a nyomkövetéseket és a visszajelzéseket.
- Bétaállapotban elérhető a Pytest- és Vitest/Jest-integráció.
- A funkciók a LangSmith Python és TypeScript SDK v0.3.0-s verziójában jelentek meg.
- A rendszer naplózza a tesztek bemeneteit, kimeneteit, nyomkövetéseit és visszajelzéseit.
- A fejlesztők tesztesetenként egyedi értékelési logikát határozhatnak meg.
- A megoldás helyi visszajelzést és CI-folyamatokba illeszthető regresszióvizsgálatot támogat.
A tesztelési keretek megszokott működését hozza az evalokhoz
A LangChain szerint az értékelések, vagyis az evalok, fontos szerepet töltenek be a megbízható és jó minőségű, nagy nyelvi modellekre épülő alkalmazások fejlesztésében. Segítségükkel a csapatok mérhetik az alkalmazás teljesítményét, és ellenőrizhetik, hogy a minőség a frissítések után is állandó maradjon.
Az új integrációk a LangSmith Python és TypeScript SDK-jának v0.3.0-s verziójával váltak elérhetővé bétaállapotban. A Pytestet használó Python-fejlesztők, valamint a Vitestet vagy Jestet használó TypeScript-fejlesztők a már ismert tesztelési felületet kombinálhatják a LangSmith megfigyelési és megosztási funkcióival.
Részletesebb naplózás és közös hibakeresés
A LangSmith az értékelési tesztek bemeneteit, kimeneteit és veremnyomait is elmenti. Ez különösen az LLM-alkalmazások hibakeresésénél lehet hasznos, mivel ezek működését a modellek nem determinisztikus jellege is összetettebbé teszi.
A tesztelési keretek általában a sikeres vagy sikertelen állapotot jelzik, az LLM-alkalmazások vizsgálatánál azonban ennél árnyaltabb mérésre is szükség lehet. A LangSmithben a fejlesztők visszajelzéseket és mérőszámokat naplózhatnak, majd időben összehasonlíthatják az eredményeket. A szolgáltatás így a regressziók felismerését és az alkalmazás fejlődésének követését is támogatja.
A teszteredmények megoszthatók a csapattal, ami a LangChain szerint megkönnyíti az együttműködést olyan munkafolyamatokban, ahol a tárgyi szakértők a promptok vagy az értékelések létrehozásában is részt vesznek.
Egyedi értékelési logika minden tesztesethez
Python használata esetén a LangSmith beépített értékelési függvényeket is kínál. A forrás példaként az expect.edit_distance() függvényt említi, amely a teszt kimenete és a megadott referencia kimenet közötti szövegtávolság kiszámítására használható.
A Pytest-integrációban a tesztet a @pytest.mark.langsmith dekorátorral lehet követni. A teszteset naplózhatja a bemeneteket, a referencia kimenetet, a tényleges kimenetet és az értékelési visszajelzést. A példa egy SQL-lekérdezéseket generáló alkalmazásnál azt vizsgálja, hogy a rendszer felismeri-e a témán kívüli felhasználói bevitelt. A minősítést egy gpt-4o-mini modell végzi, amely 0 vagy 1 értéket ad vissza.
Vitest esetén a teszteseteket az ls.describe() blokkban kell elhelyezni, az értékelő pedig az ls.wrapEvaluator() használatával naplózhatja a visszajelzést. A LangChain szerint ez rugalmasabb lehet, amikor egy alkalmazás több eszközt használ, és az egyes eszközök ellenőrzéséhez eltérő értékelési logika szükséges.
Helyi visszajelzés és CI-integráció
A LangChain a Pytest- és Vitest/Jest-integrációkat az evaluate() megközelítés alternatívájaként mutatja be bizonyos esetekben. Az olyan evalkönyvtáraknál, mint az OpenAI Evals, a Hugging Face Evaluate és a LangSmith evaluate() függvénye, jellemzően előre létrehozott adatkészleten futnak ugyanazok az értékelések. Ez jól működhet feketedobozos vizsgálatoknál, amikor egy ügynök bemeneteit és kimeneteit kell egy adatkészleten tesztelni.
A tesztelési keretek ezzel szemben tesztesetenként külön értékelési logikát, valós idejű helyi visszajelzést és CI-folyamatokba illeszthető sikeres vagy sikertelen feltételeket biztosítanak. A LangChain közlése szerint a tesztek CI-folyamatban történő futtatása segíthet korán észlelni a regressziókat. A vállalat azt is jelezte, hogy a következő hetekben GitHub Actiont ad ki az egyszerűbb konfigurációhoz.
LangChain: Introducing Pytest and Vitest integrations for LangSmith Evaluations


