精品欧美一区二区三区在线观看 _久久久久国色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小智

收藏
回復
舉報
回復
相關推薦
日本欧美www| 精品伦一区二区三区| 国产精品99999| 美女一区二区视频| 欧美高清视频在线| 波多野结衣一本| 国产成人免费视频网站视频社区| 午夜国产精品影院在线观看| 亚洲mv在线看| 免费观看黄色av| 理论电影国产精品| 国产91ⅴ在线精品免费观看| 国产亚洲精品久久久久久豆腐| 91亚洲无吗| 欧美日韩免费在线视频| 国产乱子伦精品无码专区| aaa在线免费观看| 成人精品免费看| 成人欧美一区二区三区黑人孕妇 | 黄色a级片免费| 成人免费在线| 欧美国产97人人爽人人喊| av色综合网| 又骚又黄的视频| 国产农村妇女毛片精品久久莱园子| 色婷婷综合久久久久中文字幕1| 久久精品无码专区| 国产精品高清一区二区| 日韩精品一区二区三区中文字幕 | 亚洲第一视频网站| 中文字幕永久有效| 激情亚洲影院在线观看| 精品毛片三在线观看| 中文字幕精品在线播放| 永久免费av在线| 久久久精品免费网站| 国产另类自拍| 隣の若妻さん波多野结衣| 久久国产福利国产秒拍| 国产精品va在线| 青青国产在线观看| 亚洲国产高清一区| 欧美另类在线播放| caoporn91| 国产精品成久久久久| 中文字幕在线日韩 | 一区二区免费在线播放| 亚洲人成77777| 国产精品麻豆一区二区三区| 久久综合精品国产一区二区三区| 国产综合第一页| 日韩中文字幕免费观看| 成人激情免费网站| 国产乱人伦精品一区二区| 亚洲av无码乱码国产精品久久| 国产尤物一区二区在线| 91探花福利精品国产自产在线| 中文字幕一区二区三区免费看| 日韩av网站免费在线| 国产精品视频地址| 亚洲一区二区人妻| 精品一区二区国语对白| 成人在线免费观看视视频| 91亚洲欧美激情| 国产一区二区视频在线| 97中文在线观看| 日本韩国免费观看| 国产一区福利| 91在线看国产| 国产成人精品日本亚洲11| 黄色片一区二区三区| 成人av网址在线观看| 久久www免费人成精品| 天堂在线中文| 日本一区二区在线不卡| 日本免费在线视频观看| 色www永久免费视频首页在线 | 一区二区三区视频在线| 国产一二三四区在线| 国产大片一区| 欧美极品美女视频网站在线观看免费 | 亚洲黄色在线观看视频| 成人视屏免费看| 欧美日韩一区在线视频| 免费在线看黄| 亚洲国产精品自拍| 北条麻妃视频在线| 激情视频亚洲| 亚洲精品久久久久久久久| 丝袜美腿中文字幕| 永久91嫩草亚洲精品人人| 久久全国免费视频| 中国黄色一级视频| 懂色av一区二区三区免费观看| 欧美日韩一区二| 国产剧情在线| 日韩欧美中文免费| 亚洲天堂小视频| 亚洲色图美女| 欧美男插女视频| 日韩三级一区二区| 国产成人免费视频精品含羞草妖精| 蜜桃视频在线观看成人| 久久黄色美女电影| 色综合久久中文字幕综合网| 无套内谢丰满少妇中文字幕| 亚洲精品国产动漫| 久久综合九色九九| 亚洲欧美日韩激情| 亚洲高清视频网站| 不卡欧美aaaaa| 中日韩在线视频| 成人影院入口| 日韩欧美国产电影| 精品在线观看一区| 亚洲欧美久久久| 成人黄色片视频网站| аⅴ资源新版在线天堂| 精品毛片网大全| 91精品人妻一区二区三区四区| 国产精品午夜一区二区三区| 国内伊人久久久久久网站视频| 在线视频1卡二卡三卡| 91在线精品一区二区三区| 欧美xxxx吸乳| 亚洲成人精品综合在线| 亚洲欧美日韩精品久久亚洲区 | 欧美性xxxx在线播放| 好吊操视频这里只有精品| 日韩在线看片| 日本亚洲欧洲色| 无码国产伦一区二区三区视频| 尤物av一区二区| 九九九九九九九九| 日韩久久电影| 国产精品嫩草影院久久久| 天天干天天爽天天操| 亚洲午夜在线电影| 欧美69精品久久久久久不卡| 在线成人直播| 成人疯狂猛交xxx| 91伦理视频在线观看| 在线一区二区三区四区五区| 国产精品无码永久免费不卡| 国产精品普通话对白| 精品国产一区二区三区日日嗨| 羞羞的网站在线观看| 日韩一级欧美一级| 午夜精品福利在线视频| 国产激情一区二区三区四区| 潘金莲一级淫片aaaaaa播放1| 疯狂欧洲av久久成人av电影| xxxxx成人.com| 国产福利资源在线| 一区二区三区中文免费| 992tv人人草| 欧美69视频| 国产精品久久精品国产| 91福利在线尤物| 亚洲精品视频免费| 三级视频在线观看| 国产亚洲短视频| 不卡的av中文字幕| 一级欧洲+日本+国产| 99精品国产一区二区| 成年网站在线视频网站| 精品亚洲aⅴ在线观看| 亚洲男人天堂网址| 国产精品久久三| 女人扒开双腿让男人捅| 99在线精品视频在线观看| 欧美日韩中文国产一区发布| 成人午夜在线| 久久成人一区二区| 日韩专区第一页| 日韩欧美在线视频| 永久免费未视频| 成人性生交大片免费看中文 | 日本中文字幕一区二区有限公司| 亚洲一区精品视频| 91精品啪在线观看国产爱臀| 欧美中文字幕精品| 精品国产99久久久久久| 亚洲精品一区二区在线观看| 伊人中文字幕在线观看| 中文字幕中文字幕一区二区| 黄色国产在线视频| 日韩成人免费在线| 免费人成在线观看视频播放| 国产探花在线精品一区二区| 亚洲影院色在线观看免费| av伦理在线| 正在播放亚洲1区| 少妇一区二区三区四区| 欧美亚洲国产一区二区三区| 精品99在线观看| 国产人妖乱国产精品人妖| 26uuu国产| 青椒成人免费视频| 无码 制服 丝袜 国产 另类| 日韩精品免费| 欧美精品尤物在线| 日韩一区二区三区高清在线观看| 日韩免费在线视频| 日韩欧美一起| 主播福利视频一区| 十九岁完整版在线观看好看云免费| 欧美精品久久一区二区三区| 久久久精品视频网站| 伊人性伊人情综合网| 国产激情av在线| aaa国产一区| 最好看的中文字幕| 免费人成黄页网站在线一区二区| 国产网站免费在线观看| 午夜精品影院| 一级一片免费播放| 狠狠色狠狠色综合婷婷tag| 国产日韩精品久久| 久久影院一区二区三区| 国产日韩精品在线| 香蕉成人av| 欧美综合激情网| eeuss鲁一区二区三区| 欧美床上激情在线观看| 1024国产在线| 一区二区福利视频| 欧美中文在线| 亚洲精品自拍偷拍| 狠狠躁夜夜躁av无码中文幕| 日韩视频在线你懂得| 97人妻精品一区二区三区动漫| 欧美在线播放高清精品| 国产免费一区二区三区四区五区| 岛国av在线不卡| 日本在线视频免费| 亚洲va国产天堂va久久en| 麻豆亚洲av熟女国产一区二| 亚洲精品精品亚洲| 国产精品九九九九九九| 亚洲美女免费在线| 538精品在线观看| 亚洲麻豆国产自偷在线| 欧美交换国产一区内射| 亚洲精品videosex极品| 真实国产乱子伦对白在线| 一级做a爱片久久| 久久久久久久九九九九| 亚洲线精品一区二区三区| 亚洲激情视频一区| 偷拍一区二区三区| 99超碰在线观看| 欧美亚洲一区三区| 在线免费一级片| 91精品久久久久久久91蜜桃| 国产国语亲子伦亲子| 欧美刺激午夜性久久久久久久| 成人免费一级视频| 亚洲精品美女网站| 天堂成人在线视频| 亚洲人成在线电影| 天堂中文а√在线| 久久99国产精品自在自在app| 成人福利影视| 国产国语刺激对白av不卡| 图片一区二区| 国产精品久久久久久久久婷婷| 日韩欧美天堂| 日本亚洲欧洲精品| 香蕉国产精品| aa在线观看视频| 视频一区二区三区中文字幕| 亚洲xxx在线观看| 成人蜜臀av电影| 91成人破解版| 亚洲美女视频在线| 国产黄色免费观看| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲精品美女91| 无码少妇一区二区三区芒果| 国产综合成人久久大片91| 你懂的在线观看网站| 欧美国产乱子伦| 久久久久成人精品无码| 色婷婷狠狠综合| 国产欧美熟妇另类久久久| 亚洲精品久久久久中文字幕二区| 高清福利在线观看| 欧美老女人在线视频| 成人影院av| 99蜜桃在线观看免费视频网站| 欧美有码在线| 天天干天天操天天干天天操| 99精品欧美| 999热精品视频| 久久久.com| 久久久一二三区| 欧美日韩国产天堂| 天天干视频在线| 九色精品美女在线| 国产综合av| 精品欧美一区二区久久久伦 | 草草久久久无码国产专区| 激情五月婷婷综合| 91国模少妇一区二区三区| 一区二区三区四区乱视频| 中文字幕精品无| 亚洲成人黄色在线观看| 超碰免费公开在线| 国产精品久久久久久久久借妻| 国产香蕉精品| 国内自拍中文字幕| 麻豆91在线看| 永久免费成人代码| 五月天一区二区三区| 国产av无码专区亚洲av| 综合欧美国产视频二区| 无码小电影在线观看网站免费| 成人欧美一区二区三区视频xxx| 日韩大片在线| 成年人网站大全| 91碰在线视频| 日韩三级免费看| 欧美va亚洲va在线观看蝴蝶网| 欧美69xxx| 国产精品视频精品| 第一会所sis001亚洲| 国产精品第12页| 2020国产成人综合网| 日操夜操天天操| 欧美成人一区二区三区在线观看| 国产日产一区二区三区| 国产欧美在线观看| 色婷婷色综合| 天天操狠狠操夜夜操| 中文字幕第一区| 中文字幕一区二区三区波野结| 国产性猛交xxxx免费看久久| 亚洲最大网站| 欧美日韩一区在线视频| 久久亚洲美女| 亚洲欧美va天堂人熟伦| 在线观看一区日韩| 国产福利小视频在线观看| 国产精品大陆在线观看| 日韩激情毛片| 国产淫片av片久久久久久| 久久理论电影网| 99re热视频| 中文字幕在线看视频国产欧美在线看完整 | 女教师高潮黄又色视频| 亚洲综合色在线| 日韩一级片免费看| 日韩av手机在线看| 日本黄色精品| 污视频在线观看免费网站| 亚洲综合视频网| 色哟哟在线观看| 国产精彩精品视频| 日韩系列欧美系列| 中文字幕在线播放一区二区| 黄色一区二区在线观看| 看电影就来5566av视频在线播放| 国产精品美女免费视频| 99久久精品费精品国产风间由美| 1314成人网| 午夜久久福利影院| 黄网站在线观看| 91在线播放国产| 亚洲精品日韩久久| 欧美另类z0zx974| 日韩一级大片在线观看| 超碰在线cao| 亚洲国内在线| 国产精品一区三区| 中文字幕一区二区三区精品| 国产一区二区日韩精品欧美精品| 日韩综合久久| 国产曰肥老太婆无遮挡| 久久久99精品免费观看| 国产熟女一区二区丰满| 97**国产露脸精品国产| 日韩免费视频| 91av在线免费| 欧美裸体一区二区三区| 麻豆视频在线看| 一区二区精品国产| www.亚洲精品| 亚洲天堂2021av| 欧美一级免费看| 亚洲自拍偷拍网| 国产亚洲无码精品| 欧美一区二区三区系列电影| 69久成人做爰电影| 狠狠精品干练久久久无码中文字幕| 91欧美一区二区| 精品久久久无码中文字幕| 国产成人精品av在线| 狠狠色狠狠色综合日日tαg | 亚洲午夜在线电影|