1.LLM常見應(yīng)用

  1. 文本到文本:摘要、翻譯、問答 文本到文本應(yīng)用程序通常屬于自然語(yǔ)言處理 (NLP) 的范疇,采用 Transformer 模型或 BERT(Transformers 的雙向編碼器表示)等復(fù)雜算法。在文本摘要的背景下,Rouge Score 或 BLEU(雙語(yǔ)評(píng)估研究)指標(biāo)等技術(shù)可以評(píng)估生成的摘要的質(zhì)量。對(duì)于企業(yè)來說,這對(duì)于自動(dòng)總結(jié)冗長(zhǎng)的報(bào)告、從而更快地做出決策來說非常寶貴。文本翻譯服務(wù)通常采用在并行語(yǔ)料庫(kù)上接受過培訓(xùn)的領(lǐng)域LLM,并使用 METEOR 等指標(biāo)進(jìn)行評(píng)估。這些服務(wù)對(duì)于全球運(yùn)營(yíng)的企業(yè)至關(guān)重要,可以實(shí)現(xiàn)跨越語(yǔ)言障礙的無縫溝通。問答平臺(tái)通常依賴上下文感知算法來提供高度準(zhǔn)確的答案。企業(yè)可以將領(lǐng)域LLM集成到支持系統(tǒng)中,以實(shí)現(xiàn)實(shí)時(shí)、有數(shù)據(jù)支持的響應(yīng)。
  2. 語(yǔ)音轉(zhuǎn)文本:轉(zhuǎn)錄服務(wù)、聲控助手 語(yǔ)音轉(zhuǎn)文本技術(shù)的關(guān)鍵在于自動(dòng)語(yǔ)音識(shí)別 (ASR) 系統(tǒng)。ASR 系統(tǒng)采用隱馬爾可夫模型或深度神經(jīng)網(wǎng)絡(luò)來轉(zhuǎn)錄口語(yǔ)單詞。企業(yè)可以利用 ASR 系統(tǒng)在電話會(huì)議期間提供自動(dòng)實(shí)時(shí)轉(zhuǎn)錄服務(wù),創(chuàng)建易于搜索和存檔的文本記錄。聲控助手采用 ASR 和 NLP 來執(zhí)行命令。這里的商業(yè)應(yīng)用范圍從促進(jìn)倉(cāng)庫(kù)中的免提操作到零售業(yè)中復(fù)雜的客戶交互系統(tǒng)。

