使用Python构建LLM应用程序的初学者指南

智能真的很好说 2024-06-21 12:06:07

在本文中,您将受到开始使用 Python 编程语言构建 LLM 应用程序所需的知识的影响。

图片由编辑提供 |Midjourney 和 Canva

罗宾·夏尔马(Robin Sharma)说:“每个大师都曾经是初学者。每个职业选手都曾经是业余爱好者。您已经听说过大型语言模型 (LLM)、AI 和 Transformer 模型 (GPT) 在 AI 领域掀起波澜一段时间,并且对如何开始感到困惑。我可以向你保证,你今天看到的构建复杂应用程序的每个人都曾经在那里。

这就是为什么在本文中,您将受到开始使用 Python 编程语言构建 LLM 应用程序所需的知识的影响。这完全适合初学者,您可以在阅读本文时一起编写代码。

您将在本文中构建什么?您将创建一个简单的 AI 个人助理,该助理会根据用户的提示生成响应,并将其部署为全局访问它。下图显示了完成的应用程序的外观。

此图显示了本文中将构建的 AI 个人助理的用户界面

先决条件

为了让您继续阅读本文,您需要锁定一些内容。这包括:

Python (3.5+),以及后台编写 Python 脚本。OpenAI:OpenAI 是一家研究机构和技术公司,旨在确保通用人工智能 (AGI) 造福全人类。它的主要贡献之一是开发了 GPT-3 和 GPT-4 等高级 LLM。这些模型可以理解和生成类似人类的文本,使其成为聊天机器人、内容创建等各种应用程序的强大工具。注册 OpenAI 并从您帐户的 API 部分复制您的 API 密钥,以便您可以访问模型。使用以下命令在您的计算机上安装 OpenAI:pip install openaiLangChain:LangChain是一个框架,旨在简化利用LLM的应用程序的开发。它提供了工具和实用程序来管理和简化使用 LLM 的各个方面,使构建复杂而健壮的应用程序变得更加容易。

使用以下命令在您的计算机上安装LangChain:

pip install langchainStreamlit:Streamlit 是一个功能强大且易于使用的 Python 库,用于创建 Web 应用程序。Streamlit 允许您单独使用 Python 创建交互式 Web 应用程序。您不需要 Web 开发(HTML、CSS、JavaScript)方面的专业知识来构建功能强大且具有视觉吸引力的 Web 应用程序。它有利于构建机器学习和数据科学应用程序,包括那些使用 LLM 的应用程序。 使用以下命令在您的计算机上安装 streamlit:pip install streamlit一路编码

安装完所有必需的包和库后,是时候开始构建 LLM 应用程序了。在工作目录的根目录中创建一个requirement.txt并保存依赖项。

streamlitopenailangchain

创建一个 app.py 文件并添加下面的代码。

# Importing the necessary modules from the Streamlit and LangChain packagesimport streamlit as stfrom langchain.llms import OpenAI导入用于创建交互式 Web 应用程序的 Streamlit 库。from langchain.llms import OpenAI 从 langchain.llms 模块导入 OpenAI 类,该模块用于与 OpenAI 的语言模型进行交互。# Setting the title of the Streamlit applicationst.title('Simple LLM-App ')st.title('Simple LLM-App ') 设置 Streamlit Web 的标题。# Creating a sidebar input widget for the OpenAI API key, input type is password for securityopenai_api_key = st.sidebar.text_input('OpenAI API Key', type='password')openai_api_key = st.sidebar.text_input('OpenAI API Key', type='password') 在侧边栏中创建一个文本输入小部件,供用户输入其 OpenAI API 密钥。输入类型设置为“密码”以隐藏输入的文本以确保安全。# Defining a function to generate a response using the OpenAI language modeldef generate_response(input_text): # Initializing the OpenAI language model with a specified temperature and API key llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key) # Displaying the generated response as an informational message in the Streamlit app st.info(llm(input_text))def generate_response(input_text) 定义了一个名为 generate_response 的函数,该函数将 input_text 作为参数。llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key) 初始化 OpenAI 类,温度设置为 0.7,并提供 API 密钥。

温度是用于控制语言模型生成的文本的随机性或创造性的参数。它决定了模型在其预测中引入的可变性程度。

