色偷偷亚洲精品一区-色偷偷五月天-色偷偷久久一区二区三区-色偷偷狠狠色综合网-国产99久9在线视频-国产99久9在线

/ EN
13922884048

資訊中心

information centre
/
/

AI智能體開發(fā)框架,怎么開發(fā)一個(gè)AI智能體(AI Agent)

發(fā)布時(shí)間:2025-03-03作者來源:薩科微瀏覽:672

背景:

1、AI智能體作為當(dāng)前最優(yōu)AI應(yīng)用模式已然成為必會(huì)的開發(fā)能力。

2、AI智能體開發(fā)框架已然成為程序員必須掌握的新開發(fā)環(huán)境,類似visual studio這樣的開發(fā)工具。

3、AI Agent 讓 “人機(jī)協(xié)同” 成為新常態(tài),個(gè)人與企業(yè)步入 AI 助理時(shí)代。AI Agent 能夠幫助未來企業(yè)構(gòu)建以 “人機(jī)協(xié)同” 為核心的智能化運(yùn)營新常態(tài)。

4、AI Agent 變革未來生產(chǎn)力的組織形式,對抗組織熵增。未來企業(yè)工作任務(wù)將在 AIGC 的助推作用下變得日益原子化和碎片化,復(fù)雜的流程將被無限拆解,再進(jìn)行靈活的編排和組合,每個(gè)環(huán)節(jié)的效能和潛力都將被 AI 持續(xù)挖掘。

5、從供給端看,“人 + AI 數(shù)字員工”的高效協(xié)同模式將為大型企業(yè)對抗組織熵增提供理想的解法。

一、AI Agent是是啥?

1、基于大模型的AI應(yīng)用

1)如果把大模型比作大腦,那 AI Agent 可以理解為小腦 + 手腳。

2)AI Agent可以接收外部信息,基于大模型的推理進(jìn)行理解判斷,基于判斷做出決策,調(diào)用外部接口執(zhí)行動(dòng)作的一個(gè)自動(dòng)執(zhí)行的工作流應(yīng)用。AI AGent可以與外部接受信息和交互。

2、對話AI就是一個(gè)智能體

DeepSeek,豆包,Kimi,元寶,這些都是對話智能體,接受外部提問,經(jīng)過推理給生成答案內(nèi)容。AI AGent可以獨(dú)立運(yùn)行,自動(dòng)化執(zhí)行。

3、舉例

比如你做一個(gè)簡歷篩選,他可以把各種文件格式的,各種排版形式的簡歷放在一起按條件檢索,這種用傳統(tǒng)軟件開放方式是比較復(fù)雜,利用AI AGent開發(fā)就簡單很多,把簡歷導(dǎo)入知識庫,利用RAG技術(shù)通過AI AGent開發(fā)框架調(diào)用就可以了,把月量級的工作,變成周的工作。

4、與Copilot的區(qū)別


1)如果說 Copilot 是 “副駕駛”,那么 Agent 則可以算得上一個(gè)初級的 “主駕駛”。

2)Copilot提出生成結(jié)果,由人篩選,AI Agent可以自動(dòng)化執(zhí)行。


二、智能體開發(fā)需要的技術(shù)棧

 

1、智能體的關(guān)鍵組件組成

Agent=LLM(選擇大腦) + 規(guī)劃技能(拆解工作,規(guī)劃工作流) + 記憶(外部知識庫,本地上下文) + 工具使用(對接外部應(yīng)用)的基礎(chǔ)架構(gòu)。

1)基礎(chǔ)大模型

負(fù)責(zé)知識推理和內(nèi)容生成, LLM 扮演了 Agent 的 “大腦”,在這個(gè)系統(tǒng)中提供推理、規(guī)劃等能力。

2)RAG開發(fā)框架,開發(fā)知識庫

用來建立智能體或者企業(yè)的私有知識庫,用來防止幻覺和增強(qiáng)行業(yè)知識和領(lǐng)域知識。

RAG就是通過檢索獲取相關(guān)的知識并將其融入Prompt,讓大模型能夠參考相應(yīng)的知識從而給出合理回答。可以將RAG的核心理解為“檢索+生成”,前者主要是利用向量數(shù)據(jù)庫的高效存儲和檢索能力,召回目標(biāo)知識;后者則是利用大模型和Prompt工程,將召回的知識合理利用,生成目標(biāo)答案。

3)智能體開發(fā)框架

1)AI Agent開發(fā)平臺和工具

應(yīng)用開發(fā)的工具鏈,開發(fā)包的集合,各種組件和插件不斷被開發(fā)出來。拖拉拽的開發(fā)工作流引擎,可以調(diào)用RAG,調(diào)用外部系統(tǒng)。發(fā)展越來越完善,越來能力越強(qiáng)。

