国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用Streamlit、LangChain和Bedrock構建一個交互式聊天機器人 原創

發布于 2024-11-1 14:48
瀏覽
0收藏

本文將幫助你使用低代碼前端、用于會話管理的LangChain以及用于生成響應的Bedrock LLM來創建聊天機器人。

在不斷發展的AI領域,聊天機器人已成為一種不可或缺的工具,用于增強用戶參與度和簡化信息傳遞。本文將逐步介紹構建交互式聊天機器人的具體過程,使用Streamlit作為前端、使用LangChain用于協調交互,以及使用基于Amazon Bedrock的Anthropic Claude模型作為大語言模型(LLM)后端。我們將深入研究前端和后端的代碼片段,并解釋使這個聊天機器人切實可行的關鍵組件。

核心組件

  • Streamlit前端:Streamlit的直觀界面便于我們不用花多大的力氣就能創建一個對用戶友好的低代碼聊天界面。我們將探討代碼如何創建聊天窗口、處理用戶輸入和顯示聊天機器人的響應。
  • LangChain編排:LangChain使我們能夠管理會話流程和內存,確保聊天機器人維護上下文并提供相關的響應。我們將討論如何整合LangChain的ConversationSummaryBufferMemory和ConversationChain。
  • Bedrock/Claude LLM后端:真正的魔力在于LLM后端。我們將看看如何利用Amazon Bedrock的claude基礎模型來生成上下文感知的智能響應。

使用Streamlit、LangChain和Bedrock構建一個交互式聊天機器人-AI.x社區

圖1. 聊天機器人體系結構

體系結構的概念闡述

  • 用戶交互:用戶通過在Streamlit創建的聊天界面中輸入消息來發起對話。該消息可以是問題、請求或用戶希望提供的任何其他形式的輸入。
  • 輸入捕獲和處理:Streamlit的聊天輸入組件捕獲用戶的消息,并將其傳遞給LangChain框架進行進一步處理。
  • 語境化結合LangChain記憶:LangChain在保持對話的上下文方面起著至關重要的作用。它將用戶的最新輸入與存儲在內存中的相關對話歷史記錄結合起來。這確保了聊天機器人擁有必要的信息,以生成有意義且符合上下文的響應。
  • 利用LLM:然后將結合的上下文發送到Bedrock/Claude LLM。這個強大的語言模型利用其豐富的知識以及對語言的理解來分析上下文,并生成響應,以大量的豐富信息回復用戶的輸入。
  • 響應檢索:LangChain從LLM接收生成的響應,并準備將其提供給用戶。
  • 響應顯示:最后,Streamlit獲得聊天機器人的響應后將其顯示在聊天窗口中,使其看起來好像聊天機器人正與用戶進行自然地對話。這營造了一種直觀的、對用戶友好的體驗,鼓勵進一步的交互。

代碼片段

前端(Streamlit)

Python

import streamlit 
import chatbot_backend 
from langchain.chains import ConversationChain
 from langchain.memory import ConversationSummaryBufferMemory
 import boto3
 from langchain_aws import ChatBedrock
import pandas as pd
 
 # 2 Set Title for Chatbot - streamlit.title("Hi, This is your Chatbott")  
 
 # 3 LangChain memory to the session cache - Session State - 
if 'memory' not in streamlit.session_state:
    streamlit.session_state.memory = demo.demo_memory()  

 # 4 Add the UI chat history to the session cache - Session State 
 if 'chat_history' not in streamlit.session_state:  
    streamlit.session_state.chat_history = []  

# 5 Re-render the chat history 
 for message in streamlit.session_state.chat_history:
     with streamlit.chat_message(message["role"]):
         streamlit.markdown(message["text"])
 
# 6 Enter the details for chatbot input box
input_text = streamlit.chat_input("Powered by Bedrock")  

 if input_text:
    with streamlit.chat_message("user"):
        streamlit.markdown(input_text)
 
     streamlit.session_state.chat_history.append({"role": "user", "text": input_text})
 
     chat_response = demo.demo_conversation(input_text=input_text,
                                            memory=streamlit.session_state.memory)  
    with streamlit.chat_message("assistant"):
         streamlit.markdown(chat_response)
 
     streamlit.session_state.chat_history.append({"role": "assistant", "text": chat_response})

后端(LangChain和LLM)

Python

