我用Streamlit+LLM(大型语言模型)轻松实现Web聊天

这篇具有很好参考价值的文章主要介绍了我用Streamlit+LLM(大型语言模型)轻松实现Web聊天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Streamlit是时下比较热门的一个基于Python的Web应用程序框架,它可以在几分钟内将数据转化为可共享的Web应用程序,无需前端开发经验,使用纯Python代码实现,简单且高效。ChatGPT是目前非常火的OpenAI公司开发的聊天机器人模型,它无所不知就像一本大百科全书,它可以帮你做很多繁杂的日常工作,比如可以代你写文章,代你做excel表格,甚至代你写代码。今天我们要将两者结合起来开发一个基于web的应用聊天小程序。

安装OpenAPI和Streamlit包

我们需要在python环境中安装openai和streamlit的第三方python包,可以通过在命令行窗口中安装这些包:

pip install openai
pip install streamlit
pip install streamlit_chat

聊天机器人接口参数说明

  • model:模型名词
  • prompt:您对机器人提出的问题
  • temperature:温度参数,该参数控制生成文本的随机性级别。较高的温度参数会导致更多变化且可能不太连贯的响应,而较低的t温度参数会产生更可预测且可能更连贯的响应。
  • max_tokens:应答语句的长度 

创建聊天Python代码文件

我们需要创建一个用于聊天的streamlit的代码文件 chat_bot.py:

# chat_bot.py

import openai
import streamlit as st
from streamlit_chat import message

#申请的api_key
openai.api_key = "xxxxxxxxxxxxxxxxx" 
def generate_response(prompt):
    completion=openai.Completion.create(
        model='text-davinci-003',
        prompt=prompt,
        max_tokens=1024,
        temperature=0.6
    )
    message=completion.choices[0].text
    return message

st.markdown("#### 我是ChatGPT聊天机器人,我可以回答您的任何问题!")
if 'generated' not in st.session_state:
    st.session_state['generated'] = []
if 'past' not in st.session_state:
    st.session_state['past'] = []
user_input=st.text_input("请输入您的问题:",key='input')
if user_input:
    output=generate_response(user_input)
    st.session_state['past'].append(user_input)
    st.session_state['generated'].append(output)
if st.session_state['generated']:
    for i in range(len(st.session_state['generated'])-1, -1, -1):
        message(st.session_state["generated"][i], key=str(i))
        message(st.session_state['past'][i], 
                is_user=True, 
                key=str(i)+'_user')

启动Streamlit

 我们需要在命令行窗口执行启动streamlit的命令:

streamlit run chat_bot.py

我用Streamlit+LLM(大型语言模型)轻松实现Web聊天,chatgpt,streamlit

输入启动streamlit命令后,会弹出浏览器, 如果没有弹出浏览器可以自行打开浏览器并输入上图中的url地址,接下来就可以开始和ChatGPT聊天了:

 我用Streamlit+LLM(大型语言模型)轻松实现Web聊天,chatgpt,streamlit

参考资料

Streamlit documentation

OpenAI API documentation文章来源地址https://www.toymoban.com/news/detail-598617.html

到了这里,关于我用Streamlit+LLM(大型语言模型)轻松实现Web聊天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大型语言模型 (LLM)全解读

    大型语言模型 是 一种深度学习算法 ,可以 执行各种自然语言处理 (NLP) 任务 。 大型语言模型底层 使用多个转换器模型 , 底层转换器是一组神经网络 。 大型语言模型是 使用海量数据集 进行训练的超大型深度学习模型。 这也是它们能够识别、翻译、预测或生成文本或其他

    2024年01月23日
    浏览(60)
  • 如何评估大型语言模型(LLM)?

    编者按:近期几乎每隔一段时间,就有新的大语言模型发布,但是当下仍然没有一个通用的标准来评估这些大型语言模型的质量,我们急需一个可靠的、综合的LLM评估框架。 本文说明了为什么我们需要一个全面的大模型评估框架,并介绍了市面上这些现有的评估框架,同时指

    2024年02月10日
    浏览(52)
  • 大型语言模型LLM的基础应用

    ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案

    2024年02月09日
    浏览(48)
  • 大语言模型(LLM)综述(五):使用大型语言模型的主要方法

    随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-Words)和N-gram模型演变为更为复杂和强大的神经网络模型。在这一进程中,大型语言模型(LLM)尤为引人注目,它们不仅在自然语言处理(NLP)任务中表现出色,而且在各种跨领域应用中也展示

    2024年02月06日
    浏览(50)
  • 【NLP】如何管理大型语言模型 (LLM)

    LLM 编排是管理和控制大型语言模型 (LLM)的过程,以优化其性能和有效性。这包括以下任务: 提示LLM: 生成有效的提示,为LLMs提供适当的背景和信息以产生所需的输出。 链接LLM:  结合多个LLM的输出以获得更复杂或更细致的结果。 管理LLM资源:  有效分配和管理LLM资源以满

    2024年02月05日
    浏览(55)
  • 如何解决LLM(大型语言模型)幻觉问题

    LLM幻觉问题是什么? LLM(大型语言模型)幻觉问题指的是当大型语言模型(如我这样的)在处理请求时产生的不准确或虚构的信息。这些幻觉可能是因为模型的训练数据不足、错误或偏见,或者是因为模型在处理某些特定类型的问题时的局限性。具体来说,这些问题可能包括

    2024年02月02日
    浏览(38)
  • 【LLM GPT】李宏毅大型语言模型课程

    怎么学习?——给定输入和输出: 但是这样做不现实,因为这样输入-输出需要成对的资料,而chatgpt 成功解决了这一个难题。 chatgpt不需要成对的资料,只需要一段有用的资料,便可以自己学习内容,如下: 初代和第二代gpt 第二代到第三代 gpt3还会写代码 其性能表现 但是

    2024年02月10日
    浏览(45)
  • ChatGPT和大型语言模型(LLM)是什么关系?

    什么是语言模型:\\\" 语言模型的本质是一个数学模型,用于捕捉和理解人类语言的结构和规律 。它通过分析大量文本数据中的单词或字符之间的关系,以概率的方式预测在给定上下文情况下下一个可能出现的单词或字符。这种模型允许计算机在生成文本、翻译语言、问答等任

    2024年02月10日
    浏览(45)
  • LangChain大型语言模型(LLM)应用开发(五):评估

    LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,以便在不同的

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包