日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

用Python5分鐘創(chuàng)建基于AI大模型的應(yīng)用程序(用python5分鐘創(chuàng)建基于ai大模型的應(yīng)用程序)

在這個(gè)數(shù)據(jù)驅(qū)動(dòng)創(chuàng)新的時(shí)代,創(chuàng)建利用大型語言模型 (LLM) 的強(qiáng)大應(yīng)用程序變得越來越重要。作為這一需求的證明,LangChain 和 Streamlit 最近的集成顯著簡化了構(gòu)建基于 LLM 的應(yīng)用程序的過程。這些開源庫相輔相成,為開發(fā)人員提供了強(qiáng)大的技術(shù)堆棧,用于構(gòu)建和共享數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序。

用Python5分鐘創(chuàng)建基于AI大模型的應(yīng)用程序(用python5分鐘創(chuàng)建基于ai大模型的應(yīng)用程序)

Streamlit和LangChain概述

Streamlit 是一個(gè)開源 Python 庫,可在幾分鐘內(nèi)將數(shù)據(jù)腳本轉(zhuǎn)換為可共享的 Web 應(yīng)用程序。另一方面,LangChain為開發(fā)者提供了一個(gè)將LLM與其他計(jì)算資源或知識(shí)源集成的平臺(tái)。這兩個(gè)庫都擁有強(qiáng)大的開源社區(qū)精神和“自帶電池”的理念,促進(jìn)應(yīng)用程序的快速迭代和交付。

用Python5分鐘創(chuàng)建基于AI大模型的應(yīng)用程序(用python5分鐘創(chuàng)建基于ai大模型的應(yīng)用程序)

使用 Streamlit 可視化 LLM 想法和行動(dòng)

Streamlit 和 LangChain 集成的主要目標(biāo)是簡化 LLM 代理思想和行動(dòng)的渲染和可視化。此功能使開發(fā)人員和最終用戶能夠清楚地了解代理從啟動(dòng)到最終響應(yīng)的流程。

這種可視化是使用 Streamlit 的回調(diào)處理程序?qū)崿F(xiàn)的。當(dāng)與 LLM 代理集成時(shí),回調(diào)處理程序以有組織、緊湊的擴(kuò)展器格式顯示代理的想法和工具輸入/輸出。

以下是一個(gè) Python 代碼片段,說明如何使用 Streamlit 和 LangChain 創(chuàng)建基于 LLM 的聊天與搜索應(yīng)用程序

from langchain.agents import initialize_agent, AgentTypefrom langchain.callbacks import StreamlitCallbackHandlerfrom langchain.chat_models import ChatOpenAIfrom langchain.tools import DuckDuckGoSearchRunimport streamlit as stst.set_page_config(page_title="LangChain: Chat with search", page_icon="")st.title(" LangChain: Chat with search")openai_api_key = st.sidebar.text_input("OpenAI API Key", type="password")if "messages" not in st.session_state: st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]for msg in st.session_state.messages: st.chat_message(msg["role"]).write(msg["content"])if prompt := st.chat_input(placeholder="Who won the Women's U.S. Open in 2018?"): st.session_state.messages.append({"role": "user", "content": prompt}) st.chat_message("user").write(prompt) if not openai_api_key: st.info("Please add your OpenAI API key to continue.") st.stop() llm = ChatOpenAI(model_name="gpt-3.5-turbo", openai_api_key=openai_api_key, streaming=True) search_agent = initialize_agent( tools=[DuckDuckGoSearchRun(name="Search")], llm=llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, handle_parsing_errors=True, ) with st.chat_message("assistant"): st_cb = StreamlitCallbackHandler(st.container(), expand_new_thoughts=False) response = search_agent.run(st.session_state.messages, callbacks=[st_cb]) st.session_state.messages.append({"role": "assistant", "content": response}) st.write(response)

在此代碼中:

  • 首先導(dǎo)入必要的庫和模塊。
  • set_page_config()函數(shù)用于配置Streamlit應(yīng)用程序的頁面。
  • OpenAI API 密鑰是從側(cè)邊欄文本輸入中捕獲的用戶輸入。
  • 在 Streamlit 會(huì)話狀態(tài)下初始化消息列表以保存聊天消息。
  • 會(huì)話狀態(tài)中的每條消息都使用 for 循環(huán)在 Streamlit 應(yīng)用程序中呈現(xiàn)。
  • 如果聊天輸入字段中有用戶輸入,則會(huì)將其添加到會(huì)話狀態(tài)消息列表中,并初始化搜索代理。
  • 搜索代理使用 Streamlit 回調(diào)處理程序運(yùn)行,并將結(jié)果寫回 Streamlit 應(yīng)用程序。

這種方法允許高級(jí)定制和易于使用。

用Python5分鐘創(chuàng)建基于AI大模型的應(yīng)用程序(用python5分鐘創(chuàng)建基于ai大模型的應(yīng)用程序)

展望未來:Streamlit 和 LangChain 的未來

此次合作僅處于初始階段,團(tuán)隊(duì)有雄心勃勃的計(jì)劃來擴(kuò)展 Streamlit 和 LangChain 集成的功能和范圍。管道中的增強(qiáng)功能包括對其他鏈類型(如 VectorStore、SQLChain 和簡單流)的支持、改進(jìn)的 UI/UX 以及更輕松地集成 LangChain 原語(如 Memory 和 Messages)與 Streamlit chat 和 session_state。

Streamlit 和 LangChain 不僅徹底改變了開發(fā)人員創(chuàng)建利用大型語言模型的應(yīng)用程序的方式,而且還不斷完善其工具,以確保開發(fā)人員和最終用戶獲得更好的體驗(yàn)。LangChain 和 Streamlit 的技術(shù)堆棧是您在幾分鐘內(nèi)創(chuàng)建基于 LLM 的演示所需的工具包。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁
返回頂部
综艺| 九寨沟县| 阳泉市| 阳曲县| 遵化市| 鄂州市| 兴义市| 大连市| 安远县| 云阳县| 万盛区| 甘肃省| 神池县| 扎鲁特旗| 新野县| 潍坊市| 虞城县| 凌海市| 高淳县| 原平市| 广宗县| 平南县| 长岛县| 阿克| 峨眉山市| 荥经县| 崇左市| 茌平县| 法库县| 西城区| 佛教| 古浪县| 仲巴县| 富民县| 开平市| 高唐县| 沧源| 莱州市| 仙居县| 威远县| 鄱阳县|