3.圖像轉(zhuǎn)文本:圖像字幕、OCR(光學(xué)字符識(shí)別) 圖像到文本結(jié)合使用卷積神經(jīng)網(wǎng)絡(luò) (CNN) 進(jìn)行特征提取,并結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN) 或 Transformer 生成相應(yīng)的文本。OCR 技術(shù)專門采用二值化等圖像預(yù)處理技術(shù),并采用 k-NN 或 SVM 等機(jī)器學(xué)習(xí)分類器。對(duì)于企業(yè)來說,領(lǐng)域LLM可以轉(zhuǎn)化為搜索引擎優(yōu)化視覺內(nèi)容的自動(dòng)標(biāo)記、發(fā)票的自動(dòng)分類等等。

  1. 代碼生成:自動(dòng)生成代碼片段,修復(fù)Bug 在編碼數(shù)據(jù)庫(kù)上訓(xùn)練的復(fù)雜語(yǔ)言模型可以預(yù)測(cè)可能的代碼片段,從而加快軟件開發(fā)周期。領(lǐng)域LLM通常采用抽象語(yǔ)法樹或控制流圖來提高準(zhǔn)確性。在錯(cuò)誤修復(fù)中,集成靜態(tài)代碼分析工具來識(shí)別漏洞,機(jī)器學(xué)習(xí)模型建議適當(dāng)?shù)男迯?fù)。這提高了業(yè)務(wù)應(yīng)用程序的效率和穩(wěn)健性。
  2. 聊天機(jī)器人:客戶支持、交互式常見問題解答 業(yè)務(wù)環(huán)境中的聊天機(jī)器人通常使用決策樹、有狀態(tài) LSTM 網(wǎng)絡(luò)甚至更高級(jí)的架構(gòu)(例如 GPT(生成式預(yù)訓(xùn)練變壓器))構(gòu)建。這些聊天機(jī)器人通常接受企業(yè)歷史客戶服務(wù)交互的培訓(xùn),這使它們能夠更切合實(shí)際地解決問題。除了客戶支持之外,他們還可以執(zhí)行從潛在客戶開發(fā)到自動(dòng)追加銷售的各種角色,從而顯著降低人力成本。
  3. 情緒分析:通過評(píng)論或社交媒體確定客戶情緒 情感分析通常采用自然語(yǔ)言理解 (NLU)(NLP 的一個(gè)子領(lǐng)域)來識(shí)別表明情感的語(yǔ)言中的細(xì)微差別。通常使用 TextBlob、VADER(Valence Aware Dictionary 和 sEtiment Reasoner)以及更先進(jìn)的神經(jīng)網(wǎng)絡(luò)模型。企業(yè)可以將情緒分析集成到 CRM 系統(tǒng)中,從而實(shí)現(xiàn)實(shí)時(shí)客戶情緒跟蹤和更有針對(duì)性的客戶互動(dòng)。
  4. 數(shù)據(jù)清理:識(shí)別并糾正錯(cuò)誤的數(shù)據(jù)條目 數(shù)據(jù)清理過程通常采用無監(jiān)督學(xué)習(xí)算法(例如 k 均值聚類或分層聚類)來識(shí)別錯(cuò)誤或異常數(shù)據(jù)點(diǎn)。此外,可以配置決策樹或基于規(guī)則的系統(tǒng)來識(shí)別結(jié)構(gòu)化數(shù)據(jù)中的不一致之處。對(duì)于企業(yè)而言,數(shù)據(jù)清洗可確保分析的可靠性,這對(duì)于戰(zhàn)略規(guī)劃和運(yùn)營(yíng)效率至關(guān)重要。
  5. 異常檢測(cè):識(shí)別數(shù)據(jù)集中的異常值或異常值 對(duì)于異常檢測(cè),通常使用 Z 分?jǐn)?shù)等統(tǒng)計(jì)技術(shù)或隔離森林等機(jī)器學(xué)習(xí)算法。時(shí)間序列數(shù)據(jù)可能會(huì)使用長(zhǎng)短期記憶網(wǎng)絡(luò) (LSTM) 來檢測(cè)隨時(shí)間變化的異常情況。企業(yè)可以在欺詐檢測(cè)、制造質(zhì)量控制或市場(chǎng)趨勢(shì)預(yù)測(cè)等各個(gè)領(lǐng)域使用異常檢測(cè),從而預(yù)先識(shí)別和減輕風(fēng)險(xiǎn)。

通過了解這些各種領(lǐng)域LLM功能的技術(shù)基礎(chǔ)和業(yè)務(wù)應(yīng)用,企業(yè)可以就如何將領(lǐng)域LLM整合到其運(yùn)營(yíng)中以產(chǎn)生最大影響做出更明智的決策。

1.0 ChatIE:通過多輪問答問題實(shí)現(xiàn)實(shí)命名實(shí)體識(shí)別和關(guān)系事件的零樣本信息抽取

零樣本信息抽取(Information Extraction,IE)旨在從無標(biāo)注文本中建立IE系統(tǒng),因?yàn)楹苌偕婕叭藶楦深A(yù),該問題非常具有挑戰(zhàn)性。但零樣本IE不再需要標(biāo)注數(shù)據(jù)時(shí)耗費(fèi)的時(shí)間和人力,因此十分重要。近來的大規(guī)模語(yǔ)言模型(例如GPT-3,Chat GPT)在零樣本設(shè)置下取得了很好的表現(xiàn),這啟發(fā)我們探索基于提示的方法來解決零樣本IE任務(wù)。我們提出一個(gè)問題:不經(jīng)過訓(xùn)練來實(shí)現(xiàn)零樣本信息抽取是否可行?我們將零樣本IE任務(wù)轉(zhuǎn)變?yōu)橐粋€(gè)兩階段框架的多輪問答問題(Chat IE),并在三個(gè)IE任務(wù)中廣泛評(píng)估了該框架:實(shí)體關(guān)系三元組抽取、命名實(shí)體識(shí)別和事件抽取。在兩個(gè)語(yǔ)言的6個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,Chat IE取得了非常好的效果,甚至在幾個(gè)數(shù)據(jù)集上(例如NYT11-HRL)上超過了全監(jiān)督模型的表現(xiàn)。我們的工作能夠?yàn)橛邢拶Y源下IE系統(tǒng)的建立奠定基礎(chǔ)。

1.1RAG檢索增強(qiáng)生成—-LangChain