2)智能體工作流開發(fā)框架,接收外部信息,檢索知識庫,檢索結(jié)果疊加輸入信息,調(diào)用基礎(chǔ)大模型推理,根據(jù)生成內(nèi)容進(jìn)行工作流執(zhí)行。


4)RPA工具

應(yīng)用系統(tǒng)集成自動(dòng)化工具,可以模仿用戶輸入操作,實(shí)現(xiàn)自動(dòng)化應(yīng)用執(zhí)行。可以與AGent框架集成外部應(yīng)用。

5)向量數(shù)據(jù)庫,外部長期記憶

用來存儲私有知識庫,并提供檢索索引能力,提高效率的的向量數(shù)據(jù)庫和工具


三、智能體開發(fā)的技術(shù)架構(gòu)選型

核心的選擇是大模型,大模型選擇就是DeepSeek+其他,然后就是智能體開發(fā)框架,智能體開發(fā)框架langchain用的比較多,這兩個(gè)選擇了,其他的就圍繞這兩個(gè)選就可以了。

1、選擇基礎(chǔ)大模型

選擇應(yīng)用合適的大模型,有商業(yè)化的也有開源的,現(xiàn)在的話LLM模型就選擇DeepSeek就對了,多模態(tài)的沒有公認(rèn)的的,看看業(yè)務(wù)需要吧

2、選擇智能體開發(fā)框架

1)國內(nèi):字節(jié)coze,阿里百煉,

2)國外開源:langchain,langgragh,dify這兩個(gè)是公認(rèn)比較好的,autoGPT,crewAI。

3)舉例Dify軟件的主要功能

(1)低代碼/無代碼開發(fā):提供用戶友好的界面,通過可視化的方式允許開發(fā)者輕松定義Prompt、上下文和插件等。

(2)模塊化設(shè)計(jì):采用模塊化的設(shè)計(jì),每個(gè)模塊都有清晰的功能和接口,可以根據(jù)需求選擇性地使用。

(3)豐富的功能組件:包括AI工作流、RAG管道、Agent、模型管理、可觀測性功能等。

(4)支持多種大語言模型:已支持OpenAI GPT系列等模型,并計(jì)劃進(jìn)一步擴(kuò)展。

(5)數(shù)據(jù)處理和特征工程工具:提供了數(shù)據(jù)清洗、特征選擇、特征變換等功能。

集成外部知識源:允許自定義API接入外部知識源,讓大型語言模型深入理解企業(yè)知識和業(yè)務(wù)。

3、選擇RAG框架,知識庫管理

1)智能體開發(fā)框架一般會(huì)集成一個(gè)RAG的框架。RAGFlow圖形化操作比較友好,txtai功能比較全,比較閉環(huán)。llamaindex。

2)RAG一般會(huì)集成向量數(shù)據(jù)庫,數(shù)據(jù)治理結(jié)果存儲在向量數(shù)據(jù)庫。進(jìn)行數(shù)據(jù)治理,基于RAG技術(shù)開發(fā)私有知識庫,對知識庫進(jìn)行拆分。


四、基于 DeepSeek-R1 + langchain 的 AI Agent 開發(fā)舉例


1. 環(huán)境準(zhǔn)備
bash
安裝核心依賴
pip install langchain langchain-community transformers chromadb gradio

---

2. 核心代碼實(shí)現(xiàn)

(1) 初始化本地模型
python
from langchain_community.llms import HuggingFacePipeline
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline

加載 DeepSeek-R1 本地模型
model_path = "/path/to/deepseek-r1"   替換為實(shí)際模型路徑
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path)

創(chuàng)建 HuggingFace 推理管道
text_generation_pipe = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    max_new_tokens=512,
    temperature=0.3,
    repetition_penalty=1.1
)

封裝為 LangChain 兼容的 LLM
local_llm = HuggingFacePipeline(pipeline=text_generation_pipe)

(2) 創(chuàng)建知識庫工具
python
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter

初始化嵌入模型
embeddings = HuggingFaceEmbeddings(model_name="BAAI/bge-small-zh-v1.5")

加載本地文檔(示例使用 TXT 文件)
with open("knowledge_base.txt", "r") as f:
    text = f.read()

文檔分塊處理
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
docs = text_splitter.split_text(text)

創(chuàng)建向量數(shù)據(jù)庫
vector_db = Chroma.from_texts(docs, embeddings, persist_directory="./chroma_db")

封裝為檢索工具
retriever = vector_db.as_retriever(search_kwargs={"k": 3})

(3) 添加實(shí)時(shí)搜索工具
python
from langchain_community.tools import DuckDuckGoSearchRun

