AI Agent Service Toolkit:一站式大模型智能體開發套件

項目簡介

該工具包基于LangGraph、FastAPI和Streamlit構建,提供了構建和運行大模型Agent的最小原子能力,包含LangGraph代理、FastAPI服務、用于與服務交互的客戶端以及一個使用客戶端提供聊天界面的Streamlit應用。用戶可以利用該工具包提供的模板快速搭建基于LangGraph框架的智能體應用,簡化部署和調試過程,快速驗證效果。
在這里插入圖片描述

功能特點

○ LangGraph代理:基于LangGraph框架的智能體工作流,可自由設置節點和中斷處理。
○ FastAPI服務:提供API服務,包含流式和非流式。
○ 內容審核:實現LlamaGuard進行內容審核。
○ UI界面:基于Streamlit的聊天界面,簡化交互流程。
○ 多代理支持:在服務中運行多個代理,并通過URL路徑調用,支持在UI界面隨時切換。
○ 異步設計:利用async/await高效處理并發請求。
○ Docker支持:包含Dockerfile和docker compose文件,方便開發和部署。

文件結構解析

○ src/agents/:定義具有不同功能的幾個代理。
○ src/core/:包括LLM定義和其他設置。
○ src/service/service.py:基于FastAPI的流式和非流式服務。
○ src/client/client.py:封裝的客戶端,用于與代理服務API進行交互。
○ src/streamlit_app.py:基于Streamlit的聊天界面。

快速啟動

1. 配置文件

在項目根目錄下創建一個.env文件,并填入模型服務商的API KEY。

# 最少需要填入一個模型服務商的API—KEY
# API keys for different providers
OPENAI_API_KEY=
DEEPSEEK_API_KEY=
ANTHROPIC_API_KEY=
GOOGLE_API_KEY=
GROQ_API_KEY=
USE_AWS_BEDROCK=false# Use a fake model for testing
USE_FAKE_MODEL=false# Set a default model
DEFAULT_MODEL=# Web server configuration
HOST=0.0.0.0
PORT=8080# Authentication secret, HTTP bearer token header is required if set
AUTH_SECRET=# Langsmith configuration
LANGCHAIN_TRACING_V2=false
LANGCHAIN_PROJECT=default
LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
LANGCHAIN_API_KEY=# Application mode. If the value is "dev", it will enable uvicorn reload
MODE=# OpenWeatherMap API key
OPENWEATHERMAP_API_KEY=# Add for running ollama
# OLLAMA_MODEL=llama3.2
# Note: set OLLAMA_BASE_URL if running service in docker and ollama on bare metal
# OLLAMA_BASE_URL=http://host.docker.internal:11434# Agent URL: used in Streamlit app - if not set, defaults to http://{HOST}:{PORT}
# AGENT_URL=http://0.0.0.0:8080

2. 創建并啟動虛擬環境

pip install uv
uv sync --frozen
source .venv/bin/activate

3. 啟動agent服務

python src/run_service.py

4. 啟動UI界面

source .venv/bin/activate
streamlit run src/streamlit_app.py

自定義agent

按照該項目的介紹,自定義agent需要如下兩步:

  1. 在src/agents下新增自定義的agent模塊。
  2. 將新增的agent導入src/agents/agents.py。

該項目默認提供了4種agent,其中的chatbot只能做簡單的對話,因此筆者打算將其改造為智能問答閱讀助手,可以用于解讀上傳的文件。

只需修改src/streamlit_app.py