LangChain的目的是為了開發(fā)應(yīng)用,通過模塊組合的方式使用LLM,并與其他模塊組合的方式來創(chuàng)造應(yīng)用。可以理解為L(zhǎng)angchain本身并不提供LLM模型,只是對(duì)LLM抽象,把LLM當(dāng)作一個(gè)功能模塊使用。LangChain能夠連接LLM的能力與目前已有的其他能力,創(chuàng)造能力更強(qiáng)大的應(yīng)用。

實(shí)現(xiàn)原理如圖所示,過程包括加載文件 -> 讀取文本 -> 文本分割 -> 文本向量化 -> 問句向量化 -> 在文本向量中匹配出與問句向量最相似的top k個(gè) -> 匹配出的文本作為上下文和問題一起添加到prompt中 -> 提交給LLM生成回答。 可以看到,核心是將本地答案數(shù)據(jù)集轉(zhuǎn)為向量存儲(chǔ)到向量數(shù)據(jù),當(dāng)用戶輸入查詢的問題時(shí),把問題轉(zhuǎn)為向量然后從向量數(shù)據(jù)庫(kù)中查詢相近的答案topK 這個(gè)時(shí)候其實(shí)就是我們最普遍的問答查詢方案,在沒有大模型的時(shí)候就直接返回相關(guān)的答案整個(gè)流程就結(jié)束了。現(xiàn)在有大模型了可以優(yōu)化回答內(nèi)容的整體結(jié)構(gòu)。 核心一:文本切割 核心二:embedding及向量化存儲(chǔ) 核心點(diǎn)三:LLM總結(jié) 通過embedding向量化文本后可根據(jù)需要召回TopK的chunk文檔,并按照類似如下的prompt template灌給大模型進(jìn)行總結(jié)。

"""
已知信息:{context}
根據(jù)上述已知信息,簡(jiǎn)潔和專業(yè)的來回答用戶的問題。如果無法從中得到答案,請(qǐng)說 “根據(jù)已知信息無法回答該問題” 或 “沒有提供足夠的相關(guān)信息”,不允許在答案中添加編造成分,答案請(qǐng)使用中文。
問題是:{question}
"""

1.2 AIGC技術(shù)應(yīng)用

AIGC(Artificial Intelligence Generated Content,人工智能生成內(nèi)容)是一種利用人工智能技術(shù)生成各種形式內(nèi)容的方法。這些內(nèi)容包括文本、圖像、音頻、視頻等。

AIGC技術(shù)的應(yīng)用范圍非常廣泛,包括但不限于以下幾個(gè)方面:

文本生成:使用自然語(yǔ)言處理技術(shù),根據(jù)給定的輸入,自動(dòng)生成符合語(yǔ)法和語(yǔ)義規(guī)則的文章、故事、廣告語(yǔ)等。 圖像生成:利用計(jì)算機(jī)視覺技術(shù),根據(jù)給定的輸入,自動(dòng)生成符合要求的圖片、海報(bào)、漫畫等。 音頻生成:使用語(yǔ)音合成技術(shù),根據(jù)給定的文字或語(yǔ)音輸入,自動(dòng)生成符合要求的音頻文件,如語(yǔ)音助手、語(yǔ)音導(dǎo)航等。 視頻生成:利用計(jì)算機(jī)視覺和語(yǔ)音識(shí)別技術(shù),根據(jù)給定的輸入,自動(dòng)生成符合要求的視頻文件,如智能監(jiān)控、智能安防等。 AIGC技術(shù)的應(yīng)用不僅可以提高內(nèi)容生成的效率和質(zhì)量,還可以降低內(nèi)容制作的成本和風(fēng)險(xiǎn)。例如,在媒體和廣告行業(yè),AIGC技術(shù)可以快速生成符合品牌調(diào)性和用戶需求的文章、圖片和視頻,提高品牌曝光和用戶粘性。在游戲行業(yè),AIGC技術(shù)可以自動(dòng)生成游戲場(chǎng)景、角色和道具等,提高游戲開發(fā)效率和質(zhì)量。

LLM 進(jìn)行圖像識(shí)別與傳統(tǒng) OCR 對(duì)比時(shí)的主要缺點(diǎn)

LLM 的缺點(diǎn)

  1. 高計(jì)算資源需求:
  1. 數(shù)據(jù)隱私和安全問題:
  1. 模型復(fù)雜性和可解釋性差:
  1. 訓(xùn)練時(shí)間和成本:
  1. 泛化能力的局限性:
  1. 實(shí)時(shí)性和延遲:
  1. 模型大小和存儲(chǔ):

與傳統(tǒng) OCR 的對(duì)比

  1. 技術(shù)成熟度:
  1. 成本效益:
  1. 應(yīng)用場(chǎng)景:

