成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于Langbase Memory Agents將任意LLM轉為可對話式AI文檔助手

譯文 精選
人工智能
在本教程中,筆者將詳細指導你如何借助Langbase(一個流行的開發工具平臺,它提供了一套用于構建 AI 應用的工具和基礎設施)內存代理,把大語言模型轉變為一個能夠與你的個人文檔進行交互對話的人工智能。

譯者 | 劉濤

審校 | 重樓

在 2025 年當下,大語言模型(LLM)依舊無法獲取用戶的私有數據。當用戶向其詢問某些與個人相關的問題時,大語言模型要么憑借推測進行回應,要么給出錯誤的解答。這體現了大語言模型存在的固有局限性——它們僅基于公開信息進行訓練,無法獲取用戶的私有上下文信息。

內存代理(Memory Agent)則通過實時且安全地將用戶的私有數據與任意大語言模型進行鏈接,有效解決了上述問題。在本教程中,筆者將詳細指導你如何借助Langbase(一個流行的開發工具平臺,它提供了一套用于構建 AI 應用的工具和基礎設施)內存代理,把大語言模型轉變為一個能夠與你的個人文檔進行交互對話的人工智能。

目錄

1. 內存代理是什么?

2. 使用內存代理保護你的數據

3. 內存代理的應用場景

4. 前提條件

5. 步驟 1:創建一個目錄并初始化npm

6. 步驟 2:創建一個管道代理

7. 步驟 3:添加一個.env文件

8. 步驟 4:創建一個內存代理

9. 步驟 5:將文檔添加到內存代理

10. 步驟 6:生成內存嵌入

  • 內存嵌入是什么?
  • 為什么需要內存嵌入?
  • 如何生成嵌入?

11. 步驟 7:在管道代理(Pipe Agent)中集成內存

12. 步驟 8:在Node.js中集成內存代理

13. 步驟 9:啟動BaseAI服務器

14. 步驟 10:運行內存代理

15. 結果

內存代理是什么?

內存代理是使人機交互變得有意義的關鍵,它是系統存儲和檢索先前信息的機制,是構建真正智能AI代理的核心要素。

實際上,盡管大型語言模型(LLM)看似人性化,但從設計本質上講,其內部并未內置的存儲機制,在設計架構上屬于無狀態模式。鑒于現實世界中的任務往往具有復雜性與多樣性,若要讓大語言模型在這些實際任務中發揮有效作用,為其增添存儲能力就顯得尤為必要。而內存代理恰恰在這一需求場景中發揮關鍵作用。

Langbase內存代理作為一種長期存儲解決方案,其核心設計目標就在于實現信息獲取、處理、保留以及檢索各個環節之間的無縫銜接。借助該內存代理,可以動態地為任意大語言模型添加私有數據,這不僅使得大語言模型在交互過程中能夠實現實時的上下文感知響應,還能顯著減少“幻覺生成(指的是大語言模型生成的與當前上下文不相符或錯誤的信息)”現象。

這些內存代理通過整合向量存儲、檢索增強生成(RAG)以及互聯網訪問功能,構建了一個功能強大的托管上下文搜索API。借助這一API,開發人員能夠開發出更加智能、功能更為強大的人工智能應用程序。

在檢索增強生成(RAG)的架構體系中,當內存與Langbase管道代理(Pipe Agent:是Langbase框架中的一個核心概念,它本質上是一個數據處理和流轉的管道代理)實現直接連接時,便形成了一個完整意義上的內存代理。這種組合方式賦予了大語言模型獲取相關數據的能力,并使其能夠基于這些私有數據提供精確且上下文貼合的回答,從而有效克服了大語言模型在處理私有數據時面臨的諸多局限性。

需要注意的是,管道是一種無服務器的AI代理,它集成了代理內存和工具。

以下將以圖示的方式,對整個過程進行直觀展示:

使用內存代理保護你的數據

