精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

LangChain應用開發指南-TruLens用量化對抗幻覺 精華

發布于 2024-10-16 15:56
瀏覽
0收藏

LangChain應用開發指南-TruLens用量化對抗幻覺-AI.x社區

在AI的發展中,大規模語言模型已經取得了令人矚目的成果,然而,隨之而來的是模型質量和不確定性的問題。如何衡量和改進模型的質量,一直是我們面臨的一個挑戰。

為了解決這些問題,我們將在這篇文章中,介紹LangChain框架和TruLens工具,它們將幫助我們評估模型的質量,提高模型質量,并能夠用量化的方法對抗不確定。

什么是TruLens

TruLens是面向神經網絡應用的質量評估工具,它可以幫助你使用反饋函數來客觀地評估你的基于LLM(語言模型)的應用的質量和效果。反饋函數可以幫助你以編程的方式評估輸入、輸出和中間結果的質量,從而加快和擴大實驗評估的范圍。你可以將它用于各種各樣的用例,包括問答、檢索增強生成和基于代理的應用。

TruLens的核心思想是,你可以為你的應用定義一些反饋函數,這些函數可以根據你的應用的目標和期望,對你的應用的表現進行打分或分類。例如:

  • 定義一個反饋函數來評估你的問答應用的輸出是否與問題相關,是否有依據,是否有用。
  • 定義一個反饋函數來評估你的檢索增強生成應用的輸出是否符合語法規則,是否有創造性,是否有邏輯性。
  • 定義一個反饋函數來評估你的基于代理的應用的輸出是否符合道德標準,是否有友好性,是否有誠實性。

TruLens可以讓你在開發和測試你的應用的過程中,實時地收集和分析你的應用的反饋數據,從而幫助你發現和解決你的應用的問題,提高你的應用的質量和效果。你可以使用TruLens提供的易用的用戶界面,來查看和比較你的應用的不同版本的反饋數據,從而找出你的應用的優勢和劣勢,以及改進的方向。

如何在LangChain中使用TruLens來評估模型輸出和檢索質量

LangChain應用開發指南-TruLens用量化對抗幻覺-AI.x社區

LangChain作為一種新的語言模型框架,它提供了一種有效的部署和管理大規模語言模型的框架。使用LangChain管理模型,不僅可以輕松部署和執行模型,還可以方便地觀察模型的內部狀態。再結合TruLens的評估工具,我們就可以對模型的質量進行深入理解和改進。

要在LangChain中使用TruLens來評估你的應用,你只需要做兩件事:

  1. 在你的LangChain代碼中,導入TruLens,并使用TruChain類來包裝你的LangChain對象。TruChain類是一個裝飾器,它可以讓你的LangChain對象在運行時,自動地調用TruLens的反饋函數,并記錄反饋數據。
  2. 在你的TruLens代碼中,指定你想要使用的反饋函數,以及你想要給你的應用的ID。你可以使用TruLens提供的內置的反饋函數,也可以自定義你自己的反饋函數。你可以為你的應用指定一個唯一的ID,這樣你就可以在TruLens的用戶界面中,根據ID來查找和比較你的應用的反饋數據。

下面是一個簡單的示例,展示了如何在LangChain中使用TruLens來評估一個問答應用:

pip install trulens_eval

復制

# 導入LangChain和TruLens
from langchain.chains import LLMChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.prompts.chat import ChatPromptTemplate,HumanMessagePromptTemplate
from trulens_eval import TruChain,Feedback, Huggingface, Tru, OpenAI as TruOpenAI
from trulens_eval.feedback.provider.langchain import Langchain

tru = Tru()

# 定義一個問答應用的提示模板
full_prompt = HumanMessagePromptTemplate(
    prompt=PromptTemplate(
        template=
        "Provide a helpful response with relevant background information for the following: {prompt}",
        input_variables=["prompt"],
    )
)

chat_prompt_template = ChatPromptTemplate.from_messages([full_prompt])



# 創建一個LLMChain對象,使用llm和chat_prompt_template作為參數
llm = OpenAI()
chain = LLMChain(llm=llm, prompt=chat_prompt_template, verbose=True)