識(shí)別圖型驗(yàn)證碼

今天我們來看的場(chǎng)景是 圖型驗(yàn)證碼識(shí)別,使用公網(wǎng)大模型API起成本高效識(shí)別圖型驗(yàn)證碼

提示詞

請(qǐng)對(duì)這張圖片進(jìn)行OCR識(shí)別,并輸出最準(zhǔn)確的驗(yàn)證碼,直接輸出識(shí)別出的結(jié)果字符,不要輸出其他內(nèi)容。

文心一言3.5

通義千問2.5

通義千問2-VL-開源版-7B

圖片理解qwen2-vl-7b

關(guān)于7B模型

一般來說,7B參數(shù)量的模型在推理時(shí)可能需要至少8GB到16GB的GPU顯存,但這只是一個(gè)粗略的估計(jì)。為了更準(zhǔn)確地評(píng)估所需GPU顯存,建議參考該模型官方提供的文檔或測(cè)試環(huán)境中的具體要求。如果是在本地運(yùn)行,還應(yīng)該考慮是否進(jìn)行了任何優(yōu)化措施,比如混合精度訓(xùn)練(使用FP16而非FP32),這可以有效減少所需的顯存量。如果您打算進(jìn)行模型訓(xùn)練而不是簡(jiǎn)單的推理,那么可能還需要更多的顯存來存儲(chǔ)梯度信息和其他訓(xùn)練過程中產(chǎn)生的數(shù)據(jù)。

KIMI

Gemini 1.5 Flash

做 OCR 效果非常好,可以在 Prompt 里面定制要輸出的格式,并且成本極低。 案例有寶玉反饋其朋友某公司使用第三方的OCR的服務(wù),用來提取發(fā)票上的文字為結(jié)構(gòu)化數(shù)據(jù)。但收費(fèi)較高.
參考提示詞: *** Extract text from the provided image and organize it into a structured JSON format. ***

Google 每天為開發(fā)者免費(fèi)提供15億個(gè)Token,其中 Gemini 1.5 Flash免費(fèi)套餐包含: – 每分鐘15次請(qǐng)求(RPM) – 每分鐘100萬個(gè)Token(TPM) – 每天1,500次Token(RPD) – 免費(fèi)上下文緩存服務(wù),每小時(shí)最多可存儲(chǔ)100萬個(gè)Token – 免費(fèi)微調(diào) Gemini 1.5 Pro免費(fèi)套餐包含: – 每分鐘2次請(qǐng)求(RPM) – 每分鐘32,000個(gè)Token(TPM) – 每天50次請(qǐng)求(RPD) 微調(diào)模型 text-embedding-004 提供: – 每分鐘1,500次請(qǐng)求(RPM) 除了前面說的 API,Google AI Studio 還為開發(fā)者提供免費(fèi)訪問,其中 Gemini 1.5 Pro 有 2M Token上下文窗口。 價(jià)格頁(yè)面:https://ai.google.dev/pricing Google AI Studio:https://aistudio.google.com

發(fā)票識(shí)別示例場(chǎng)景

代碼實(shí)現(xiàn)

import os
import json
import base64
import requests
from datetime import datetime

class AliBailianImageService:
def __init__(self, configuration):
self.configuration = configuration

def get_api_key(self):
# 根據(jù)環(huán)境變量決定從哪里讀取 API Key
dev_environment_variable = os.getenv("ENVIRONMENT")
is_development = not dev_environment_variable or dev_environment_variable.lower() == "development"

if is_development:
# 開發(fā)環(huán)境從配置中讀取
api_key = self.configuration.get("DASHSCOPE_API_KEY")
else:
# 生產(chǎn)環(huán)境從環(huán)境變量讀取
api_key = os.getenv("DASHSCOPE_API_KEY")

# 若沒有配置環(huán)境變量,請(qǐng)用百煉API Key將下行替換為:api_key = "sk-xxx"
if not api_key:
print("API Key 未設(shè)置。請(qǐng)確保環(huán)境變量 'DASHSCOPE_API_KEY' 已設(shè)置。")
return None

return api_key

def get_image_base64_string_and_save(self, image_url):
response = requests.get(image_url)
if response.status_code != 200:
raise Exception(f"Failed to download image: {response.status_code}")

image_data = response.content
encoded_image = base64.b64encode(image_data).decode('utf-8')

# 可選步驟:保存圖片到文件
# filename = f"{uuid.uuid4()}.jpg"
# with open(filename, 'wb') as f:
# f.write(image_data)

return encoded_image

