精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用Django和LangGraph構建一個對話式AI應用程序

譯文 精選
人工智能
我們先介紹簡單的搭建,包括使用Pipenv安裝依賴項,并克隆GitHub代碼庫。然后,我們將使用LangGraph定義聊天機器人的邏輯,圍繞它構建一個基于Django的API,并連接一個基本的前端以便與其聯系。

譯者 | 布加迪

審校 | 重樓

每個人都見過聊天機器人的實際應用,有些令人印象深刻,有些令人厭煩。然而,如果你可以創建一個真正智能、組織良好且易于與你自己的應用程序集成的聊天機器人,會怎樣呢?我們在本文中將使用兩個強大的工具從零開始構建一個聊天機器人:

  • 除了LLM外,LangGraph 可以幫助管理井然有序的多步驟工作流程。
  • 聊天機器人可以使用Django(一種可擴展且簡潔的Web平臺)以API的形式公開。

我們先介紹簡單的搭建,包括使用Pipenv安裝依賴項,并克隆GitHub代碼庫。然后,我們將使用LangGraph定義聊天機器人的邏輯,圍繞它構建一個基于Django的API,并連接一個基本的前端以便與其聯系。

無論你想了解LangGraph如何與實際后端協同工作,還是想構建一個簡單的聊天機器人,你都來對地方了。

快速入門:克隆并搭建項目

首先,克隆項目并搭建環境。確保你的系統上已安裝Python 3.12和Pipenv。如果沒有,可以使用以下命令安裝pipenv:

pip install pipenv

現在,克隆代碼庫并進入項目文件夾:

git clone https://github.com/Badribn0612/chatbot_django_langgraph.git
cd chatbot_django_langgraph

現在不妨使用Pipenv安裝所有依賴項。

pipenv install

注意:如果你收到錯誤消息,提示你的系統中沒有Python 3.12,請使用以下命令:

pipenv --python path/to/python
pipenv install

要知道Python的路徑,你可以使用以下命令:

which python (linux and windows) 
which python3 (mac)

要激活此環境,請使用以下命令:

pipenv shell

鑒于我們的需求已滿足,接下來設置環境變量。使用以下命令創建一個.env 文件。

touch .env

將你的API密鑰添加到.env 文件。

# Google Gemini AI
GOOGLE_API_KEY=your_google_api_key_here
# Groq
GROQ_API_KEY=your_groq_api_key_here
# Tavily Search
TAVILY_API_KEY=your_tavily_api_key_here