# Initialize Huggingface-based feedback function collection class:
# Define a language match feedback function using HuggingFace.
hugs = Huggingface()
f_lang_match = Feedback(hugs.language_match).on_input_output()
# Question/answer relevance between overall question and answer.
provider = TruOpenAI()
f_qa_relevance = Feedback(provider.relevance).on_input_output()

# 使用TruChain類來包裝chain對象,指定反饋函數和應用ID
tru_recorder = TruChain(
    chain,
    app_id='Chain1_QAApplication',
    feedbacks=[f_lang_match,f_qa_relevance])


# 使用with語句來運行chain對象,并記錄反饋數據
with tru_recorder as recording:
    # 輸入一個問題,得到一個回答
    chain("What is langchain?")
    # 查看反饋數據
    tru_record = recording.records[0]
    # 打印反饋數據
    print("tru_record:",tru_record)
# 啟動tru展示控制臺
tru.run_dashboard()

復制

以RAG為例看看TruLens的評估結果

LangChain應用開發指南-TruLens用量化對抗幻覺-AI.x社區

RAG(Retrieval-Augmented Generation)是一種基于LLM的應用,它可以利用檢索系統來增強LLM的生成能力。RAG的工作原理是,當給定一個輸入時,它會先從一個大規模的知識庫中檢索出一些相關的文檔,然后將這些文檔作為LLM的上下文,再使用LLM來生成一個輸出。RAG可以用于各種生成任務,例如問答、摘要、對話等。

RAG的優點是,它可以利用檢索系統來提供LLM所缺乏的知識和信息,從而提高LLM的生成質量和多樣性。RAG的缺點是,它也可能引入一些錯誤和幻覺,例如檢索出不相關或不準確的文檔,或者生成與輸入或文檔不一致的輸出。

為了評估RAG的質量和效果,我們可以使用TruLens提供的RAG三角形(RAG Triad)的評估方法。RAG三角形是由三個評估指標組成的,分別是:

LangChain應用開發指南-TruLens用量化對抗幻覺-AI.x社區

  • 上下文相關性(Context Relevance):評估輸入和檢索出的文檔之間的相關性,以及文檔之間的一致性。上下文相關性越高,說明檢索系統越能找到與輸入匹配的知識和信息,從而為LLM提供更好的上下文。
  • 有根據性(Groundedness):評估輸出和檢索出的文檔之間的一致性,以及輸出的可信度。有根據性越高,說明LLM越能利用檢索出的文檔來生成有依據的輸出,從而避免產生幻覺或錯誤。
  • 答案相關性(Answer Relevance):評估輸出和輸入之間的相關性,以及輸出的有用性。答案相關性越高,說明LLM越能理解輸入的意圖和需求,從而生成有用的輸出,滿足用戶的目的。

RAG三角形的評估方法可以讓我們從不同的角度來檢驗RAG的質量和效果,從而發現和改進RAG的問題。我們可以使用TruLens來實現RAG三角形的評估方法,具體步驟如下:

  1. 在LangChain中,創建一個RAG對象,使用RAGPromptTemplate作為提示模板,指定檢索系統和知識庫的參數。
  2. 在TruLens中,創建一個TruChain對象,包裝RAG對象,指定反饋函數和應用ID。反饋函數可以使用TruLens提供的f_context_relevance, f_groundness, f_answer_relevance,也可以自定義。
  3. 使用with語句來運行RAG對象,并記錄反饋數據。輸入一個問題,得到一個回答,以及檢索出的文檔。
  4. 查看和分析反饋數據,根據RAG三角形的評估指標,評價RAG的表現。

下面是一個簡單的示例,展示了如何在LangChain中使用TruLens來評估一個RAG問答應用:

# 導入LangChain和TruLens
from IPython.display import JSON

# Imports main tools:
from trulens_eval import TruChain, Feedback, Huggingface, Tru
from trulens_eval.schema import FeedbackResult
tru = Tru()
tru.reset_database()