def send_post_request(self, url, json_content, api_key):
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
"Accept": "application/json"
}

response = requests.post(url, data=json_content, headers=headers)
response_body = response.text

self.write_response_to_log(response_body)

if response.status_code >= 200 and response.status_code < 300:
return response_body
else:
return f"請(qǐng)求失敗: {response.status_code}"

def write_response_to_log(self, response_body):
log_file_path = "Logs/response.log"
log_dir = os.path.dirname(log_file_path)

if not os.path.exists(log_dir):
os.makedirs(log_dir)

with open(log_file_path, 'a') as f:
f.write(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] Response Body: {response_body}\n")

def get_results(self):
api_key = self.get_api_key()
if not api_key:
return None

encoded_image = self.get_image_base64_string_and_save(
"http://0.0.0.0/7661454/captchaimage?rnd=0.8717223995099175"
)

url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
json_content = {
"model": "qwen2-vl-7b-instruct",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "請(qǐng)對(duì)這張圖片進(jìn)行OCR識(shí)別,并輸出最準(zhǔn)確的驗(yàn)證碼,直接輸出識(shí)別出的結(jié)果字符,不要輸出其他內(nèi)容。"},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{encoded_image}"}}
]
}
]
}

json_content_str = json.dumps(json_content)

result = self.send_post_request(url, json_content_str, api_key)
print(result)
return result

if __name__ == "__main__":
# 示例配置
config = {
"DASHSCOPE_API_KEY": "your-api-key-here"
}

service = AliBailianImageService(config)
result = service.get_results()
if result:
print("Result:", result)

通義千問2-VL-開源版-2B

通義千問VL模型qwen2-vl-2b-instruct可以根據(jù)您傳入的圖片來進(jìn)行回答,curl參考

curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "qwen-vl-max", "input":{ "messages":[ { "role": "user", "content": [ {"image": "https://img.alicdn.com/imgextra/i2/O1CN01y1lotD1hINrPr60fs_!!6000000004254-0-tps-1384-3024.jpg"}, {"text": "這是什么?"} ] } ] } }'


事實(shí)情況下獨(dú)立部署也可以

測(cè)試圖片進(jìn)行識(shí)別

返回示例

[2024-11-06 16:14:22] Response Body: {"choices":[{"message":{"content":"\"bafy\"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":60,"completion_tokens":6,"total_tokens":66},"created":1730880859,"system_fingerprint":null,"model":"qwen-vl-plus","id":"chatcmpl-5a306496-300c-9815-8c50-35e98f15508d"}

目前僅供免費(fèi)體驗(yàn),另一個(gè)官方示例是視覺語(yǔ)言模型輸出示例

傳統(tǒng)OCR工具提取的內(nèi)容不完整且格式混亂。大模型不僅能精準(zhǔn)提取圖片中的文字,還能以規(guī)整的形式輸出。

通義千問團(tuán)隊(duì)以Apache 2.0協(xié)議開源了Qwen2-VL-2B和Qwen2-VL-7B,開源代碼已集成到Hugging Face Transformers、vLLM和其他第三方框架中。開發(fā)者可以通過Hugging Face和魔搭ModelScope下載使用模型,也可通過通義官網(wǎng)、通義APP的主對(duì)話頁(yè)面使用模型。

圖片理解

https://bailian.console.aliyun.com/#/model-market/detail/qwen2-vl-2b-instruct?tabKey=sdk

視覺理解

https://help.aliyun.com/zh/model-studio/user-guide/vision?spm=a2c4g.11186623.help-menu-2400256.d_1_0_2.5ef477e9sJEdx7&scm=20140722.H_2845871._.OR_help-V_1#f1cbd5b8a8k5w

阿里云百煉平臺(tái):

https://help.aliyun.com/zh/model-studio/developer-reference/qwen-vl-api

GitHub:

https://github.com/QwenLM/Qwen2-VL

HuggingFace:

https://huggingface.co/collections/Qwen/qwen2-vl-66cee7455501d7126940800d

魔搭ModelScope:

https://modelscope.cn/organization/qwen?tab=model

模型體驗(yàn):

https://huggingface.co/spaces/Qwen/Qwen2-VL

https://qwen.readthedocs.io/en/latest/benchmark/speed_benchmark.html

文章轉(zhuǎn)自微信公眾號(hào)@機(jī)器學(xué)習(xí)AI算法工程

上一篇:

不止Cursor,2024年AI代碼工具終極指南

下一篇:

OpenAI Assistants API 極簡(jiǎn)入門(附LangChain集成)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)