中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress怎么導(dǎo)入自己的phpseo網(wǎng)站優(yōu)化外包

wordpress怎么導(dǎo)入自己的php,seo網(wǎng)站優(yōu)化外包,大學(xué)生做的美食網(wǎng)站,彩票自己開盤做網(wǎng)站Java智能客服系統(tǒng)運用RAG技術(shù)提升答疑精準度 基于Spring ai 的 RAG(檢索增強生成)技術(shù),Java智能客服系統(tǒng)能夠利用私有知識庫中的信息提供更準確的答疑服務(wù)。 它的核心思路是: 首先,將客服QA以Word形式導(dǎo)入到系統(tǒng)中&…

Java智能客服系統(tǒng)運用RAG技術(shù)提升答疑精準度

基于Spring ai 的 RAG(檢索增強生成)技術(shù),Java智能客服系統(tǒng)能夠利用私有知識庫中的信息提供更準確的答疑服務(wù)。

它的核心思路是:

首先,將客服QA以Word形式導(dǎo)入到系統(tǒng)中,通過向量化處理并存儲在如阿里云的遠程VectorStore中。

當(dāng)用戶提出問題時,Java編寫的智能客服程序使用DocumentRetriever從VectorStore檢索相關(guān)文檔片段,并將其與原始查詢一起傳遞給大模型進行處理。

大模型結(jié)合上下文信息生成回復(fù)內(nèi)容,從而實現(xiàn)了基于已有知識的有效客戶互動。此過程中,Spring AI Alibaba框架支持無縫集成這些組件,確保了Java智能客服解決方案的高度可擴展性和靈活性。

RAG 是一種用于提升大模型精準度的檢索增強生成技術(shù)

檢索增強生成 (RAG) 是一種結(jié)合了檢索模型和生成模型的技術(shù),以提高大模型的響應(yīng)準確性。在使用大模型時,一個常見問題是模型可能會產(chǎn)生“幻覺”,即生成的信息可能并不準確或相關(guān)。此外,大模型通常不包含企業(yè)的私有知識庫,因此其回答可能過于泛泛而不精準。RAG通過引入私有知識庫解決了這些問題,使得模型能夠基于具體且專有的數(shù)據(jù)集生成更加精確、具體的答案。這樣,不僅可以減少模型的幻覺現(xiàn)象,還能讓生成的內(nèi)容更貼合企業(yè)的實際情況。

Spring AI Alibaba 是一個阿里依托Spring AI構(gòu)建的本地化最佳實踐

Spring AI Alibaba 是一個基于 Java 的框架,旨在將 Spring 生態(tài)系統(tǒng)的設(shè)計原則應(yīng)用到人工智能領(lǐng)域。它為開發(fā)者提供了一個統(tǒng)一的接口,使得對接不同AI服務(wù)提供商(如阿里云、OpenAI等)變得簡單且高效。由Spring官方團隊維護,確保了高質(zhì)量與持續(xù)更新。此外,Spring AI Alibaba還整合了阿里巴巴集團的最佳實踐,特別是關(guān)于RAG(檢索增強生成)技術(shù)的應(yīng)用,使開發(fā)者能夠輕松構(gòu)建具備復(fù)雜對話能力的應(yīng)用程序。通過標準化的接口和強大的后端支持,Spring AI Alibaba極大地簡化了在Java項目中集成高級AI功能的過程。

后端編碼實踐:打造檢索增強的Spring AI Alibaba應(yīng)用

為了實現(xiàn)通過讀取一個名為“智能客服的專家QA.docs”的word文件來構(gòu)建向量索引,并提供對外服務(wù)的功能,我們需要按照以下步驟進行操作:

前置要求

確保你的開發(fā)環(huán)境滿足如下條件:

  • JDK版本在17或以上。
  • Spring Boot版本在3.3.x或以上。

獲取并配置API Key

  1. 登錄阿里云賬號,訪問阿里云百煉頁面,開通“百煉大模型推理”服務(wù)。
  1. 開通成功后,創(chuàng)建一個新的API Key,并記下它,用于后續(xù)配置。

設(shè)置環(huán)境變量或者通過application.properties注入API Key:

export AI_DASHSCOPE_API_KEY=YOUR_VALID_API_KEY

或者在application.properties中添加:

spring.ai.dashscope.api-key: ${AI_DASHSCOPE_API_KEY}

添加倉庫和依賴

由于所需的Spring AI Alibaba相關(guān)組件尚未提交到Maven中央倉庫,因此需要添加Spring自己的倉庫和snapshot倉庫至pom.xml文件中。

<repositories><repository><id>sonatype-snapshots</id><url>https://oss.sonatype.org/content/repositories/snapshots</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>

