用Python5分钟创建基于AI大模型的应用程序(用python5分钟创建基于ai大模型的应用程序)

在这个数据驱动创新的时代,创建利用大型语言模型 (LLM) 的强大应用程序变得越来越重要。作为这一需求的证明,LangChain 和 Streamlit 最近的集成显着简化了构建基于 LLM 的应用程序的过程。这些开源库相辅相成,为开发人员提供了强大的技术堆栈,用于构建和共享数据驱动的应用程序。

用Python5分钟创建基于AI大模型的应用程序(用python5分钟创建基于ai大模型的应用程序)

Streamlit和LangChain概述

Streamlit 是一个开源 Python 库,可在几分钟内将数据脚本转换为可共享的 Web 应用程序。另一方面,LangChain为开发者提供了一个将LLM与其他计算资源或知识源集成的平台。这两个库都拥有强大的开源社区精神和“自带电池”的理念,促进应用程序的快速迭代和交付。

用Python5分钟创建基于AI大模型的应用程序(用python5分钟创建基于ai大模型的应用程序)

使用 Streamlit 可视化 LLM 想法和行动

Streamlit 和 LangChain 集成的主要目标是简化 LLM 代理思想和行动的渲染和可视化。此功能使开发人员和最终用户能够清楚地了解代理从启动到最终响应的流程。

这种可视化是使用 Streamlit 的回调处理程序实现的。当与 LLM 代理集成时,回调处理程序以有组织、紧凑的扩展器格式显示代理的想法和工具输入/输出。

以下是一个 Python 代码片段,说明如何使用 Streamlit 和 LangChain 创建基于 LLM 的聊天与搜索应用程序

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)

在此代码中:

  • 首先导入必要的库和模块。
  • set_page_config()函数用于配置Streamlit应用程序的页面。
  • OpenAI API 密钥是从侧边栏文本输入中捕获的用户输入。
  • 在 Streamlit 会话状态下初始化消息列表以保存聊天消息。
  • 会话状态中的每条消息都使用 for 循环在 Streamlit 应用程序中呈现。
  • 如果聊天输入字段中有用户输入,则会将其添加到会话状态消息列表中,并初始化搜索代理。
  • 搜索代理使用 Streamlit 回调处理程序运行,并将结果写回 Streamlit 应用程序。

这种方法允许高级定制和易于使用。

用Python5分钟创建基于AI大模型的应用程序(用python5分钟创建基于ai大模型的应用程序)

展望未来:Streamlit 和 LangChain 的未来

此次合作仅处于初始阶段,团队有雄心勃勃的计划来扩展 Streamlit 和 LangChain 集成的功能和范围。管道中的增强功能包括对其他链类型(如 VectorStore、SQLChain 和简单流)的支持、改进的 UI/UX 以及更轻松地集成 LangChain 原语(如 Memory 和 Messages)与 Streamlit chat 和 session_state。

Streamlit 和 LangChain 不仅彻底改变了开发人员创建利用大型语言模型的应用程序的方式,而且还不断完善其工具,以确保开发人员和最终用户获得更好的体验。LangChain 和 Streamlit 的技术堆栈是您在几分钟内创建基于 LLM 的演示所需的工具包。

相关新闻

联系我们
联系我们
公众号
公众号
在线咨询
分享本页
返回顶部