初始化 DuckDuckGo 搜索工具
search_tool = DuckDuckGoSearchRun()

(4) 構(gòu)建 Agent 系統(tǒng)
python
from langchain.agents import Tool, initialize_agent
from langchain.memory import ConversationBufferMemory

定義工具集
tools =
    Tool(
        name="知識庫查詢",
        func=lambda query: str(retriever.get_relevant_documents(query)),
        description="用于查詢本地知識庫中的專業(yè)信息"
    ),
    Tool(
        name="實(shí)時(shí)搜索",
        func=search_tool.run,
        description="用于獲取實(shí)時(shí)新聞、天氣、股票等[敏感詞]信息"
    )


創(chuàng)建對話記憶
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)

初始化 Agent
agent = initialize_agent(
    tools,
    local_llm,
    agent="conversational-react-description",
    memory=memory,
    verbose=True
)

(5) 創(chuàng)建交互界面
python
import gradio as gr

定義 Gradio 交互函數(shù)
def chat(message, history):
    response = agent.run(message)
    return response

啟動(dòng) Web 服務(wù)
gr.ChatInterface(
    chat,
    title="DeepSeek-R1 智能助手",
    description="支持本地知識庫查詢和實(shí)時(shí)網(wǎng)絡(luò)搜索"
).launch(share=True)

---

3. 應(yīng)用場景演示

場景 1:查詢本地知識庫
用戶輸入: 
"我們公司的售后服務(wù)政策是什么?"

Agent 響應(yīng)流程:
1. 調(diào)用 `知識庫查詢` 工具檢索相關(guān)文檔
2. 將檢索結(jié)果輸入 DeepSeek-R1 生成自然語言回復(fù)
3. 輸出:"根據(jù)公司政策,所有產(chǎn)品享受3年質(zhì)保,7天內(nèi)無理由退貨..."

---

場景 2:實(shí)時(shí)信息檢索 
用戶輸入: 
"今天北京的天氣怎么樣?"

Agent 響應(yīng)流程:
1. 識別需要實(shí)時(shí)數(shù)據(jù),調(diào)用 `實(shí)時(shí)搜索` 工具
2. 獲取 DuckDuckGo 返回的天氣信息
3. 使用 DeepSeek-R1 總結(jié)搜索結(jié)果
4. 輸出:"根據(jù)[敏感詞]天氣數(shù)據(jù),北京今日晴轉(zhuǎn)多云,氣溫18-25℃,空氣質(zhì)量良好..."

---

場景 3:混合查詢 
用戶輸入: 
"對比我們產(chǎn)品A和競品B的技術(shù)參數(shù)"

Agent 響應(yīng)流程:
1. 通過 `知識庫查詢` 獲取產(chǎn)品A的規(guī)格參數(shù)
2. 使用 `實(shí)時(shí)搜索` 獲取競品B的[敏感詞]信息
3. DeepSeek-R1 進(jìn)行對比分析
4. 生成對比表格和總結(jié)建議

---

4. 關(guān)鍵優(yōu)化技巧

(1) 提示詞工程優(yōu)化
在 Agent 初始化前添加系統(tǒng)提示:
python
from langchain.prompts import MessagesPlaceholder

system_prompt = """你是一個(gè)[敏感詞]理,請遵守以下規(guī)則:
1. 優(yōu)先使用知識庫查詢工具獲取準(zhǔn)確信息
2. 涉及實(shí)時(shí)數(shù)據(jù)時(shí)必須使用搜索工具
3. 用中文分點(diǎn)回答,重要數(shù)據(jù)用加粗顯示"""

agent.agent.llm_chain.prompt.messages =
    SystemMessage(content=system_prompt),
    MessagesPlaceholder(variable_name="chat_history"),
    HumanMessagePromptTemplate.from_template("{input}"),
    MessagesPlaceholder(variable_name="agent_scratchpad")

(2) 結(jié)果后處理
添加響應(yīng)格式校驗(yàn):
python
from langchain.output_parsers import StructuredOutputParser
from langchain.schema import OutputParserException

output_parser = StructuredOutputParser.from_response_schemas(
    ResponseSchema(name="answer", type="string", description="主要回答內(nèi)容"),
    ResponseSchema(name="sources", type="list", description="數(shù)據(jù)來源")
)

def format_response(raw_response):
    try:
        return output_parser.parse(raw_response)
    except OutputParserException:
        return {"answer": raw_response, "sources": }

(3) 性能監(jiān)控
集成 Prometheus 監(jiān)控:
python
from prometheus_client import start_http_server, Counter

REQUEST_COUNTER = Counter('agent_requests', 'Total API requests')
RESPONSE_TIME = Histogram('agent_response_time', 'Response time in seconds')