并在項目中引入必要的依賴項:

<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId><version>1.0.0-M2</version></dependency>

構(gòu)建RAG服務(wù)

接下來定義我們的RagService類,負責(zé)處理文檔讀取、索引構(gòu)建及查詢邏輯。

public class RagService {private final ChatClient chatClient;private final VectorStore vectorStore;private final DashScopeApi dashscopeApi = new DashScopeApi("YOUR_API_KEY");private DocumentRetriever retriever;public RagService(ChatClient chatClient, EmbeddingModel embeddingModel) {this.chatClient = chatClient;this.vectorStore = new DashScopeCloudStore(dashscopeApi, new DashScopeStoreOptions("智能客服知識庫"));this.retriever = new DashScopeDocumentRetriever(dashscopeApi,DashScopeDocumentRetrieverOptions.builder().withIndexName("智能客服知識庫").build());}public String buildIndex() {String filePath = "/path/to/智能客服的QA.docs"; // 更改為你實際文件路徑DocumentReader reader = new DashScopeDocumentCloudReader(filePath, dashscopeApi, null);List<Document> documentList = reader.get();vectorStore.add(documentList);return "SUCCESS";}public StreamResponseSpec queryWithDocumentRetrieval(String message) {return chatClient.prompt().user(message).advisors(new DocumentRetrievalAdvisor(retriever, DEFAULT_USER_TEXT_ADVISE)).stream();}
}

創(chuàng)建Controller暴露服務(wù)

最后,創(chuàng)建一個控制器來暴露構(gòu)建索引和聊天接口。

@RestController
@RequestMapping("/ai")
public class RagController {private final RagService ragService;public RagController(RagService ragService) {this.ragService = ragService;}@GetMapping("/buildIndex")public String buildIndex() {return ragService.buildIndex();}@GetMapping("/steamChat")public Flux<String> steamChat(@RequestParam(value = "input", required = false) String input, HttpServletResponse response) {if (input == null || input.isEmpty()) {input = "默認問題";}StreamResponseSpec chatResponse = ragService.queryWithDocumentRetrieval(input);response.setCharacterEncoding("UTF-8");return chatResponse.content();}
}

解釋

上述步驟首先確保了開發(fā)環(huán)境滿足基本需求并通過阿里云獲取到了必要的API密鑰。接著通過自定義倉庫地址和添加特定依賴,使得Spring應(yīng)用能夠利用阿里云提供的AI能力。RagService類實現(xiàn)了從指定文件讀取數(shù)據(jù)并構(gòu)建向量索引的過程,而RagController則提供了兩個HTTP GET方法:一個用于初始化索引(/buildIndex),另一個用于基于構(gòu)建好的索引來響應(yīng)用戶的查詢請求(/steamChat)。這種方式允許開發(fā)者靈活地使用外部文檔作為信息來源,增強了應(yīng)用程序與用戶之間的交互體驗。

React實戰(zhàn):構(gòu)建實時聊天應(yīng)用教程


為了基于React構(gòu)建一個簡單的支持流輸出的前端項目,我們可以遵循以下步驟。這個項目的后端接口位于?http://localhost:8080/ai/steamChat?input=…,并且返回類型為?Flux<String>。

1. 創(chuàng)建一個新的 React 應(yīng)用并安裝所需依賴

首先,使用create-react-app創(chuàng)建一個新的React應(yīng)用,并進入項目目錄安裝必要的npm包:

npx create-react-app frontend
cd frontend
npm install

2. 編寫基礎(chǔ)HTML文件

編輯public/index.html以設(shè)置基本的文檔結(jié)構(gòu):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Stream Chat App</title></head><body><div id="root"></div></body></html>

3. 配置入口文件

修改src/index.js來渲染根組件App:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';ReactDOM.render(<React.StrictMode><App /></React.StrictMode>,document.getElementById('root')
);

4. 設(shè)計主應(yīng)用組件

src/App.js中定義App組件,它將作為整個應(yīng)用程序的容器,并引入聊天組件:

import React from 'react';
import ChatComponent from './components/ChatComponent';function App() {return (<div className="App"><ChatComponent /></div>);
}export default App;

5. 實現(xiàn)聊天組件

最后,在src/components/ChatComponent.js內(nèi)編寫實際處理用戶輸入和顯示消息邏輯的部分。這部分代碼會發(fā)送請求到給定的后端URL,并處理從服務(wù)器接收到的數(shù)據(jù)流。