from langchain.chains import ConversationChain
 from langchain.memory import ConversationSummaryBufferMemory
 import boto3
 from langchain_aws import ChatBedrock
 
 # 2a Write a function for invoking model- client connection with Bedrock with profile, model_id
 def demo_chatbot():
     boto3_session = boto3.Session(
              # Your aws_access_key_id, 
              # Your aws_secret_access_key,
         region_name='us-east-1'
     )
     llm = ChatBedrock(
         model_id="anthropic.claude-3-sonnet-20240229-v1:0",
         client=boto3_session.client('bedrock-runtime'),
         model_kwargs={
             "anthropic_version": "bedrock-2023-05-31",
             "max_tokens": 20000,
             "temperature": .3,
             "top_p": 0.3,
             "stop_sequences": ["\n\nHuman:"]
         }
     )
     return llm
 
 # 3 Create a Function for  ConversationSummaryBufferMemory  (llm and max token limit)
 def demo_memory():
     llm_data = demo_chatbot()
    memory = ConversationSummaryBufferMemory(llm=llm_data, max_token_limit=20000)
     return memory
 
 # 4 Create a Function for Conversation Chain - Input text + Memory
 def demo_conversation(input_text, memory):
     llm_chain_data = demo_chatbot()
 
     # Initialize ConversationChain with proper llm and memory
     llm_conversation = ConversationChain(llm=llm_chain_data, memory=memory, verbose=True)
 
     # Call the invoke method
    full_input = f" \nHuman: {input_text}"
     llm_start_time = time.time()
     chat_reply = llm_conversation.invoke({"input": full_input})
     llm_end_time = time.time()
     llm_elapsed_time = llm_end_time - llm_start_time
     memory.save_context({"input": input_text}, {"output": chat_reply.get('response', 'No Response')})
     return chat_reply.get('response', 'No Response')

結論

我們在上面探討了用Streamlit、LangChain和強大的LLM后端構建的交互式聊天機器人的基本模塊。這個基礎為從客戶支持自動化到個性化學習體驗的無限可能打開了大門。你可以隨意試驗、改進和部署這個聊天機器人,以滿足自己的特定需求和使用場景。