低温 (0.0 - 0.5):这使得模型更具确定性和重点。中温 (0.5 - 1.0):在随机性和确定性之间取得平衡。高温(1.0 及以上):增加输出的随机性。较高的值使模型的响应更具创造性和多样性,但这也可能导致连贯性降低,以及更多荒谬或偏离主题的输出。st.info(llm(input_text)) 使用提供的input_text调用语言模型,并在 Streamlit 应用程序中将生成的响应显示为信息性消息。# Creating a form in the Streamlit app for user inputwith st.form('my_form'): # Adding a text area for user input text = st.text_area('Enter text:', '') # Adding a submit button for the form submitted = st.form_submit_button('Submit') # Displaying a warning if the entered API key does not start with 'sk-' if not openai_api_key.startswith('sk-'): st.warning('Please enter your OpenAI API key!', icon='⚠') # If the form is submitted and the API key is valid, generate a response if submitted and openai_api_key.startswith('sk-'): generate_response(text)使用 st.form('my_form') 创建一个名为 my_form 的表单容器。text = st.text_area('Enter text:', '') 在表单中添加一个文本区域输入小部件,供用户输入文本。submitted = st.form_submit_button('Submit') 向表单添加一个提交按钮。如果不是,openai_api_key.startswith('sk-') 检查输入的 API 密钥是否不以 sk- 开头。st.warning('Please enter your OpenAI API key!', icon='⚠') 如果 API 密钥无效,则会显示一条警告消息。if submitted 和 openai_api_key.startswith('sk-') 检查表单是否已提交以及 API 密钥是否有效。generate_response(text) 使用输入的文本调用 generate_response 函数以生成并显示响应。

把它放在这里就是你所拥有的:

# Importing the necessary modules from the Streamlit and LangChain packagesimport streamlit as stfrom langchain.llms import OpenAI# Setting the title of the Streamlit applicationst.title('Simple LLM-App ')# Creating a sidebar input widget for the OpenAI API key, input type is password for securityopenai_api_key = st.sidebar.text_input('OpenAI API Key', type='password')# Defining a function to generate a response using the OpenAI modeldef generate_response(input_text): # Initializing the OpenAI model with a specified temperature and API key llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key) # Displaying the generated response as an informational message in the Streamlit app st.info(llm(input_text))# Creating a form in the Streamlit app for user inputwith st.form('my_form'): # Adding a text area for user input with a default prompt text = st.text_area('Enter text:', '') # Adding a submit button for the form submitted = st.form_submit_button('Submit') # Displaying a warning if the entered API key does not start with 'sk-' if not openai_api_key.startswith('sk-'): st.warning('Please enter your OpenAI API key!', icon='⚠') # If the form is submitted and the API key is valid, generate a response if submitted and openai_api_key.startswith('sk-'): generate_response(text)运行应用程序

应用程序已准备就绪;您需要使用适用于您正在使用的框架的命令来执行应用程序脚本。

streamlit run app.py

通过使用 streamlit run app.py 运行此代码,可以创建一个交互式 Web 应用程序,用户可以在其中输入提示并接收 LLM 生成的文本响应。

执行 streamlit run app.py 时,会发生以下情况:

Streamlit 服务器启动:Streamlit 在您的计算机上启动本地 Web 服务器,默认情况下通常以“http://localhost:8501”访问。代码执行:Streamlit 在“app.py”中读取并执行代码,按照脚本中的定义呈现应用。Web 界面:您的 Web 浏览器会自动打开(或者您可以手动导航)到 Streamlit 提供的 URL(通常为 http://localhost:8501),您可以在其中与您的 LLM 应用程序进行交互。部署 LLM 应用程序

部署 LLM 应用程序意味着可以通过 Internet 访问它,以便其他人可以使用和测试它,而无需访问您的本地计算机。这对于协作、用户反馈和实际测试非常重要,可确保应用在各种环境中表现良好。

若要将应用程序部署到 Streamlit Cloud,请执行以下步骤:

为应用创建 GitHub 存储库。确保您的存储库包含两个文件:app.py 和 requirements.txt转到 Streamlit Community Cloud,单击工作区中的“新建应用”按钮,然后指定存储库、分支和主文件路径。单击“部署”按钮,您的 LLM 应用程序现在将部署到 Streamlit Community Cloud,并且可以在全球范围内访问。

结论

祝贺!您已经迈出了使用 Python 构建和部署 LLM 应用程序的第一步。从了解先决条件、安装必要的库和编写核心应用程序代码开始,您现在已经创建了一个功能性的 AI 个人助理。通过使用 Streamlit,您使您的应用程序具有交互性和易用性,并且通过将其部署到 Streamlit 社区云,您可以将其提供给全球用户。

借助在本指南中学到的技能,您可以更深入地了解 LLM 和 AI,探索更高级的功能并构建更复杂的应用程序。不断尝试、学习并与社区分享您的知识。LLM 的可能性是巨大的,而您的旅程才刚刚开始。祝您编码愉快!

Shittu Olumide 是一名软件工程师和技术作家,热衷于利用尖端技术来制作引人入胜的叙述,对细节有着敏锐的眼光和简化复杂概念的诀窍。您也可以在 Twitter 上找到 Shittu。

原文标题:Beginner’s Guide to Building LLM Apps with Python

原文链接:https://www.kdnuggets.com/beginners-guide-to-building-llm-apps-with-python

作者:Shittu Olumide

编译:LCR

0 阅读:0

智能真的很好说

简介:感谢大家的关注