# Imports from langchain to build app
import bs4
from langchain import hub
from langchain.chat_models import ChatOpenAI
from langchain.document_loaders import WebBaseLoader
from langchain.embeddings import OpenAIEmbeddings
from langchain.schema import StrOutputParser
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain_core.runnables import RunnablePassthrough
from trulens_eval.feedback.provider import OpenAI
import numpy as np
from trulens_eval.app import App
from trulens_eval.feedback import Groundedness


# 加載文件
loader = WebBaseLoader(
    web_paths=("https://lilianweng.github.io/posts/2023-06-23-agent/",),
    bs_kwargs=dict(
        parse_notallow=bs4.SoupStrainer(
            class_=("post-content", "post-title", "post-header")
        )
    ),
)
docs = loader.load()
# 分詞
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
splits = text_splitter.split_documents(docs)
# 存入到向量數據庫
vectorstore = Chroma.from_documents(documents=splits, embedding=OpenAIEmbeddings(
))
# 定義一個RAG Chain

retriever = vectorstore.as_retriever()

prompt = hub.pull("rlm/rag-prompt")
llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)

def format_docs(docs):
    return "\n\n".join(doc.page_content for doc in docs)

rag_chain = (
    {"context": retriever | format_docs, "question": RunnablePassthrough()}
    | prompt
    | llm
    | StrOutputParser()
)
# 使用TruChain類來包裝rag對象,指定反饋函數和應用ID
# Initialize provider class
provider = OpenAI()
# select context to be used in feedback. the location of context is app specific.
context = App.select_context(rag_chain)
grounded = Groundedness(groundedness_provider=provider)
# f_context_relevance, f_groundness, f_answer_relevance 定義反饋函數
# Define a groundedness feedback function
f_groundedness = (
    Feedback(grounded.groundedness_measure_with_cot_reasons)
    .on(context.collect()) # collect context chunks into a list
    .on_output()
    .aggregate(grounded.grounded_statements_aggregator)
)

# Question/answer relevance between overall question and answer.
f_qa_relevance = Feedback(provider.relevance).on_input_output()
# Question/statement relevance between question and each context chunk.
f_context_relevance = (
    Feedback(provider.qs_relevance)
    .on_input()
    .on(context)
    .aggregate(np.mean)
    )
# 使用with語句來運行rag對象,并記錄反饋數據
tru_recorder = TruChain(rag_chain,
    app_id='Chain1_ChatApplication',
    feedbacks=[f_qa_relevance, f_context_relevance, f_groundedness])

with tru_recorder as recording:
    # 輸入一個問題,得到一個回答,以及檢索出的文檔
    llm_response = rag_chain.invoke("What is Task Decomposition?")
    # 查看反饋數據
    rec = recording.get() # use .get if only one record
    # 打印反饋數據
    print(rec)
# 啟動tru展示控制臺
tru.run_dashboard()

復制

結論

在本文中,我們介紹了如何在LangChain中使用TruLens來對LLM進行評估和優化,以及如何利用TruLens的結果來量化和對抗模型的不確定性。我們通過一個文本生成的任務為例,演示了如何使用TruLens來對模型的輸出進行測量和量化,以及對模型的行為進行分析和解釋。我們還分享了一個RAG案例代碼,用實際指標說明了TruLens的評估結果。

我們也期待,未來有更多的工具和方法,可以對LLM進行更有效的評估和優化,以及更好地量化和對抗模型的不確定性。我們相信,這將有助于推動LLM的發展和應用,以及提升AI語言的水平和價值。

本文轉載自 ??AI小智??,作者: AI小智

