精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲国产成人精品久久| 亚洲精品国产无天堂网2021| 4438全国成人免费| 精品无码在线观看| 国产成年精品| 亚洲国产精品久久不卡毛片| 免费一区二区三区在在线视频| 日韩欧美国产另类| 中文字幕一区二区三区欧美日韩| 亚洲精品一区二区三区影院 | av网站在线播放| 国内成人精品2018免费看| 韩剧1988在线观看免费完整版| 欧美a在线播放| 国产极品模特精品一二| 欧美日韩国产经典色站一区二区三区| 18禁裸男晨勃露j毛免费观看| 搞黄视频免费在线观看| 国产成人综合网| 国产精品美女久久久久久免费| 国产精品1000| 午夜电影亚洲| 中文字幕亚洲自拍| 在线观看日韩精品视频| 99re91这里只有精品| 欧美日韩一区三区| 日韩免费毛片视频| 91探花在线观看| 亚洲人吸女人奶水| 久久天堂国产精品| 欧美一区,二区| 国产一区不卡在线| 国产日韩精品一区二区| 亚洲成人av网址| 免费亚洲一区| 97视频在线观看免费高清完整版在线观看 | 在线视频国产日韩| 国产亚洲无码精品| 欧美1区二区| 亚洲第一在线视频| 日韩av成人网| 亚洲天堂av资源在线观看| 欧美日韩视频专区在线播放| 色一情一乱一伦一区二区三区日本| av手机在线观看| 亚洲在线视频网站| 日本一级黄视频| 丝袜美腿av在线| 一区二区三区四区精品在线视频| 乱子伦一区二区| 久久综合网导航| 亚洲婷婷综合色高清在线| 亚洲图片小说在线| 麻豆影视国产在线观看| 亚洲欧洲成人av每日更新| 亚洲色图自拍| 99热国产在线中文| 一区二区三区成人| 777av视频| heyzo一区| 欧美日韩国产专区| 国产精品免费观看久久| 久久电影tv| 在线国产亚洲欧美| 日本不卡一区二区在线观看| 亚洲欧美在线人成swag| 777欧美精品| 5278欧美一区二区三区| 亚洲国产精品久| 欧美日韩精品一本二本三本 | 91人妻一区二区三区蜜臀| 偷偷www综合久久久久久久| 久久在精品线影院精品国产| 天天干中文字幕| 亚洲国产婷婷| 情事1991在线| 亚洲在线观看av| 国产精品亚洲专一区二区三区| 91在线在线观看| 少妇无码一区二区三区| 国产日韩欧美精品综合| 一区二区av| 亚洲丝袜精品| 日韩欧美在线视频日韩欧美在线视频| 午夜免费一区二区| 国产剧情一区二区在线观看| 精品国产一区二区国模嫣然| 国产精品无码午夜福利| 青青草成人影院| 欧美国产激情18| 伦av综合一区| 久久精品国产999大香线蕉| 91亚洲精品丁香在线观看| 性xxxx搡xxxxx搡欧美| 国产精品国产自产拍在线| 日b视频免费观看| 台湾成人免费视频| 亚洲精品在线观看网站| 后入内射无码人妻一区| 夜夜精品视频| 成人黄色中文字幕| 天堂在线中文资源| 亚洲男同性视频| 草草草在线视频| 高清日韩中文字幕| 色噜噜久久综合伊人一本| 懂色av.com| 精品无人码麻豆乱码1区2区| 久久久一本精品99久久精品66| 国产激情在线视频| 色老综合老女人久久久| 亚洲一区和二区| 欧美国产偷国产精品三区| 欧美一区二区三区免费视| 精品国产无码一区二区| 欧美国产精品中文字幕| 精品少妇一区二区三区在线| 国产精品视频首页| 国产亚洲精品一区二区| 日产欧产va高清| 国产精品一区二区久激情瑜伽 | 国产精品成人a在线观看| 18性欧美xxxⅹ性满足| 高h震动喷水双性1v1| 国产精品久久久久永久免费观看| 国产精品50p| 8x国产一区二区三区精品推荐| 中文字幕在线看视频国产欧美| 中文字幕在线观看免费视频| 国产激情精品久久久第一区二区 | 久久久夜夜夜| 黄色99视频| 牛牛精品在线视频| 日韩免费看网站| 91在线播放观看| 久久精品国产精品青草| 亚洲高清在线观看一区| 日韩欧美看国产| 亚洲免费精彩视频| 狠狠躁夜夜躁人人爽天天高潮| 国产成人免费xxxxxxxx| 日韩中文在线字幕| 99久久这里有精品| 久久精品视频在线播放| 国产精品欧美激情在线| 椎名由奈av一区二区三区| 天堂一区在线观看| 色综合天天综合网中文字幕| 国产精品中文字幕在线| freemovies性欧美| 欧美日韩国产不卡| 午夜爽爽爽男女免费观看| 久久99热这里只有精品| 日韩人妻精品一区二区三区| 不卡的国产精品| 不用播放器成人网| www.看毛片| 亚洲综合一区二区三区| 182在线视频| 老色鬼久久亚洲一区二区| 日韩免费中文专区| 另类一区二区三区| 欧美精品日韩www.p站| 国产成人免费看一级大黄| 一区二区三区**美女毛片| 色哟哟网站在线观看| 国产欧美日韩综合一区在线播放| 精品一区二区视频| 欧美成人黑人| 日韩中文字幕在线| 国产精品国产一区二区三区四区| 亚洲美女免费视频| 亚洲图片欧美另类| 亚洲激情网站| 日本一区二区精品| 99tv成人影院| 91高清免费视频| av在线播放网站| 欧美一区二区三区四区高清| 久久狠狠高潮亚洲精品| 欧美极品美女视频| 午夜影院福利社| 久久一二三四| 久久久久久久久久久久久国产| 欧美福利在线播放网址导航| 国产久一一精品| 日本乱理伦在线| 亚洲色图日韩av| 国产成人精品免费看视频| 精品色蜜蜜精品视频在线观看| 成人激情五月天| 成人精品视频一区二区三区 | 国产无码精品一区二区| 欧美激情一区二区在线| 涩视频在线观看| 日韩av不卡一区二区| 欧美在线观看黄| 欧美久久综合网| 韩日午夜在线资源一区二区| 麻豆久久久久| 日韩美女免费线视频| 日本三级韩国三级欧美三级| 亚洲香蕉av在线一区二区三区| 国产黄色av片| 精品视频一区三区九区| 成人午夜视频精品一区| 亚洲人成网站色在线观看| 免费在线观看污| 成人动漫av在线| www.桃色.com| 奇米色一区二区三区四区| 人人妻人人添人人爽欧美一区| 天天综合久久| 日本在线观看一区| 免费成人蒂法| 国产精品xxx在线观看www| 久久久久久久性潮| 国产成人福利网站| 成人免费网站观看| 欧美激情精品久久久久久变态| 中文字幕在线播放| 国产亚洲精品久久久优势| 亚洲欧美日本在线观看| 欧美成人性战久久| av高清一区二区| 在线不卡欧美精品一区二区三区| 国产一区二区视频网站| 精品久久久久久久久久国产 | 亚洲久久成人| 欧美中文字幕在线观看视频| 国产精品二区不卡| 亚洲一区三区视频在线观看| 久久最新网址| 欧美日韩亚洲在线| 亚洲成aⅴ人片久久青草影院| 国产一级二级三级精品| 99re8这里有精品热视频8在线| 亚洲综合在线做性| 国产精品日本一区二区不卡视频| 成人妇女免费播放久久久| 国产福利91精品一区二区| 国产精品久久久久久一区二区| 最新欧美电影| 国产精品久久久久久久久久东京| 精品欧美一区二区三区在线观看| 日韩免费观看网站| 日韩免费小视频| 国产精品亚洲自拍| 亚洲一区av| 99久久久久国产精品免费| 在线一区二区三区视频| 高清视频一区| 日韩精品免费一区二区三区竹菊 | 欧美3p在线观看| 成人手机视频在线| 亚洲色图插插| 成年人看的毛片| 国产精品腿扒开做爽爽爽挤奶网站| 5月婷婷6月丁香| 久久蜜桃精品| 15—17女人毛片| 国内精品在线播放| 成年女人免费视频| 99久久久精品免费观看国产蜜| 亚洲专区区免费| 中文一区在线播放| 青草影院在线观看| 亚洲一卡二卡三卡四卡五卡| 91美女免费看| 欧美性做爰猛烈叫床潮| 国产精品国产一区二区三区四区 | 第一福利在线| 俺去了亚洲欧美日韩| 污污在线观看| 日韩av电影院| 99久久久国产| 久久久久资源| 66国产精品| 国产精品秘入口18禁麻豆免会员| 免费观看在线色综合| 波多野结衣三级视频| 久久免费视频一区| 国产美女久久久久久| 无吗不卡中文字幕| 国产精品国产三级国产普通话对白| 精品国产一二三区| 在线免费黄色| 韩剧1988免费观看全集| 成人黄色免费网站| 国产亚洲精品美女久久久m| 日韩精品看片| 一本久道高清无码视频| 青娱乐精品在线视频| 佐佐木明希电影| 国产午夜精品一区二区三区嫩草 | 国产精品入口免费视| 亚洲亚洲一区二区三区| 日本不卡一区二区三区在线观看| 午夜精品久久久久99热蜜桃导演| 日本精品一区二区三区四区| 国产传媒日韩欧美成人| 四虎成人免费影院| 欧美日韩亚洲高清| 精品人妻一区二区三区四区不卡 | 久久青青视频| 99re在线观看| 三级电影一区| 国产成人无码一二三区视频| 国产成人精品免费看| 欧美xxxx精品| 日韩欧美黄色动漫| www.色日本| 日韩视频―中文字幕| 色网在线免费观看| 亚洲一区二区三区视频| 成人影院在线| 激情网站五月天| 波多野洁衣一区| 国产67194| 欧美日韩综合在线| 国产福利免费在线观看| 91国产在线精品| 国产精品一区二区三区美女| 玖玖精品在线视频| 久久草av在线| 99久久99久久精品免费看小说.| 欧美日韩激情视频| 神马久久久久久久久久| 色在人av网站天堂精品| 国产日韩欧美中文在线| 一区不卡字幕| 精品无人码麻豆乱码1区2区| av在线免费播放网址| 欧美色综合久久| 福利视频在线看| 人人澡人人澡人人看欧美| 日韩黄色网络| 免费毛片小视频| 久久久久9999亚洲精品| 永久免费无码av网站在线观看| 亚洲免费精彩视频| 精品日韩视频| 亚洲国产一区二区精品视频 | 欧美高清激情brazzers| 日本免费视频在线观看| 91精品综合视频| 欧美 日韩 国产一区二区在线视频| 三年中文在线观看免费大全中国| 国产精品福利一区| 国产女人爽到高潮a毛片| 久久精品青青大伊人av| 精品999日本久久久影院| 国产日本欧美在线| 国产麻豆成人精品| 欧美另类视频在线观看| 精品国产一区二区三区不卡| 91超碰在线| 欧洲亚洲一区| 免费高清视频精品| 亚洲人做受高潮| 欧美va亚洲va国产综合| 看黄在线观看| 欧洲精品久久| 久久99久久久久久久久久久| 婷婷在线精品视频| 亚洲成年人在线播放| 一个人看的www视频在线免费观看| 日本午夜精品一区二区三区| 麻豆成人av在线| 免费在线观看日韩| 亚洲精品电影在线| 欧美91在线|欧美| 日韩精品在线视频免费观看| 久久久亚洲精品一区二区三区| 一区二区日韩在线观看| 久久久久久久久久国产精品| 国产精品密蕾丝视频下载| 三级av免费观看| 亚洲影视在线播放| 你懂的在线播放| 亚洲a∨日韩av高清在线观看| 亚洲第一黄网| 国产wwwwxxxx| 亚洲成人亚洲激情| 免费污视频在线一区| 日韩一级片一区二区| 久久久91精品国产一区二区精品 | 最新中文字幕久久| 成人黄色在线网站| 中文字幕av网站| 午夜精品久久久久久久99热浪潮 | av影院在线播放| 国产亚洲一二三区| 午夜精品久久久久久久第一页按摩 | 欧美人妻一区二区三区| 欧美一级久久久| 高清成人在线| 久久手机在线视频| 国产精品久久99| 激情小视频在线观看|