內存代理高度重視數據安全,通過將私密信息進行隔離,并在本地環境或安全的環境中進行處理,以此作為保障數據安全的首要舉措。具體而言,用于創建內存嵌入的數據,在未進行明確配置的情況下,不會被發送至外部服務器,這種嚴格的設定從源頭上確保了敏感信息能夠得到妥善保護。

除此之外,內存系統的訪問權限通過 API 密鑰和相關權限設置進行嚴格管控。只有經過授權的操作才能訪問內存系統,這一措施有效防止了未經授權的訪問行為發生。如此一來,這種精心設計的安全設置,不僅能夠顯著增強人工智能(AI)能力,更通過全方位保護用戶數據,切實維護了用戶對系統的信任。

內存代理的應用場景

以下為這些內存代理在實際中的具體應用領域:

  • 客戶支持:內存代理能夠回調交互歷史記錄,以此為基礎提供個性化且具備上下文感知能力的支持服務。
  • 文檔搜索:在處理大型數據集、手冊或者常見問題解答文檔時,內存代理可實現快速且語義化的搜索功能。
  • 代碼輔助:針對開發人員,內存代理可以提供與項目特定相關的文檔資料,并基于項目歷史和代碼邏輯給出調試建議,助力開發者更高效地完成開發工作。
  • 知識管理:內存代理有助于將團隊內部信息進行高效集中存儲,并實現便捷的檢索功能。團隊成員能夠快速獲取所需信息,提升團隊整體的知識流轉和工作效率。
  • 教育與培訓:在教育與培訓場景中,內存代理可以為學生或員工提供定制化的培訓材料,通過跟蹤學習進度,基于存儲的知識庫回答學習者提出的問題。
  • 醫療保健:在醫療領域,內存代理可安全地檢索患者記錄或病史信息,為醫護人員提供準確的數據支持,輔助他們做出更精準的醫療決策。
  • 協調工作流程:內存代理能夠追蹤項目歷史記錄并結合各類工具來實現團隊成員之間的協調與溝通,確保項目順利推進。
  • 法律合規:在法律事務和合規管理方面,內存代理可以幫助相關人員快速參考法律指南和合規標準,確保決策過程準確無誤且完全符合法律規定要求。

上述由內存代理所賦能的眾多應用場景,正不斷開拓新的可能性,并且逐步改變著人工通用智能(AGI)的發展格局與能力邊界。

前提條件

在著手創建能夠與文檔進行交互的內存代理之前,你需要完成以下設置并準備相應工具。

本教程將采用以下技術棧:

  • BaseAI:一款用于在本地構建AI代理的Web框架。
  • Langbase:一個專門用于構建和部署無服務器AI代理的平臺。
  • OpenAI:通過該平臺獲取首選模型所需的 LLM 密鑰。

此外,你還需完成以下操作:

  • 在Langbase平臺上完成注冊,以便獲取API密鑰。
  • 在OpenAI平臺上進行注冊,從而生成所需模型(本演示使用的是 GPT - 4o mini)的 LLM 密鑰 。

當上述準備工作全部完成后,我們即可正式開啟后續操作!  

步驟 1:創建一個目錄并初始化npm

若要著手創建一個能夠與你的文檔實現交互的內存代理,首先需要在本地計算機中創建一個專門的目錄,并在該目錄下安裝所有與之相關的開發依賴項。具體操作方法為:導航至目標目錄,然后在終端中運行相應命令,以此完成相關設置:

mkdir my-project
npm init -y
npm install dotenv

此命令會在你的項目目錄下創建一個具有默認值的package.json文件。與此同時,該命令還會執行dotenv包的安裝操作。安裝dotenv包的目的在于,使項目能夠從.env文件中順利讀取環境變量,從而為項目的運行提供必要的配置支持。  

步驟 2:創建一個管道代理

接下來,我們著手創建一個管道代理。管道代理在特性上區別于其他代理,它屬于無服務器AI代理,并且配備了代理工具,具備與任意語言或框架協同運作的能力。管道代理的部署過程較為簡便,僅需借助一個API,就能將 100 多個大型語言模型與任何數據相連接,進而助力開發人員構建各類API工作流程。