原文標題:??Building an Interactive Chatbot With Streamlit, LangChain, and Bedrock??,作者:Karan Bansal

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2024-11-1 14:49:25修改
收藏
回復
舉報
回復
相關推薦
久久久久九九九九| 日韩视频在线一区二区三区| 亚洲国产精品激情在线观看| 91在线直播亚洲| 欧美三区四区| 午夜国产不卡在线观看视频| 肉大捧一出免费观看网站在线播放| 凹凸av导航大全精品| 久久久久人妻精品一区三寸| 成人高清av| 永久555www成人免费| 97超碰人人在线| 亚洲欧洲制服丝袜| av免费观看大全| 天堂资源在线中文精品| 国产精品久久久久久婷婷天堂| 日韩专区视频网站| 亚洲第一视频网| 在线观看黄色av| 欧美在线三区| 97热精品视频官网| 中文字幕成在线观看| 欧美精品国产精品| 日韩av高清在线| 亚洲男人的天堂在线观看| 欧美色图另类小说| 香港久久久电影| 日韩精品视频在线观看网址| 国产日产精品久久久久久婷婷| 中文字幕中文字幕中文字幕亚洲无线| 国产免费一区二区三区四在线播放| 99精品一区| 国产精品女人网站| 日韩母乳在线| 欧美一级大片在线观看| 国色天香久久精品国产一区| 最新国产精品久久精品| 日韩av片在线看| 国产91丝袜在线观看| 亚洲国产精品123| 日韩精品成人一区二区在线| 久久国产精品亚洲va麻豆| 伊人成人网在线看| 狠狠色噜噜狠狠狠狠色吗综合| 欧美韩国一区| 91在线精品观看| 91亚洲人成网污www| 91精品啪在线观看麻豆免费| 精品国产欧美日韩| 91色精品视频在线| 欧美午夜一区| 欧美裸体网站| 麻豆精品一区二区av白丝在线| 色999五月色| 久久国内精品视频| 欧美交换配乱吟粗大25p| 国产69精品久久777的优势| 丰满的少妇愉情hd高清果冻传媒| 国产成人超碰人人澡人人澡| 波多野结衣乳巨码无在线| 久久久亚洲国产美女国产盗摄| 日本在线观看免费视频| 亚洲蜜臀av乱码久久精品蜜桃| 中国黄色在线视频| 日韩午夜激情电影| 亚洲www免费| 2018日韩中文字幕| 毛片网站在线看| 97精品国产97久久久久久| 成人做爰视频www网站小优视频| 偷拍亚洲欧洲综合| yourporn在线观看视频| 亚洲超碰97人人做人人爱| 国产黄色片在线播放| 欧美一区二区网站| 一区二区精品在线观看| 国产真实乱子伦精品视频| 国产在线观看福利| 亚洲无人区一区| a视频在线观看| 日韩中文字幕在线观看| 国产精品免费99久久久| 欧美视频观看一区| 久久久久国产精品人| 久草在线新视觉| 欧美精品一区二区三区在线| 国产黄色一区| 欧美日韩中文精品| 午夜影视一区二区三区| 国内精品国产三级国产在线专 | 亚洲福利精品在线| 成人综合日日夜夜| 精品久久久久一区| 亚洲资源在线| 91在线播放国产| 国产成人丝袜美腿| 老司机在线免费视频| 精品福利视频一区二区三区| 亚洲天堂中文字幕在线观看| 国产一区二区不卡视频在线观看| 国产91丝袜在线18| 在线观看黄色片| 在线国产精品视频| 欧美激情无毛| 日韩免费高清在线| 国内精品久久久久影院色| 成人网中文字幕| 精品在线观看视频| 玖草视频在线| 在线视频精品一| 伊人精品成人久久综合软件| 黑人糟蹋人妻hd中文字幕| 在线一区二区三区四区五区 | 欧美美乳在线| 久久伊人免费视频| 日韩天堂av| 1024手机看片国产| 日韩精品免费在线| 2023国产精品久久久精品双| 久草热视频在线观看| 欧美日韩精品一区视频| 美国成人xxx| 国产一区二区四区| 欧美少妇xxx| 思热99re视热频这里只精品| 日本福利视频网站| 555www色欧美视频| 久久高清免费| 91午夜国产| 欧美国产日韩一区二区在线观看 | 欧美日韩免费观看一区| 亚洲日本在线看| 福利一区和二区| 日产精品一线二线三线芒果| 亚洲九九精品| xxxx69视频| 久热99视频在线观看| 久久99精品国产麻豆婷婷| 成人不用播放器| 国产精品永久免费观看| 国产午夜精品一区二区三区视频 | 亚洲中国最大av网站| www久久久| 日本a级片在线观看| 在线电影一区二区三区| 99久久夜色精品国产亚洲96 | 免费一区二区三区在线视频| 欧美大片免费播放| 精品国产乱码久久久久久影片| 欧美三级网页| 全色精品综合影院| 成人情趣片在线观看免费| 亚洲久草在线视频| 亚洲激情播播| 妞干网免费视频| 97精品国产97久久久久久免费| av高清不卡在线| 成人亚洲网站| 国产伦精品一区二区三区四区视频_| 亚洲第一黄色网| 久久99蜜桃精品| 香蕉成人影院| 国产精品网站免费| 美女福利精品视频| 久久一夜天堂av一区二区三区| 韩日精品一区| 国产精品无码专区av在线播放| 久久久久北条麻妃免费看| 久久久久亚洲蜜桃| 波多野结衣一区二区三区免费视频| 国产日韩成人内射视频| 欧美激情综合色| 一区二区在线观看免费视频播放| 日韩av黄色在线| 91热爆在线观看| 国产精品美女黄网| 精品国产在天天线2019| 国产精品一卡二卡| 视频一区在线| 国产精品㊣新片速递bt| www国产亚洲精品| 日韩精品一区二区三区蜜臀 | 亚洲福利小视频| 国产成人一级电影| 亚洲**毛片| 成人黄视频免费| 日韩欧美国产二区| 98精品国产高清在线xxxx天堂| 51精品久久久久久久蜜臀| 成人精品国产福利| 综合久久av| 欧美午夜电影一区二区三区| 800av在线免费观看| 国产精品国模在线| 欧美精品videos| 欧美国产亚洲精品久久久8v| 久久欧美一区二区| 国产精品成人一区二区三区夜夜夜 | 欧美激情视频一区二区三区在线播放 | 亚洲日穴在线视频|