從Google AI Studio(https://aistudio.google.com/apikey)生成Google API密鑰,從Groq Console(https://console.groq.com/keys)生成Groq API密鑰,并從Tavily Home(https://app.tavily.com/home)獲取你的Tavily 密鑰。

搭建完成后,運行以下命令(請確保已激活環境):

python manage.py migrate
python manage.py runserver

這應該會啟動服務器。

點擊應用程序正在運行的http://127.0.0.1:8000/鏈接。

使用LangGraph設計聊天機器人邏輯

現在,設計下聊天機器人邏輯。你可能想知道為什么選擇LangGraph?我選擇 LangGraph,是因為它能夠靈活地構建適合用例的復雜工作流。它如同將多個函數拼接成一個對你的應用程序真正有意義的流程。下面,我們將討論核心邏輯。完整代碼可在 Github 上找到:https://github.com/Badribn0612/chatbot_django_langgraph.git

1. 狀態定義

class State(TypedDict):
 messages: Annotated[list, add_messages]

該狀態模式負責聊天機器人。如果你的Graph處于循環狀態,它將主要跟蹤消息歷史記錄;否則,它會有包含消息歷史記錄的輸入,并將LLM的響應附加到之前的歷史記錄后面。

2. 初始化LangGraph

graph_builder = StateGraph(State)

上面這行代碼將初始化狀態圖。這個狀態圖實例負責維護聊天機器人的流程(對話流)。

3. 帶有后備模型的聊天模型

llm_with_fallbacks = init_chat_model("google_genai:gemini-2.0-flash").with_fallbacks(

 [init_chat_model("groq:llama-3.3-70b-versatile")]

)

這基本上會將Gemini 2.0 Flash作為主LLM,將Llama 3.3 70B作為后備模型。如果谷歌服務器過載或API達到速率限制,它將開始使用Llama 3.3 70B。

4. 工具集成

tool = TavilySearch(max_results=2)
llm_with_tools = llm_with_fallbacks.bind_tools([tool])

我們還將向LLM添加搜索工具。當LLM認為它對查詢缺乏了解時,將使用這項功能。它基本上會使用該工具搜索信息,檢索相關信息,并基于這些信息響應查詢。

5. 聊天機器人節點邏輯

def chatbot(state: State):
 return {"messages": [llm_with_tools.invoke(state["messages"])]}

這是負責調用LLM并獲取響應的函數。使用LangGraph,你可以構建一個由多個類似這樣的函數組成的狀態圖。你可以分支、合并,甚至并行運行函數(LangGraph中稱為節點)。對了,我差點忘了,你甚至可以在圖中創建循環。這就是LangGraph帶來的那種靈活性。

6. 工具節點和條件流

tool_node = ToolNode(tools=[tool])
graph_builder.add_conditional_edges("chatbot", tools_condition)
graph_builder.add_edge("tools", "chatbot")

我們將為該工具創建一個節點,這樣,每當聊天機器人搞清楚需要使用它時,它就可以簡單地調用該工具節點并獲取相關信息。

7. 圖入口和出口

graph_builder.add_edge(START, "chatbot")
graph = graph_builder.compile()
from IPython.display import Image, display
display(Image(graph.get_graph().draw_mermaid_png()))

上述代碼給出了所需的可視化效果。

該LangGraph環境允許你構建一個結構化的聊天機器人,它可以處理對話,需要時調用網絡搜索等工具,并在某個模型失敗時后備到替代模型。它具有模塊化,易于擴展。現在 LangGraph部分已完成,不妨學習如何使用Django為我們的聊天機器人創建API。

使用Django構建API

如果你是Django新手,可以使用本指南學習如何創建應用程序。為此,我們已創建:

  • 項目:djangoproj
  • 應用程序:djangoapp

第1步:應用程序配置

在djangoapp/apps.py 中,我們定義應用程序配置,以便Django能夠識別它:

from django.apps import AppConfig
class DjangoappConfig(AppConfig):
 default_auto_field = "django.db.models.BigAutoField"
 name = "djangoapp"
Now register the app inside djangoproj/settings.py:
INSTALLED_APPS = [
 # default Django apps...
 "djangoapp",
]

第2步:創建聊天機器人API

在djangoapp/views.py中,我們定義一個用于處理POST請求的簡單API端點:

from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
import json
from chatbot import get_chatbot_response
@csrf_exempt
def chatbot_api(request):
 if request.method == "POST":
 try:
 data = json.loads(request.body)
 messages = data.get("messages", [])
 user_query = data.get("query", "")
 messages.append({"role": "user", "content": user_query})
 response = get_chatbot_response(messages)
 serialized_messages = [serialize_message(msg) for msg in response["messages"]]
 return JsonResponse({"messages": serialized_messages})
 except Exception as e:
 return JsonResponse({"error": str(e)}, status=500)
 return JsonResponse({"error": "POST request required"}, status=400)
  • 該視圖接受用戶輸入,將其傳遞給基于LangGraph的聊天機器人,并返回響應。
  • @csrf_exempt用于測試/演示,以允許外部POST請求。

第3步:將API連接到URL

在djangoproj/urls.py中,將視圖連接到端點:

from django.urls import path
from djangoapp.views import chatbot_api, chat_interface
urlpatterns = [
 path('', chat_interface, name='chat_interface'),
 path('api/chatbot/', chatbot_api, name='chatbot_api'),
]

現在,向/api/chatbot/發送POST請求將觸發聊天機器人并返回JSON響應。

第4步:部署基本的聊天用戶界面

要顯示簡單的界面,請在djangoapp/views.py中添加以下內容:

from django.shortcuts import render
def chat_interface(request):
 return render(request, 'index.html')

該視圖渲染index.html,這是基本的聊天界面。

在djangoproj/settings.py中,告訴Django去哪里查找模板:

TEMPLATES = [
 {
 "BACKEND": "django.template.backends.django.DjangoTemplates",
 "DIRS": [BASE_DIR / "templates"],
 # ...
 },
]

我們已使用Django將LangGraph聊天機器人轉變成了實用的API,僅用幾行代碼,甚至還添加了一個用于與其交互的基本用戶界面。這種設計簡潔、模塊化且易于擴展,非常適合實際項目和演示。

以下是聊天機器人的實際演示:

你可以在此基礎上構建的功能

以下是你可以在該應用程序基礎上構建的一些功能:

  • 設置系統提示和智能體角色來指導行為和響應。
  • 創建多個專用智能體和一個路由智能體,以根據用戶輸入委派任務。
  • 插入RAG工具以引入你自己的數據并豐富響應。
  • 將對話歷史記錄存儲在數據庫(比如PostgreSQL)中,并與用戶會話關聯,以實現連續性和分析。
  • 實現智能消息窗口或摘要功能,以輕松應對token限制。
  • 使用提示模板或者Guardrails AI或NeMo等工具,進行輸出驗證和安全過濾。
  • 使用Gemini 2.5 pro或GPT-4.1等功能強大的模型,添加支持圖像或文件處理的功能。

結論

全文就是這樣!我們剛使用LangGraph和Django從零開始構建了一個功能齊全的聊天機器人,它擁有簡潔的API、工具集成、帶有后備模型的LLM 等等。最棒的是,它是模塊化的,非常易于擴展。無論你是想為自己的產品構建智能助手、嘗試多智能體系統,還是只是想試試LangGraph,本文都為你提供了一個堅實的起點。你還可以探究更多內容,比如添加圖像輸入、插入自己的知識庫。所以,請繼續嘗試,在此基礎上不斷構建。

原文標題:Building a Conversational AI App with Django and LangGraph,作者:Badrinarayan M

責任編輯:姜華 來源: 51CTO內容精選
相關推薦

2023-09-21 08:00:00

ChatGPT編程工具

2021-07-14 17:39:46

ReactRails API前端組件

2018-11-14 19:00:24

PythonRedis共享單車

2011-03-14 15:10:10

AzureFacebook

2011-03-14 15:14:10

AzureFacebook營銷式應用程序

2011-03-14 14:47:50

2025-04-18 08:01:21

AIAgent驅動力

2011-05-11 10:58:39

iOS

2020-03-31 12:21:20

JSON即時消息編程語言

2010-01-08 12:14:44

ibmdwAndroid

2010-07-12 10:11:27

ibmdwWeb

2021-02-17 11:05:34

PythonPyQt代碼

2024-06-07 08:25:16

2024-12-10 08:01:38

2012-03-30 15:54:43

ibmdw

2019-05-27 13:50:35

多云架構企業多云集成云計算

2024-01-09 18:00:22

Rust后端slvelte

2010-06-13 09:22:37

jQuery

2024-12-24 08:12:59

2021-10-29 16:18:14

Streamlit Python
點贊
收藏

51CTO技術棧公眾號

亚洲一区二区在线播放| 99精品国产高清一区二区麻豆| 亚洲日本免费| 国产视频久久网| 国产淫片av片久久久久久| 性生活视频软件| 国产精品色网| 中文字幕日本欧美| 欧美国产在线一区| av资源网在线播放| 亚洲国产精品99久久久久久久久| 成人写真视频福利网| 欧美精品一级片| 私拍精品福利视频在线一区| 欧美日韩亚洲国产综合| 一区二区三区四区视频在线| www.好吊色| 久久精品在线| 欧美另类高清videos| 欧洲一级黄色片| 国产亚洲欧美日韩精品一区二区三区| 亚洲精选免费视频| 欧美黑人xxxxx| 99热这里只有精品9| 亚洲视频www| 亚洲精选一区二区| 精品久久免费看| 精品久久久久久亚洲| 中文字幕免费播放| 激情综合在线| 中文字幕精品av| 中文字幕无人区二| 国产精品第一国产精品| 无码av中文一区二区三区桃花岛| 色一情一乱一伦一区二区三欧美| 国产浮力第一页| 日韩二区三区在线观看| 久久久久久网址| 国产又粗又硬又长又爽| 你微笑时很美电视剧整集高清不卡 | 国产日本欧美一区| 国产va在线播放| 成人激情开心网| 精品网站999www| 69亚洲乱人伦| 欧美久久一区二区三区| 欧美午夜免费电影| 日本三级免费观看| 久久不射影院| 久久天堂电影| 激情av一区| 久久激情视频久久| 90岁老太婆乱淫| 牛牛精品成人免费视频| 欧美一级久久久| 天天干天天综合| 少妇精品视频一区二区免费看| 婷婷久久综合九色综合伊人色| 无码人妻aⅴ一区二区三区日本| 四虎影视精品成人| 成人一区二区视频| yy111111少妇影院日韩夜片 | 欧洲成人午夜精品无码区久久| 成人在线免费电影网站| 色94色欧美sute亚洲线路二| 日韩伦理在线免费观看| 精品精品导航| 亚洲国产成人porn| 精品少妇一区二区三区在线| 俄罗斯一级**毛片在线播放| 亚洲最新视频在线播放| 粉嫩av一区二区三区天美传媒 | 国产亚洲精aa在线看| 欧美日韩一区二区在线视频| 黄色免费网址大全| 婷婷久久综合九色综合99蜜桃| 欧美亚洲动漫精品| 四季av一区二区三区| 黄色一级片国产| 国模私拍视频在线| 成人av在线资源网| 久久久久久久久久久久久9999| 免费激情视频网站| www.色综合.com| 欧美大香线蕉线伊人久久国产精品 | 国产一区二区三区三州| 精彩视频一区二区| 亚洲综合中文字幕在线| 殴美一级特黄aaaaaa| 97精品超碰一区二区三区| 免费试看一区| 欧美成人hd| 亚洲乱码国产乱码精品精的特点| 性高湖久久久久久久久aaaaa| 成av人片在线观看www| 一本一道久久a久久精品 | 伊人狠狠色j香婷婷综合| 久久久久久久久电影| 久久露脸国语精品国产91| 狠狠色丁香久久综合频道| 欧美一区二区.| 中文字幕人妻互换av久久| 国产精品一二三四五| 国产一区不卡在线观看| p色视频免费在线观看| 亚洲精品成人少妇| av免费观看网| 96sao精品免费视频观看| 日韩欧美精品在线视频| 国产精品1000部啪视频| 亚洲精品网址| 欧美中文在线观看国产| 这里只有精品9| 成人看片黄a免费看在线| 欧美国产一二三区| 免费看电影在线| 在线亚洲精品福利网址导航| 午夜免费看视频| 福利在线一区| 色偷偷综合社区| 国产一级片毛片| 国产精品系列在线观看| 免费在线观看视频一区| 在线观看日韩www视频免费| 国内偷拍精品视频| 日韩制服丝袜先锋影音| 国产69精品久久久久9999apgf | 欧美一区二区成人6969| 波多野吉衣中文字幕| 欧美天天视频| 国产精品偷伦视频免费观看国产| 丰满肥臀噗嗤啊x99av| 国产午夜精品久久久久久免费视| 欧美黄网在线观看| 成人不卡视频| 精品视频中文字幕| 欧美精品一级片| 精品在线观看免费| 日韩三级电影| 日韩伦理在线| 亚洲精品一区二区精华| 91视频青青草| 美国av一区二区| 视频一区二区在线| 日韩电影av| 日韩精品中文字幕有码专区| 久草视频免费在线播放| 日韩1区2区日韩1区2区| 乱色588欧美| 国产网站在线| 亚洲国产精品免费| 日本三级中文字幕| 成人在线一区二区三区| 欧洲精品在线播放| 亚洲精品一区在线| 欧美激情xxxx| 免费观看黄色一级视频| 亚洲一区二区三区影院| 亚洲妇女无套内射精| 欧美在线高清| 91国产在线播放| av软件在线观看| 日韩欧美中文字幕制服| 欧美精品videos极品| 国产成人精品www牛牛影视| av动漫在线免费观看| **国产精品| 欧美日韩第一页| 精品人妻无码一区二区| 一区二区三区蜜桃| 成人做爰69片免费| 亚洲欧洲午夜| 美女被啪啪一区二区| 亚洲天堂资源| 国产亚洲精品激情久久| 国产精品传媒在线观看| 国产日本欧洲亚洲| 青青草原国产在线视频| 亚洲女同一区| 国产精品二区在线| 在线天堂资源| 中文字幕日韩av电影| 亚洲天堂久久久久| 亚洲品质自拍视频网站| 在线视频日韩欧美| 亚洲麻豆视频| 日韩一区不卡| 91精品网站在线观看| 久国内精品在线| 香蕉视频免费在线看| 91国偷自产一区二区三区成为亚洲经典 | 日韩午夜免费视频| 日韩欧美亚洲区| 精品久久免费| 欧美亚洲另类视频| 69av亚洲| 欧美一三区三区四区免费在线看 | 欧洲熟妇精品视频| 天天插综合网| 国产亚洲一区在线播放| 欧美va在线观看| 美女精品视频一区| 亚洲av电影一区| 欧美日韩一区二区三区高清| 国产精品成人国产乱| 国产精品乱子久久久久| 久久人人妻人人人人妻性色av| 精品一区二区三区日韩| 成年人免费在线播放| 欧美日韩国产高清| 宅男一区二区三区| 狠狠色丁香婷婷综合影院| 国产精品免费一区二区三区观看 | 国产综合第一页| 国产亚洲高清一区| 国产免费成人av| 日韩在线短视频| 97在线视频免费播放| 成人影院www在线观看| 夜夜嗨av色综合久久久综合网 | 欧美成年网站| 成人高清视频观看www| 韩国精品主播一区二区在线观看 | 欧美 日韩 国产在线观看| 中文无码久久精品| 中文字幕不卡每日更新1区2区| 亚洲大片精品免费| 九九九九精品九九九九| 日韩一区二区三区高清在线观看| 国产情人节一区| 国产在线|日韩| 日本久久91av| 成人免费短视频| 66m—66摸成人免费视频| 日韩激情av| 久久久久久亚洲精品| 欧美亚洲天堂| 欧美黑人性视频| av丝袜在线| 51色欧美片视频在线观看| 国内激情视频在线观看| 国内伊人久久久久久网站视频 | 国产伦精品一区二区三区千人斩| 精品在线不卡| 欧美禁忌电影| 日本在线视频不卡| 日韩系列欧美系列| 亚洲看片网站| 1024精品久久久久久久久| 中文字幕中文字幕在线中一区高清 | 久久―日本道色综合久久| 男生裸体视频网站| 久久久久久影视| 亚洲ⅴ国产v天堂a无码二区| 亚洲国产成人私人影院tom| 欧美性猛交xxxx乱大交少妇| 国产精品理论片在线观看| 免费精品在线视频| 亚洲免费视频成人| 久久久久久久蜜桃| 午夜电影网一区| av黄色在线播放| 在线观看视频一区| 91午夜交换视频| 欧美成人video| 天天摸天天干天天操| 精品香蕉一区二区三区| 国产三区四区在线观看| 日韩中文av在线| 91色在线看| 国产精品99久久久久久久久久久久| 国产亚洲精彩久久| 成人一区二区三区四区| 免费观看久久av| 亚洲色图都市激情| 国产欧美日韩亚洲一区二区三区| 日韩手机在线观看视频| 国产一区二区三区久久久| 国产人妻黑人一区二区三区| 久久久久久麻豆| 91麻豆免费视频网站| 黑人巨大精品欧美一区免费视频 | 国产一区二区在线影院| 亚洲精品乱码久久久久久9色| 91亚洲资源网| 黄色一级大片在线免费观看| 偷拍一区二区三区| 国产精品亚洲lv粉色| 亚洲精品99久久久久| 韩日视频在线| 久久久久久久久国产精品| jizz欧美| 久久久精品有限公司| 欧美岛国激情| 国产a视频免费观看| 国产一区二区伦理| 中文字幕免费高清| 亚洲一本大道在线| 在线免费观看视频网站| 亚洲福利在线观看| 蜜桃av在线免费观看| 91高清免费在线观看| 成人在线日韩| 人偷久久久久久久偷女厕| 极品日韩av| 日韩欧美中文在线视频| 国产午夜三级一区二区三| 免费在线观看黄色av| 欧美日韩高清影院| 嫩草研究院在线| 久久久久中文字幕| 国产精品一级在线观看| 性高潮久久久久久久久| 一本色道久久综合亚洲精品高清 | 青青草成人免费在线视频| 美女一区二区视频| 久久久久亚洲av无码专区桃色| 亚洲永久免费av| 夜夜躁狠狠躁日日躁av| 亚洲三级黄色在线观看| av在线最新| 国产一级二级三级精品| 欧美激情综合| www.久久com| 国产精品第一页第二页第三页| 久草视频一区二区| 亚洲精品www久久久久久广东| 欧美午夜大胆人体| 亚洲综合在线中文字幕| 久久久久蜜桃| 精品亚洲视频在线| 中文字幕亚洲不卡| 最新在线中文字幕| 一本一道久久a久久精品逆3p| 中文字幕成在线观看| 久久久综合香蕉尹人综合网| 最新日韩欧美| 亚洲一区二区乱码| 欧美日韩免费在线观看| 天天操天天干天天操| 国模私拍一区二区三区| jizz性欧美23| 日韩欧美一区二| 91影院在线观看| av黄色在线播放| 亚洲性猛交xxxxwww| yy6080久久伦理一区二区| 亚洲精品不卡| 国产综合一区二区| 91在线播放观看| 亚洲精品一区二区三区在线观看| 草莓视频丝瓜在线观看丝瓜18| 国产久一道中文一区| 国产日韩欧美一区| 久久久久久亚洲中文字幕无码| 一本大道综合伊人精品热热| 头脑特工队2在线播放| 日韩美女av在线免费观看| 成人情趣视频| 深爱五月综合网| 亚洲成av人在线观看| 亚洲av毛片成人精品| 国产精品久久久久久av福利软件| 日韩欧美一区二区三区免费看| 久久久久久97三级| 九九免费精品视频| 亚洲精品国产精品国自产在线 | 水蜜桃久久夜色精品一区| 中文字幕1234区| 亚洲成人免费视频| 欧美女优在线| 91精品国产自产在线老师啪 | 国产熟女一区二区三区五月婷| 久久999免费视频| 九九热播视频在线精品6| 北条麻妃av高潮尖叫在线观看| 国产精品久久久久久久久久免费看 | 亚洲第一中文字幕| 日本精品另类| 一本二本三本亚洲码| 99久久伊人精品| 在线免费观看av片| 国模吧一区二区| 欧美三级情趣内衣| 国产乱国产乱老熟300部视频| 日韩欧美在线视频日韩欧美在线视频 | 国产三级精品视频| 国产普通话bbwbbwbbw| 性色av一区二区三区免费 | 18禁裸男晨勃露j毛免费观看| 26uuu国产一区二区三区| 国产一区二区三区视频免费观看| 国语自产偷拍精品视频偷| 日产精品一区二区| 在线观看成人动漫| 欧美日韩亚洲综合一区| 国产夫妻在线| 超碰超碰超碰超碰超碰| 国产欧美日韩麻豆91| 免费观看成年人视频|