import React, { useState } from 'react';function ChatComponent() {const [input, setInput] = useState('');const [messages, setMessages] = useState('');const handleInputChange = (event) => {setInput(event.target.value);};const handleSendMessage = async () => {try {const response = await fetch(`http://localhost:8080/ai/steamChat?input=${input}`);if (!response.ok) throw new Error("Network response was not ok");const reader = response.body.getReader();const decoder = new TextDecoder('utf-8');let done = false;while (!done) {const { value, done: readerDone } = await reader.read();done = readerDone;const chunk = decoder.decode(value, { stream: true });setMessages((prevMessages) => prevMessages + chunk);}} catch (error) {console.error('Failed to fetch:', error);}};const handleClearMessages = () => {setMessages('');};return (<div><inputtype="text"value={input}onChange={handleInputChange}placeholder="Enter your message"/><button onClick={handleSendMessage}>Send</button><button onClick={handleClearMessages}>Clear</button><div><h3>Messages:</h3><pre>{messages}</pre></div></div>);
}export default ChatComponent;

上述代碼段展示了如何通過異步函數(shù)handleSendMessage向后端發(fā)起請求,并讀取響應(yīng)體中的數(shù)據(jù)流。每次接收到新數(shù)據(jù)時,都會更新狀態(tài)變量messages以反映最新的消息內(nèi)容。

6. 啟動項目

完成所有配置與編碼后,您可以通過執(zhí)行以下命令啟動前端開發(fā)服務(wù)器:

npm start

這將使您的應(yīng)用在本地開發(fā)環(huán)境中運行于http://localhost:3000


這段描述提供了一個詳細的指南來幫助開發(fā)者理解如何根據(jù)需求建立一個簡單的基于React的支持流輸出的前端項目。它覆蓋了從初始化項目直到實現(xiàn)關(guān)鍵功能(如發(fā)送消息及實時接收響應(yīng))的全過程。

http://www.risenshineclean.com/news/66122.html

相關(guān)文章:

  • 自己做網(wǎng)站需要服務(wù)器嗎google付費推廣
  • flash 網(wǎng)站頭部東莞做網(wǎng)站公司電話
  • wordpress 輪播圖插件下載惠州抖音seo
  • 網(wǎng)站 http 狀態(tài)碼返回值 301百度在線識圖查圖片
  • 怎么用自己的主機做網(wǎng)站服務(wù)器嗎企業(yè)宣傳片文案
  • 美國做ppt的網(wǎng)站有人百度看片嗎
  • 公司網(wǎng)站制作哪家公司好百度網(wǎng)站app下載
  • 做那種網(wǎng)站受歡迎網(wǎng)絡(luò)公司網(wǎng)頁設(shè)計
  • 國外網(wǎng)購網(wǎng)站十大排名seo站長常用工具
  • vi設(shè)計 站酷公司網(wǎng)站推廣方法
  • 免費制作視頻安徽網(wǎng)絡(luò)優(yōu)化公司
  • 網(wǎng)站建設(shè) 王衛(wèi)洲關(guān)鍵詞排名優(yōu)化易下拉排名
  • 網(wǎng)站建設(shè)域名什么意思付費推廣有幾種方式
  • 北京知名網(wǎng)站建設(shè)公司東莞百度seo哪里強
  • 我英文網(wǎng)站建設(shè)石家莊網(wǎng)站seo
  • 南昌網(wǎng)站建設(shè)公司好么外貿(mào)營銷型網(wǎng)站設(shè)計
  • c 網(wǎng)站開發(fā) 視頻網(wǎng)絡(luò)營銷案例分析論文
  • 網(wǎng)站制作二級網(wǎng)頁怎么做網(wǎng)絡(luò)推廣預(yù)算方案
  • wordpress的圖片插件優(yōu)化防疫措施
  • 山西互聯(lián)網(wǎng)公司ui設(shè)計師招聘網(wǎng)aso關(guān)鍵詞排名優(yōu)化是什么
  • 精品網(wǎng)站建設(shè)公司域名查詢官網(wǎng)
  • 網(wǎng)站推廣軟文范例排名優(yōu)化哪家專業(yè)
  • 上海做網(wǎng)站公司品劃網(wǎng)絡(luò)app推廣平臺有哪些
  • 三合一網(wǎng)站和傳統(tǒng)網(wǎng)站百度賬號管理中心
  • 群團組織網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷與管理
  • 網(wǎng)站建設(shè)需要政府集中采購嗎百度快照投訴中心人工電話
  • 微站是什么意思網(wǎng)站設(shè)計開發(fā)網(wǎng)站
  • 微信的微網(wǎng)站模板下載不了營銷型網(wǎng)站策劃書
  • 中衛(wèi)網(wǎng)站推廣制作電商培訓(xùn)課程
  • 建站之星備案百度推廣售后