若要創建你的AI代理管道,請先進入項目目錄,然后運行以下命令:

npx baseai@latest pipe

在運行該命令后,你將會看到如下提示:

BaseAI is not installed but required to run. Would you like to install it? Yes/No
Name of the pipe?  pipe-with-memory
Description of the pipe? Pipe attached to a memory
Status of the pipe? Public/Private
System prompt? You are a helpful AI assistant

當你完成 AI 管道代理的名稱、描述以及狀態設置后,系統會自動完成所有相關配置,你的管道代理將成功創建在 /baseai/pipes/pipe-with-memory.ts 路徑下。

步驟 3:添加一個.env文件

完成上述操作后,需在項目根目錄中創建一個.env 文件,并在其中添加OpenAI和Langbase的 API 密鑰。你可從指定位置獲取你的Langbase API密鑰 。

步驟 4:創建一個內存代理

接下來,我們要創建一個內存,并將其附加到管道(Pipe)中,以此讓它轉變為內存代理。要達成這一目標,請在終端中運行以下命令:  

npx baseai@latest memory

運行此命令后,將會得到以下提示:

Name of the memory?  chat-with-docs-agent
Description of the pipe? FAQs docs
Do you want to create memory from the current project git repository? Yes/No

執行上述操作之后,系統會自動完成所有相關設置。你便能夠訪問成功創建在 /baseai/memory/chat-with-docs-agent.ts 路徑下的內存。

步驟 5:將文檔添加到內存代理

在 /baseai/memory/chat-with-docs-agent.ts 路徑下,你會看到一個名為 documents 的文件夾。此文件夾專門用于存儲期望 AI 代理能夠訪問的文件。在本次演示過程中,我先將管道(Pipe)的常見問題頁面另存為.pdf 或.txt 格式的文件。隨后,把該文件轉換為markdown格式,并將轉換后的文件放置在 baseai/memory/chat-with-docs/documents 目錄中。  

執行這一步驟,能夠切實保證內存代理具備處理和檢索文檔信息的能力。如此一來,AI代理在面對用戶提出的查詢時,便能夠根據你所提供的文檔內容做出準確回答。  

步驟 6:生成內存嵌入

目前,你已成功將文檔添加至內存。接下來的關鍵步驟是生成內存嵌入。不過在此之前,有必要先了解一下:嵌入究竟是什么,以及為什么它們對于整個系統而言是不可或缺的 ? 

內存嵌入是什么?

嵌入是文檔的一種數字表現形式。借助這種形式,人工智能能夠理解單詞、短語以及句子之間的上下文關聯和語義關系。我們不妨把嵌入看作是一種將文檔“翻譯”成人工智能能夠處理的“語言”的方式,以便實現語義搜索與檢索功能。  

為什么需要內存嵌入?

若缺少嵌入這一關鍵環節,AI代理便無法將用戶提出的查詢與文檔中的相關內容進行有效匹配。而通過生成嵌入向量,實際上是在創建一個可供搜索的索引。這個索引對于內存代理給出準確且高效的響應起著至關重要的支持作用。  

如何生成嵌入?

若要為你的文檔生成嵌入,請在終端中執行以下命令:

npx baseai@latest embed -m chat-with-docs-agent

至此,你的內存已準備就緒,可以與管道(即內存代理)進行連接。連接完成后,你的 AI 代理便能從你提供的文檔中獲取精準的、具備上下文感知能力的響應。  

步驟 7:在管道代理(Pipe Agent)中集成內存

接下來,你需要將此前創建的內存附加到管道(Pipe)代理上,以此讓它成為一個內存代理。要完成這一操作,請進入 /baseai/pipes/pipe-with-memory.ts 文件。以下是該文件目前的內容展示:

import { PipeI } from '@baseai/core';