# ... existing code ...# Config options
with st.sidebar:st.header(f"{APP_ICON} <

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896050.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896050.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896050.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文概覽 |《Urban Analytics and City Science》2023.10 Vol.50 Issue.8

本次給大家整理的是《Environment and Planning B: Urban Analytics and City Science》雜志2023年10月第50卷第8期的論文的題目和摘要&#xff0c;一共包括21篇SCI論文&#xff01; 論文1 Advances in geospatial approaches to transport networks and sustainable mobility …

大語言模型推理能力從何而來?

前言 DeepSeek R1采用強化學習進行后訓練&#xff0c;通過獎勵機制和規則引導模型生成結構化思維鏈&#xff08;CoT&#xff09;&#xff0c;從而顯著提升了推理能力。這一創新方法使得DeepSeek R1能夠在無需大量監督數據的情況下&#xff0c;通過自我進化發展出強大的推理能力…

用 WOW.js 和 animate.css 實現動畫效果

用 wow.js 就可以實現動畫效果&#xff0c;但由于里面的動畫樣式太少&#xff0c;一般還會引入 animated.css 第一步&#xff1a;下載 選擇合適的包管理器下載對應的內容 pnpm i wow.js animated.css --save 第二步&#xff1a;引入 在main.js中加入&#xff1a; import …

設計模式教程:解釋器模式(Interpreter Pattern)

1. 什么是解釋器模式&#xff1f; 解釋器模式&#xff08;Interpreter Pattern&#xff09;是一種行為型設計模式&#xff0c;通常用于處理語言&#xff08;例如數學表達式、SQL查詢等&#xff09;中的語法和解釋。該模式定義了一個文法&#xff0c;并通過解釋器類來解釋文法中…

STM32MP157A單片機移植Linux驅動深入版

需求整理 在Linux設備樹中新增leds節點&#xff0c;其有3個gpio屬性&#xff0c;分別表示PE10對應led1&#xff0c;PF10對應led2&#xff0c;PE8對應led3&#xff0c;設備樹鍵值對如下&#xff1a; leds { led1-gpio <&gpioe 10 0>; led2-gpio &l…

本地DeepSeek模型GGUF文件轉換為PyTorch格式

接前文,我們在本地Windows系統上,基于GGUF文件部署了DeepSeek模型(DeepSeek-R1-Distill-Qwen-1.5B.gguf版本),但是GGUF是已經量化的版本,我們除了對其進行微調之外,無法對其訓練,那么還有沒有其他辦法對本地的GGUF部署的DeepSeek模型進行訓練呢?今天我們就反其道而行之…

http代理IP怎么實現?如何解決代理IP訪問不了問題?

HTTP代理是一種網絡服務&#xff0c;它充當客戶端和目標服務器之間的中介。當客戶端發送請求時&#xff0c;請求首先發送到代理服務器&#xff0c;然后由代理服務器轉發到目標服務器。同樣&#xff0c;目標服務器的響應也會先發送到代理服務器&#xff0c;再由代理服務器返回給…

人工智能之數學基礎:施密特正交化

本文重點 在前面的課程中,我們學習了線性空間的基,其中有一個標準正交基的概念,假設現在有一個線性向量空間,然后已經確定了該線性空間的一組基,那么如何將其轉變為標準正交基。本文將學習如何通過施密特正交化完成這個任務。 施密特正交化 施密特正交化(Schmidt Orth…

Spark(2)linux和簡單命令

&#xff08;一&#xff09;Linux的文件系統 文件系統&#xff1a;操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統。 文件系統的結構通常叫做目錄樹結構&#xff0c;從斜桿/根目錄開始; Linux號稱萬物皆文件&#xff0c;意味著針對Linux的操作&#xff0c;大多…

Grok 3.0 Beta 版大語言模型評測

2025年2月17日至18日&#xff0c;全球首富埃隆馬斯克&#xff08;Elon Musk&#xff09;攜手其人工智能公司xAI&#xff0c;在美國重磅發布了Grok 3.0 Beta版。這款被譽為“迄今為止世界上最智能的語言模型”的AI&#xff0c;不僅集成了先進的“DeepSearch”搜索功能&#xff0…

基于COSTAR模型的內容創作:如何用框架提升寫作質量

目錄 前言1. Context&#xff08;上下文&#xff09;&#xff1a;理解背景&#xff0c;奠定寫作基礎1.1 何為上下文1.2 上下文的作用1.3 案例解析 2. Objective&#xff08;目標&#xff09;&#xff1a;明確寫作方向&#xff0c;避免跑題2.1 確立目標2.2 如何設定目標2.3 案例…

Springboot應用開發工具類整理

目錄 一、編寫目的 二、映射工具類 2.1 依賴 2.2 代碼 三、日期格式 3.1 依賴 3.2 代碼 四、加密 4.1 代碼 五、Http請求 5.1 依賴 5.2 代碼 六、金額 6.1?代碼 七、二維碼 7.1 依賴 7.2 代碼 八、坐標轉換 8.1 代碼 九、樹結構 9.1?代碼 9.1.1 節點 …

【Research Proposal】基于提示詞方法的智能體工具調用研究——研究問題

博客主頁&#xff1a; [小????????] 本文專欄: AIGC | ChatGPT 文章目錄 &#x1f4af;前言&#x1f4af;研究問題1. 如何優化提示詞方法以提高智能體的工具調用能力&#xff1f;2. 如何解決提示詞方法在多模態任務中的挑戰&#xff1f;3. 如何通過提示詞優化智能體…

Java 大視界 -- 國際競爭與合作:Java 大數據在全球市場的機遇與挑戰(94)

&#x1f496;親愛的朋友們&#xff0c;熱烈歡迎來到 青云交的博客&#xff01;能與諸位在此相逢&#xff0c;我倍感榮幸。在這飛速更迭的時代&#xff0c;我們都渴望一方心靈凈土&#xff0c;而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識&#xff0c;也…

25旅游管理研究生復試面試問題匯總 旅游管理專業知識問題很全! 旅游管理復試全流程攻略 旅游管理考研復試真題匯總

旅游管理復試很難&#xff1f;&#xff01; 別怕&#xff01;經驗超豐富的老學姐來給你們出謀劃策啦&#xff01; 最近是不是被旅游管理考研復試折磨得夠嗆&#xff1f;莫慌&#xff01;我這有著豐富復試指導經驗的老學姐來幫你們排雷&#xff0c;助力大家順利上岸&#xff01…

美的樓宇科技基于阿里云 EMR Serverless Spark 構建 LakeHouse 湖倉數據平臺

作者&#xff1a;美的樓宇科技事業部 先行研究中心智能技術部 美的樓宇科技 IoT 數據平臺建設背景 美的樓宇科技事業部&#xff08;以下簡稱樓宇科技&#xff09;是美的集團旗下五大板塊之一&#xff0c;產品覆蓋多聯機組、大型冷水機組、單元機、機房空調、扶梯、直梯、貨梯…

Html5學習教程,從入門到精通,HTML5 元素語法知識點及案例代碼(2)

HTML5 元素語法知識點及案例代碼 一、HTML5 元素概述 HTML5 元素是構成網頁的基本單位&#xff0c;每個元素都有特定的語義和功能。HTML5 元素由開始標簽、內容和結束標簽組成&#xff0c;例如&#xff1a; <p>這是一個段落。</p><p> 是開始標簽這是一個段…

23種設計模式 - 備忘錄模式

模式定義 備忘錄模式&#xff08;Memento Pattern&#xff09;是一種行為型設計模式&#xff0c;其核心是在不破壞對象封裝性的前提下&#xff0c;捕獲并保存對象的內部狀態&#xff0c;以便后續恢復。該模式特別適用于需要實現撤銷/重做、狀態回滾等功能的系統&#xff0c;如…

2025asp.net全棧技術開發學習路線圖

2025年技術亮點?&#xff1a; Blazor已全面支持WebAssembly 2.0標準 .NET 8版本原生集成AI模型部署能力 Azure Kubernetes服務實現智能自動擴縮容 EF Core新增向量數據庫支持特性 ?ASP.NET 全棧開發關鍵技術說明&#xff08;2025年視角&#xff09;? 以下技術分類基于現…

Linux設備驅動-練習

練習要求&#xff1a; 一、設備樹 1、配置設備樹信息&#xff1a;將3個led燈和1個風扇使用到的設備信息配置到設備樹中 二、設備驅動層 1、通過of_find_node_by_name、of_get_named_gpion等內核核心層統一的api接口調用外設&#xff1b; 2、通過udev設備管理器自動注冊并創建設…