@RESPONSE_TIME.time()
def chat(message, history):
    REQUEST_COUNTER.inc()
     ...原有邏輯...

---

5. 部署架構(gòu)
mermaid
graph TD
    A用戶界面 --> B(Gradio Web Server)
    B --> CLangChain Agent
    C --> D{決策路由}
    D -->本地知識 EChroma DB
    D -->實(shí)時(shí)數(shù)據(jù) FDuckDuckGo API
    C --> GDeepSeek-R1 模型
    G --> H響應(yīng)生成
    H --> B

---

6. 常見問題解決

問題 1:模型加載內(nèi)存不足
解決方案:
python
使用 4-bit 量化加載
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    load_in_4bit=True,
    device_map="auto"
)

問題 2:檢索結(jié)果不準(zhǔn)確
優(yōu)化方法:
python
混合檢索策略
from langchain.retrievers import BM25Retriever, EnsembleRetriever

bm25_retriever = BM25Retriever.from_texts(docs)
ensemble_retriever = EnsembleRetriever(
    retrievers=vector_db.as_retriever(), bm25_retriever,
    weights=0.6, 0.4
)

問題 3:響應(yīng)速度慢
加速技巧:
python
啟用流式響應(yīng)
text_generation_pipe = pipeline(
    ...,
    streamer=TextStreamer(tokenizer, skip_prompt=True)
)

啟用緩存
from langchain.cache import SQLiteCache
import langchain
langchain.llm_cache = SQLiteCache(database_path=".langchain.db")

---

擴(kuò)展方向建議
1. 多模態(tài)支持:集成 LLaVA 等視覺模型處理圖片/PDF
2. API 擴(kuò)展:添加企業(yè)內(nèi)部系統(tǒng)接口(CRM/ERP)
3. 分布式部署:使用 Ray 框架實(shí)現(xiàn)計(jì)算資源擴(kuò)展
4. 審計(jì)日志:記錄完整的 Agent 決策過程

這個(gè)示例展示了如何將本地部署的大模型與 LangChain 生態(tài)結(jié)合,構(gòu)建具備實(shí)際應(yīng)用價(jià)值的 AI Agent。開發(fā)者可以根據(jù)具體需求調(diào)整工具組合和業(yè)務(wù)流程。


免責(zé)聲明:本文來源于“數(shù)字化轉(zhuǎn)型分享”公眾號,本文僅代表作者個(gè)人觀點(diǎn),不代表薩科微及行業(yè)觀點(diǎn),只為轉(zhuǎn)載與分享,支持保護(hù)知識產(chǎn)權(quán),轉(zhuǎn)載請注明原出處及作者,如有侵權(quán)請聯(lián)系我們刪除。


企業(yè)咨詢和陪跑請掃碼聯(lián)系

beead8abd6ef2d8fc6ead2ac0d426f1.jpg

服務(wù)熱線

0755-83044319

霍爾元件咨詢

肖特基二極管咨詢

TVS/ESD咨詢

獲取產(chǎn)品資料

客服微信

微信客服號

主站蜘蛛池模板: 久热久热精品在线观看 | 99福利在线观看 | 中文字幕永久在线观看 | 黑丝制服影院 | 亚洲熟女丰满多毛XXXXX | 亚洲AV久久无码精品九九软件 | 亚洲精品久久久久一区二区三 | 中文字幕久久熟女人妻AV免费 | 医生含着我的奶边摸边做 | 8X拨牐拨牐X8免费视频8 | 国产在线精品亚洲第一区 | 日本十八禁无遮无挡漫画 | 年轻夫妇韩剧中文版免费观看 | 长泽梓黑人初解禁bdd07 | 午夜AV亚洲一码二中文字幕青青 | 与嫂子同居的日子在线观看 | 处88XXX| 免费三级现频在线观看 | 国产AV无码一二三区视频 | 99精品AV无码一区二区 | 同桌上课把奶露出来给我玩 | 久草在线新是免费视频 | 国产午夜精品福利久久 | 无敌在线视频观看免费 | 亚洲成人欧美 | 国产在线观看码高清视频 | 久久偷拍vs国产在线播放 | 亚州AV人片一区二区三区99久 | 成年人视频在线免费看 | 亚洲精品久久99蜜芽尤物TV | 国产精品一区二区欧美视频 | 亚洲综合日韩中文字幕v在线 | 久久精品视频15人人爱在线直播 | 禁室培欲在线视频免费观看 | 久久久久亚洲日日精品 | 青柠在线观看视频在线高清完整 | 国产麻豆福利AV在线观看 | 飘雪在线观看免费高清完整版韩国 | 亚洲在线国产日韩欧美 | 伊人久久电影院 | 久草在线一免费新视频 |