收藏
回復
舉報
回復
相關推薦
欧美一区=区三区| 国产精品一区二区av白丝下载| 国产美女撒尿一区二区| 精品久久久中文| 欧美日韩精品免费观看视一区二区| 黄色大全在线观看| 欧美高清一区| 亚洲色图18p| 日韩高清在线一区二区| av中文字幕电影在线看| 久久久欧美精品sm网站| 96国产粉嫩美女| 成人在线免费看视频| 99九九热只有国产精品| 日韩成人高清在线| 在线视频日韩欧美| 日韩av超清在线观看| 亚洲免费观看高清完整| 免费看成人片| 亚洲第一页综合| 蜜桃视频一区二区| 韩国视频理论视频久久| 久久久精品少妇| 伊人久久大香线蕉综合网站| 51午夜精品国产| 中国丰满熟妇xxxx性| 国产福利小视频在线观看| 成人小视频在线| 成人激情在线观看| 亚洲毛片一区二区三区| 激情欧美国产欧美| 欧美大尺度在线观看| 国产激情在线免费观看| 9l亚洲国产成人精品一区二三| 欧美日韩色综合| 人妻熟妇乱又伦精品视频| 亚洲91av| 国产精品久久久久久亚洲毛片| 久久99久久99精品蜜柚传媒| 国产成人精品亚洲精品色欲| 免费国产亚洲视频| 国产精品91久久| 尤物视频在线观看国产| 黑丝一区二区| 欧美成人在线免费视频| 亚洲精品卡一卡二| 日韩成人免费| 伊是香蕉大人久久| 久久成人激情视频| 一道在线中文一区二区三区| 亚洲大胆美女视频| 人妻换人妻a片爽麻豆| 在线观看视频一区二区三区 | 亚洲国产精品小视频| 亚洲天堂网站在线| 激情视频亚洲| 日韩情涩欧美日韩视频| 美女被爆操网站| 亚洲国产视频二区| 日韩欧美电影一二三| 午夜影院免费版| 久久一级大片| 精品国产乱码久久久久久1区2区| 人妻精油按摩bd高清中文字幕| 精品国产亚洲一区二区三区在线| 日韩一区二区三区免费观看| 伦伦影院午夜理论片| 国产精品一区免费在线| 日韩丝袜美女视频| yjizz视频| 香蕉久久夜色精品国产更新时间| 亚洲精品一二区| 免费一级做a爰片久久毛片潮| 欧洲乱码伦视频免费| 色妞欧美日韩在线| 欧美日韩在线国产| 夜夜嗨一区二区| 日韩av免费在线播放| 中文字幕人妻精品一区| 激情国产一区二区 | 国产乱人乱偷精品视频| 国产剧情一区在线| 国偷自产av一区二区三区小尤奈| 日本韩国精品一区二区| 国产欧美日韩另类视频免费观看| 一区二区日本| 国精一区二区三区| 欧美性极品xxxx做受| 五月婷婷激情久久| 中文字幕av一区二区三区四区| 日韩www在线| 一区二区三区在线观看免费视频| 亚洲国产精品成人| 51ⅴ精品国产91久久久久久| 中日韩在线观看视频| 国产精品一区在线观看你懂的| 国产精品一区二区免费| 黄色在线网站| 一区二区激情小说| 黄色国产小视频| 国产精品igao视频网网址不卡日韩| 欧美精品一区二区三区蜜桃| 第一次破处视频| 国内精品嫩模av私拍在线观看| 日韩免费不卡av| 精品久久在线观看| 国产视频一区在线观看| 欧美视频在线第一页| 九九九伊在线综合永久| 精品国产一区二区国模嫣然| 欧美激情亚洲色图| 18成人免费观看视频| 91精品久久久久久久久久另类 | av亚洲一区| 亚洲成人久久久久| 一级黄色片日本| 老司机午夜精品视频在线观看| 亚洲一区国产精品| 91青青在线视频| 日韩欧美在线视频观看| 亚洲精品成人无码毛片| 日韩国产一区| 欧美在线激情网| 亚洲av无码一区二区三区性色| 国产欧美精品国产国产专区| 成人中文字幕在线播放| 精品91福利视频| 色偷偷综合社区| youjizz在线视频| 成人精品免费看| 99视频精品全部免费看| 亚洲国产综合在线观看| 亚洲欧美中文另类| 九九热在线视频播放| 国产老妇另类xxxxx| 麻豆中文字幕在线观看| 玖玖精品在线| 一区二区三区视频在线| 黄色免费av网站| 91亚洲精品一区二区乱码| 大西瓜av在线| 一区二区视频| 欧美激情中文网| 亚洲av无码乱码在线观看性色 | 天天插天天操天天干| 成人免费视频一区| 97超碰在线人人| 99re91这里只有精品| 欧美成人h版在线观看| 国产男女猛烈无遮挡| 国产精品对白交换视频 | 欧美极度另类| 亚洲人成五月天| 69视频免费看| 国产精品视频免费| 嫩草视频免费在线观看| 久久精品一区二区不卡| 1卡2卡3卡精品视频| 午夜伦理大片视频在线观看| 日韩精品在线看片z| 久草视频在线资源站| 国产91精品免费| 无码人妻少妇伦在线电影| 林ゆな中文字幕一区二区| 91av视频在线播放| 日本黄在线观看| 欧美综合视频在线观看| 欧美视频一区二区在线| 国产精品123| 成人免费视频91| 亚洲激情77| 91精品国产综合久久香蕉的用户体验| 黄色在线免费看| 亚洲精品在线观看网站| 天堂在线免费观看视频| 国产目拍亚洲精品99久久精品 | 国产伦精品一区二区三区妓女| 俺要去色综合狠狠| 日本欧美在线视频| 裸体xxxx视频在线| 欧美日韩三级一区二区| 欧美日韩国产精品一区二区三区| av高清不卡在线| 99免费视频观看| 亚洲成人99| 久久99精品久久久久久三级| 国产精品xxx| 欧美—级高清免费播放| 毛片在线播放网站| 91精品国产色综合久久| 日韩毛片在线播放| 日本一区二区视频在线| 日本少妇xxx| 毛片一区二区| 欧美日韩午夜爽爽| 免费国产自久久久久三四区久久| 国产日韩一区在线| www.在线视频| 亚洲美女在线看| 国产情侣一区二区| 日韩欧美精品在线观看| 男人与禽猛交狂配| 久久综合久色欧美综合狠狠| 国产乱女淫av麻豆国产| 亚洲在线网站| 欧美日韩午夜爽爽| sdde在线播放一区二区| 国产欧美在线一区二区| 久久精品嫩草影院| 国产91精品久久久久| 国产网站在线免费观看| 亚洲人成绝费网站色www| 成人av免费播放| 欧美日韩在线直播| www.av麻豆| 亚洲综合成人网| 99成人在线观看| 久久九九国产精品| 精品国产一区在线| 国产精品夜夜嗨| 中文字幕日韩综合| 蜜桃视频在线一区| www日韩在线观看| 国产日韩1区| 国产xxxx振车| 亚洲一区二区三区| 亚洲精品永久www嫩草| 妖精视频一区二区三区| 国严精品久久久久久亚洲影视 | 国产高清在线一区二区| 亚洲精品三区| 国产欧美一区二区三区久久人妖 | 精品福利免费观看| 激情五月婷婷小说| 亚洲三级免费观看| 久草手机视频在线观看| 国产精品情趣视频| av在线播放中文字幕| 久久精品免费在线观看| 日本黄色特级片| 91麻豆免费在线观看| 黄色性生活一级片| www.欧美.com| 国产福利在线观看视频| 成人高清视频在线观看| 熟妇高潮一区二区| 成人高清视频免费观看| 在线观看av中文字幕| www.色精品| 91玉足脚交白嫩脚丫| 99国产精品久久| 中文字幕在线观看网址| 久久五月婷婷丁香社区| 三上悠亚影音先锋| 久久精品视频网| 1024在线看片| 亚洲婷婷综合久久一本伊一区| 国产老头老太做爰视频| 亚洲精品伦理在线| 国产无精乱码一区二区三区| 午夜精品一区二区三区免费视频| 日韩 欧美 亚洲| 精品日韩中文字幕| 成人h动漫精品一区二区下载| 日本韩国精品在线| 亚洲天堂avav| 日韩你懂的在线观看| 天天色天天操天天射| 亚洲社区在线观看| 免费a级在线播放| 欧美精品18videosex性欧美| 阿v视频在线| 国产精品扒开腿做爽爽爽的视频| 久久亚洲国产精品尤物| 99热在线国产| 亚洲精品小区久久久久久| 亚洲精品视频一区二区三区| 性xxxx欧美老肥妇牲乱| 蜜臀精品一区二区| 天堂久久一区二区三区| 国产精欧美一区二区三区白种人| 国产成人午夜视频| 一区二区三区四区免费| 亚洲色图另类专区| 亚洲黄色小说图片| 欧美日韩一区二区三区在线看 | 亚洲国产日韩精品在线| 亚洲av成人精品毛片| 中文字幕日韩欧美在线| 性xxxfreexxxx性欧美| 国产成人a亚洲精品| 青草伊人久久| 日本一区二区在线视频观看| 欧美黄色aaaa| 99视频在线免费| 国产成人免费在线视频| 少妇无套高潮一二三区| 亚洲伊人伊色伊影伊综合网| 日韩欧美国产另类| 欧美精品一区男女天堂| 午夜免费视频在线国产| 午夜精品久久久久久久白皮肤 | 欧美三级在线播放| 亚洲国产福利视频| 国产一区二区三区视频在线观看| 先锋成人av| 国产这里只有精品| 免费一区二区| 成年女人18级毛片毛片免费| 久久成人精品无人区| 加勒比精品视频| 亚洲天堂2014| 免费无码国产精品| 亚洲精品99久久久久中文字幕| 色网站在线看| 国产成人精品一区二区三区| 成人自拍在线| 无码人妻aⅴ一区二区三区日本| 久久激情视频| a级一a一级在线观看| 亚洲精品你懂的| 日韩一级在线视频| 日韩成人高清在线| 3344国产永久在线观看视频| 亚洲最大成人在线| 国产韩日影视精品| 久久婷婷国产91天堂综合精品| 成人av在线观| 国产精品不卡av| 欧美一区二区二区| 又爽又大又黄a级毛片在线视频| 日本精品免费观看| 青青草原在线亚洲| 六月婷婷在线视频| 不卡一区中文字幕| 日本少妇xxxx动漫| 亚洲精品在线三区| 国产乱码在线| 国产精品久久波多野结衣| 欧美在线播放| 天堂在线精品视频| 亚洲视频一区二区在线| 国产乱淫a∨片免费观看| 超碰97人人做人人爱少妇| 亚洲网站三级| 中文字幕乱码免费| 国产精品影视天天线| 免看一级a毛片一片成人不卡| 欧美一区二区三区色| 亚洲奶水xxxx哺乳期| 国产成人成网站在线播放青青 | 国产精品网站导航| 中文字幕免费高清在线观看| 中文字幕亚洲欧美在线| 色综合久久久| 欧美三级午夜理伦三级老人| 国产一区二区三区在线看麻豆| 午夜精品福利在线视频| 日韩欧美成人激情| h片在线观看| 欧美另类网站| 免费成人在线观看| 国产成人av免费在线观看| 91精品一区二区三区在线观看| 超碰在线观看免费版| 成人xxxxx色| 欧美综合国产| 99热6这里只有精品| 欧美一区二区二区| 成人bbav| 亚洲国产精品综合| 国产激情视频一区二区在线观看 | 成人动漫视频在线观看完整版 | 国内精品久久久久影院 日本资源| 国产精品对白久久久久粗| 欧美日韩在线视频一区二区三区| 国产午夜精品一区二区| 国产精品羞羞答答在线| 91精品国产色综合久久不卡98| 精品国产一区二区三区噜噜噜| 国产精品区在线| 亚洲福利电影网| 加勒比一区二区三区在线| 91中文在线视频| 国产精品久久久久9999高清| 国产毛片欧美毛片久久久| 日韩欧美精品三级| 先锋欧美三级| 人人妻人人澡人人爽欧美一区 | 亚洲一级理论片| 亚洲成人国产精品| 欧美xnxx| 日韩精品在线视频免费观看| 国产三级精品三级| 超碰在线人人干| 国产精品三级美女白浆呻吟| 亚洲网站在线| 午夜精品久久久久99蜜桃最新版 | 欧美视频一二三| 成人影院在线观看|