
為什么要使用Google My Business Reviews API
模塊 | 選型 | 關(guān)鍵指標(biāo) | 開(kāi)源/官網(wǎng) |
---|---|---|---|
文檔解析 | LangChain | 支持 PDF、HTML、Markdown | https://python.langchain.com |
向量庫(kù) | Weaviate ?? | 平均檢索 P99 22 ms | https://weaviate.io |
大模型 | Azure OpenAI GPT-4o | 首 token 延遲 350 ms | https://azure.microsoft.com/products/ai-services/openai-service |
API 框架 | FastAPI ? | QPS 1k+ | https://fastapi.tiangolo.com |
監(jiān)控 | Prometheus ?? + Grafana | 告警延遲 15 s | https://prometheus.io |
維度 | 描述 |
---|---|
用戶 | ADP 內(nèi)部學(xué)員、講師、助教 |
場(chǎng)景 | Web 端、企業(yè)微信機(jī)器人、IDE 插件 |
SLA | P95 問(wèn)答延遲 ≤ 500 ms |
知識(shí)源 | 課程手冊(cè) 38 份、實(shí)驗(yàn)手冊(cè) 12 份、歷屆 FAQ 5k 條 |
課程編號(hào): ADP-303
章節(jié): Lab3 Kubernetes 網(wǎng)絡(luò)
內(nèi)容: 使用 Calico 作為 CNI,默認(rèn) IPPool 為 192.168.0.0/16...
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
loader = DirectoryLoader("data/", glob="**/*.pdf")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50
)
chunks = splitter.split_documents(docs)
import weaviate
client = weaviate.Client("http://localhost:8080")
with client.batch as batch:
for c in chunks:
batch.add_data_object(
data_object={"text": c.page_content},
class_name="ADPKnowledge"
)
參數(shù) | 值 |
---|---|
Embedding 模型 | text-embedding-3-small |
維度 | 1536 |
索引類型 | HNSW |
ef_construction | 128 |
from fastapi import FastAPI
from pydantic import BaseModel
import weaviate, openai, os
app = FastAPI()
client = weaviate.Client("http://localhost:8080")
openai.api_key = os.getenv("AZURE_OPENAI_KEY")
class Query(BaseModel):
q: str
@app.post("/ask")
def ask(query: Query):
near_text = {"concepts": [query.q]}
res = client.query.get("ADPKnowledge", ["text"])\
.with_near_text(near_text)\
.with_limit(5)\
.do()
context = " ".join([r["text"] for r in res["data"]["Get"]["ADPKnowledge"]])
prompt = f"根據(jù)以下內(nèi)容回答:{context}\n問(wèn)題:{query.q}"
gpt_resp = openai.ChatCompletion.create(
engine="gpt-4o",
messages=[{"role": "user", "content": prompt}],
max_tokens=256,
temperature=0.1
)
return {"answer": gpt_resp.choices[0].message.content}
并發(fā) | 平均延遲 | P95 延遲 | 錯(cuò)誤率 |
---|---|---|---|
10 | 190 ms | 260 ms | 0 % |
50 | 310 ms | 420 ms | 0 % |
100 | 480 ms | 560 ms | 0.2 % |
結(jié)論:?jiǎn)胃北炯纯蓾M足 SLA,后續(xù)可水平擴(kuò)展。
指標(biāo) | 數(shù)值 | 備注 |
---|---|---|
問(wèn)答總量 | 12,873 | 來(lái)源:Prometheus |
命中率 | 89.4 % | 人工抽檢 200 條 |
用戶滿意度 | 4.6 / 5 | 企業(yè)微信投票 1,024 份 |
成本 | 0.003 美元/次 | Azure 賬單 |
措施 | 說(shuō)明 |
---|---|
內(nèi)容過(guò)濾 | Azure Content Safety API 雙層過(guò)濾 |
權(quán)限隔離 | Weaviate API Key + 子網(wǎng) ACL |
審計(jì)日志 | 全鏈路 Request ID,保留 30 天 |
用戶提問(wèn):
“Pod 無(wú)法跨節(jié)點(diǎn)通信,但同節(jié)點(diǎn)正常,如何排查?”
RAG 回答:
calico/node
Pod 日志是否有 BGP not ready
CALICO_IPV4POOL_IPIP=Always
結(jié)果:用戶 3 分鐘定位到防火墻策略問(wèn)題,實(shí)驗(yàn)提前 40 分鐘完成。
name: deploy-rag-api
on:
push:
branches: [main]
jobs:
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker/build-push-action@v5
with:
tags: ghcr.io/adp-it/rag-api:latest
擴(kuò)展點(diǎn) | 說(shuō)明 | 示例 |
---|---|---|
多租戶 | Weaviate 類名加前綴 | TenantA_ADPKnowledge |
多語(yǔ)言 | 引入 zh_core_web_sm |
Spacy 中文分詞 |
實(shí)時(shí)更新 | Kafka + Debezium CDC | 課程手冊(cè)更新秒級(jí)同步 |
維度 | 傳統(tǒng) FAQ | RAG 方案 |
---|---|---|
更新周期 | 1~2 周 | 分鐘級(jí) |
命中率 | 45 % | 89 % |
擴(kuò)展性 | 人工維護(hù) | 自動(dòng)切片 |
多輪對(duì)話 | 不支持 | 支持 |
通過(guò) RAG 低延遲架構(gòu),我們?cè)?2 天內(nèi)將 ADP IT 課程的零散知識(shí)轉(zhuǎn)化為可對(duì)話、可擴(kuò)展、可觀測(cè)的問(wèn)答 API;在保證安全合規(guī)的同時(shí),把平均響應(yīng)時(shí)間控制在 500 ms 以內(nèi),用戶體驗(yàn)和運(yùn)維成本實(shí)現(xiàn)雙贏。未來(lái)可繼續(xù)接入更多企業(yè)知識(shí)庫(kù),打造統(tǒng)一的企業(yè)級(jí) AI 助手底座。
為什么要使用Google My Business Reviews API
RESTful Web API 設(shè)計(jì)中要避免的 6 個(gè)常見(jiàn)錯(cuò)誤
GitHubAPI調(diào)用頻率限制的增加方法
OpenAI Responses API 使用指南:構(gòu)建智能響應(yīng)的強(qiáng)大引擎
什么是GitHubActions實(shí)現(xiàn)開(kāi)源項(xiàng)目的自動(dòng)化
使用 Whisper API 通過(guò)設(shè)備麥克風(fēng)把語(yǔ)音轉(zhuǎn)錄為文本
如何通過(guò)Password Manager(密碼管理器)的API調(diào)用保護(hù)賬戶安全
Python與FFmpeg實(shí)現(xiàn)視頻壓縮
深入解析 DeepSeek API 密鑰:獲取、使用與最佳實(shí)踐
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)