const pipePipeWithMemory = (): PipeI => ({    apiKey: process.env.LANGBASE_API_KEY!, // Replace with your API key https://langbase.com/docs/api-reference/api-keys    name: 'pipe-with-memory',    description: 'Pipe attached to a memory',    status: 'public',    model: 'openai:gpt-4o-mini',    stream: true,    json: false,    store: true,    moderate: true,    top_p: 1,    max_tokens: 1000,    temperature: 0.7,    presence_penalty: 1,    frequency_penalty: 1,    stop: [],    tool_choice: 'auto',    parallel_tool_calls: false,    messages: [        { role: 'system', content: `You are a helpful AI assistant.` }],    variables: [],    memory: [],    tools: []});
export default pipePipeWithMemory;

現在,需將內存集成到管道中。具體做法是在文件頂部導入內存,并將其作為內存數組中的函數進行調用。以下是完成所有這些操作后代碼呈現的樣子:  

import { PipeI } from '@baseai/core';
import chatWithDocsAgentMemory from '../memory/chat-with-docs-agent';

const pipePipeWithMemory = (): PipeI => ({
    apiKey: process.env.LANGBASE_API_KEY!, // Replace with your API key https://langbase.com/docs/api-reference/api-keys
    name: 'pipe-with-memory',
    description: 'Pipe attached to a memory',
    status: 'public',
    model: 'openai:gpt-4o-mini',
    stream: true,
    json: false,
    store: true,
    moderate: true,
    top_p: 1,
    max_tokens: 1000,
    temperature: 0.7,
    presence_penalty: 1,
    frequency_penalty: 1,
    stop: [],
    tool_choice: 'auto',
    parallel_tool_calls: false,
    messages: [
        { role: 'system', content: `You are a helpful AI assistant.` }],
    variables: [],
    memory: [chatWithDocsAgentMemory()],
tools: []
});

export default pipePipeWithMemory;

步驟 8:在Node.js中集成內存代理

接下來,我們要把之前創建的內存代理集成到 Node.js 項目中,目的是為所關聯的文檔構建一個交互式命令行界面(CLI)。這個 Node.js 項目將充當測試內存代理以及與內存代理進行交互的基礎環境(在本教程開篇部分,我們已經通過初始化npm完成了一個 Node.js 項目的初步設置 )。

現在,創建一個 index.ts 文件:

touch index.ts

在這個TypeScript文件里,需要導入你此前創建的管道代理。后續我們會借助@baseai/core里的管道原語(pipe primitive:用于構建和操作管道的基本元素)來運行該管道。

將以下代碼添加到 index.ts 文件中:

import 'dotenv/config';import { Pipe } from '@baseai/core';import inquirer from 'inquirer';import ora from 'ora';import chalk from 'chalk';import pipePipeWithMemory from './baseai/pipes/pipe-with-memory';
const pipe = new Pipe(pipePipeWithMemory());
async function main() {
const initialSpinner = ora('Conversation with Memory agent...').start();   try {       const { completion: calculatorTool} = await pipe.run({           messages: [{ role: 'user', content: 'Hello' }],       });       initialSpinner.stop();       console.log(chalk.cyan('Report Generator Agent response...'));       console.log(calculatorTool);   } catch (error) {       initialSpinner.stop();       console.error(chalk.red('Error processing initial request:'), error);   }
while (true) {       const { userMsg } = await inquirer.prompt([           {               type: 'input',               name: 'userMsg',               message: chalk.blue('Enter your query (or type "exit" to quit):'),           },       ]);
if (userMsg.toLowerCase() === 'exit') {           console.log(chalk.green('Goodbye!'));           break;       }
const spinner = ora('Processing your request...').start();
try {           const { completion: reportAgentResponse } = await pipe.run({               messages: [{ role: 'user', content: userMsg }],           });
spinner.stop();           console.log(chalk.cyan('Agent:'));           console.log(reportAgentResponse);       } catch (error) {           spinner.stop();           console.error(chalk.red('Error processing your request:'), error);       }   }}
main();

這段代碼旨在創建一個交互式命令行界面(CLI),以便與 AI 代理進行聊天互動,它借助 @baseai/core 庫中的管道來處理用戶輸入。下面為你詳細介紹代碼的運行邏輯及相關操作:

  • 首先,代碼需要導入一些必要的庫。其中,dotenv 用于環境配置,inquirer 用于獲取用戶輸入,ora 用于加載微調器,而 chalk 則用于實現彩色輸出。在運行代碼前,請務必在終端中使用以下命令安裝這些庫:npm install ora inquirer 。
  • 接著,管道對象是基于 BaseAI 庫,利用一個名為 pipe-with-memory 的預定義內存創建而成。

然后,在 main() 函數內部:

  • 當與 AI 代理的初始對話開始時,旋轉圖標會隨即啟動,并展示 “Hello” 這條消息。
  • 之后,來自 AI 的響應將會呈現出來。
  • 程序會進入循環運行狀態,持續要求用戶輸入內容,并將用戶的查詢發送給 AI 代理。
  • 每次接收到 AI 的響應后都會顯示出來,這一過程會不斷重復,直至用戶輸入 “exit” 為止。

步驟 9:啟動BaseAI服務器

若要在本地運行內存代理,首先需要啟動 BaseAI 服務器。請在終端中運行以下命令:  

npx baseai@latest dev

步驟 10:運行內存代理

使用以下命令運行 index.ts 文件:

npx tsx index.ts

結果

在你的終端中,系統會提示“輸入你的查詢”。例如,我們不妨提問:“什么是 Langbase 上的管道?” 此時,內存代理將會給出回應,并且還會提供正確的來源或引用信息。

通過上述一系列設置,我們成功構建了一個“Chat with Your Document”代理。該代理充分利用了大型語言模型(LLM)和 Langbase 內存代理的強大功能,有效克服了 LLM 自身存在的局限性。它不僅能夠確保給出準確的響應,而且在處理私有數據時不會出現“幻覺”現象。

譯者介紹

劉濤,51CTO社區編輯,某大型央企系統上線檢測管控負責人。

原文標題:How to Use Langbase Memory Agents to Make Any LLM a Conversational AI for Your Docs

作者:Maham Codes

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

2025-04-21 08:13:58

ChatGPTAINLP

2025-04-09 03:00:00

2024-07-08 09:31:02

2023-09-27 09:47:51

SAPJoule

2023-07-06 14:57:09

2023-11-20 14:58:30

人工智能AI Agents

2024-02-17 21:50:30

2020-04-27 15:14:10

人工智能技術安全

2019-07-12 16:48:25

AI語音助手谷歌

2023-03-17 11:05:44

微軟Copilot生成式AI助手

2023-08-01 08:31:54

會話式 AI人工智能

2025-03-06 17:29:23

2023-11-26 19:31:18

2023-07-07 14:42:01

2025-04-25 08:08:46

2024-01-09 14:00:26

2023-10-04 09:46:35

2025-03-06 07:44:36

2025-03-19 07:37:54

2020-08-10 10:23:05

人工智能機器學習技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品综合| 国产精品一区二区日韩 | 91激情电影 | 欧美精品久久久 | 天天综合网天天综合 | 一区在线视频 | 久久久久国产一区二区三区不卡 | 欧美性猛交一区二区三区精品 | 国产亚洲精品精品国产亚洲综合 | 国产黄色在线观看 | 中文字幕免费观看 | 午夜小视频在线观看 | 人人看人人搞 | 日韩毛片在线免费观看 | 国产精品久久久久久久毛片 | 国产亚洲精品久久久久久牛牛 | 91麻豆久久久 | 在线中文字幕日韩 | 久久久成人动漫 | 91在线视频精品 | 亚洲福利免费 | 亚洲成人久久久 | 超碰国产在线 | 久久不卡日韩美女 | 成年视频在线观看福利资源 | 欧美高清性xxxxhd | 亚洲精品电影 | 性色av一区二区三区 | 国产伦精品一区二区 | 国产一区二区久久久 | 国产美女一区 | 伊人影院在线观看 | 久久久久久久亚洲精品 | 日本亚洲欧美 | 91看片视频 | 嫩草视频网站 | 美女天天操 | 影音先锋男 | 91精品久久久久久久久久入口 | 香蕉一区 | 久久精品国产亚洲一区二区 |