瞭解如何使用 Oracle Database 23ai、OCI AI 服務和 RAG 建置具有非結構化資料的 AI 聊天機器人。
瞭解如何使用 OCI Generative AI 建置職能發展系統,以分析、總結並提供員工成長建議。
使用 AI,透過即時分類、情感分析和即時回覆自動處理電子郵件任務,以實現高效工作流程。
在快節奏的軟體開發世界中,隨時掌握最新資訊至關重要。想像一下,如果有一個 AI 助理可以迅速將複雜的網頁內容轉化為簡潔、易於理解和分享的形式,那將會是多麼好。這是 Oracle Cloud Infrastructure (OCI) Generative AI 可協助您實現的眾多功能之一。
以下是如何使用 OCI Generative AI 建置這類 AI 助理的範例。
這款由 AI 驅動的 GitHub 趨勢專案摘要工具是一個個人化的內容生成引擎,能自動擷取並總結 GitHub 上 25 個最熱門的專案。OCI Generative AI 能夠擷取、讀取並整合每個專案的 README 檔案,生成簡潔、引人入勝且具資訊性的摘要,方便與他人共享。
只要修改 summarize_llm.py
中的 model_id
變數,即可輕鬆切換透過 OCI Generative AI 提供的多個 LLM。
上述為可用模型的子集。我們不斷推出更新的模型。
以下是呼叫 OCI Generative AI 的程式碼片段:
content.text = """Generate an abstractive summary of the given Markdown contents. Here are the contents to summarize: {}""".format(summary_txt)
chat_detail.content = content.text
chat_detail.serving_mode = oci.generative_ai_inference.models.OnDemandServingMode(model_id="meta.llama-3.1-405b-instruct") # configurable model chat_response = generative_ai_inference_client.chat(chat_detail)
檢索增強生成 (RAG) 是 AI 最重要的使用案例之一。RAG 讓您無需重新訓練即可增強 LLM 的知識。LLM 可以從資料庫或其他來源提取新資訊,並快速呈現給最終使用者。
這樣一來,LLM 能夠獲取最新的知識,而不受訓練時間和推論時間的限制。因此,透過更新的資料,幾乎可以不費吹灰之力就讓 LLM 更聰明。
將文件上傳至 Oracle Cloud Infrastructure (OCI) GenAI Agents 後,該服務將處理資料,並提供透過聊天機器人使用資料的方法。
以下是在 OCI 中使用 RAG 代理的程式碼範例:
# ask a question to RAG agent question = "What steps do I take if I have a new patient under the patient admission recommendations?" # Initialize service client with default config file agent_runtime_client = GenerativeAiAgentRuntimeClient(config)
chat_response = agent_runtime_client.chat( agent_endpoint_id="ocid1.test.oc1..<id>", chat_details=ChatDetails(user_message=question))
# Get the data from response print(chat_response.data)
Oracle Database 23ai 支援所有現代化資料類型和工作負載 (包括向量),並直接在資料庫內整合 AI 和機器學習功能。藉由產生和儲存有問題資料的向量內嵌,開發人員可以使用數學計算來搜尋語意相似性。此技術允許使用簡單 SQL 結合相似性搜尋與業務資料搜尋,因此任何對 SQL 有基本瞭解的人,都可以發揮其強大功能。
透過在 Oracle Database 23ai 上執行 Oracle APEX (低程式碼應用程式平台),Oracle AI Vector Search 功能無需額外付費。APEX 開發人員可在其應用程式中順暢地包含這些進階搜尋功能,從而建立更準確的內容感知結果。
此案例將使用 Oracle Database 23ai 中的 AI Vector Search 在 Oracle APEX 中導入語意搜尋。
以下是將影像描述轉換成向量並儲存在資料庫中的程式碼:
UPDATE SM_POSTS
SET
AI_IMAGE_VECTOR = TO_VECTOR(VECTOR_EMBEDDING ( DOC_MODEL
USING AI_IMAGE_DESCRIPTION AS DATA
));
現在我們有向量,我們可以使用它們來執行語意搜尋 。在此示範中,我們可以在「卡片區域」的來源查詢中執行:
SELECT A.*, TO_CHAR(ROUND(VECTOR_DISTANCE,2), '0.99')AS VECTOR_DISTANCE_DISPLAY FROM
(SELECT
p.id,
p.user_name,
p.comment_text,
p.file_blob,
p.file_mime,
p.post_date,
p.REACTIONS,
p.USER_REACTION_CSS,
p.CREATED,
(
CASE
WHEN :P1_SEARCH IS NOT NULL AND :P1_VECTOR_SEARCH = 'Y'
THEN VECTOR_DISTANCE (
TO_VECTOR(VECTOR_EMBEDDING (doc_model USING :P1_SEARCH AS data)),
ai_image_vector
)
ELSE NULL
END
) AS vector_distance,
ai_image_description
FROM
mv_SM_POSTS p
WHERE
(:P1_VECTOR_SEARCH <> 'Y' AND :P1_SEARCH IS NOT NULL AND UPPER(ai_image_description) LIKE UPPER('%'||:P1_SEARCH||'%'))
OR :P1_VECTOR_SEARCH = 'Y'
OR :P1_SEARCH IS NULL
ORDER BY
vector_distance ASC, p.CREATED asc) A
Oracle Database 23ai 與 AI Vector Search 結合了 Oracle APEX,可讓開發人員以更佳的搜尋功能快速建立情境感知應用程式。
如本案例所示,生成式 AI 在協助總結情緒方面尤其有用。一個電子商務網站可能有數百個庫存單位 (SKU),每個庫存單位有數十條評論。為了幫助快速總結產品評論,開發人員可以利用 HeatWave GenAI 的整合功能,使用資料庫內的大型語言模型和自動化的資料庫內向量儲存。
HeatWave GenAI 也可協助翻譯及分析隨選情感。所有作業都可透過 HeatWave GenAI 自動化,讓摘要在新增複查時保持在最新狀態。
透過在 HeatWave 內保存資料和處理,開發人員可以根據其 GenAI 需求擴展解決方案,讓 AI 就像資料庫查詢一樣簡單。
以下是說明正面評價總結的程式碼片段:
SELECT "################### Computing summaries for EXISTING reviews on a product ###################" AS "";
SELECT "" AS "";
CALL SUMMARIZE_TRANSLATE(1, "POSITIVE", "en", @positive_english_summary);
SELECT @positive_english_summary AS "--- English summary of positive reviews on the T-Shirt ---";
開源 LLM (例如 Hugging Face 所建立的 LLM) 是功能強大的工具,可讓開發人員快速試用 GenAI 解決方案。Kubernetes 與 Oracle Cloud Infrastructure (OCI) 結合,提供可擴展的 GenAI 解決方案,同時提供彈性、可移植性及抗逆力。
在本示範中,您將瞭解如何在託管 Kubernetes 服務的 OCI Kubernetes 引擎上部署微調 LLM 推論容器,以簡化企業的大規模部署和作業。開發人員無須仰賴第三方推論 API,就能將自訂模型和資料集保留在自己的租用戶中。
我們將使用「文字產生推論」作為推論架構來公開 LLM。
以下是說明如何部署開源 LLM 的程式碼片段:
# select model from HuggingFace
model=HuggingFaceH4/zephyr-7b-beta
# deploy selected model
docker run ghcr.io/huggingface/text-generation-inference:2.0 --model-id $model
# invoke the deployed model
curl IP_address:port/generate_stream \
-X POST \
-d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":50}}' \
-H 'Content-Type: application/json'
Oracle Code Assist 是一個 AI 程式碼夥伴,旨在協助提升開發人員速度及強化程式碼一致性。Oracle Code Assist 由 Oracle Cloud Infrastructure (OCI) 上的大型語言模型 (LLM) 支援,並對 OCI 上的 Java、SQL 和應用程式開發進行微調和最佳化,為開發人員提供相關資訊環境特定建議。您可以根據組織的最佳做法和程式碼庫量身打造。
該外掛程式目前處於測試階段,適用於 JetBrains IntelliJ IDEA 和 Microsoft Visual Studio Code,可協助編寫文件、理解舊版程式碼和編寫程式碼。
若要瞭解如何加入 Beta 方案並開始使用,請造訪我們的 GitHub 儲存庫。