-
從互聯(lián)網(wǎng)獲取數(shù)據(jù)
查看全部 -
創(chuàng)建Python虛擬環(huán)境
查看全部 -
免費(fèi)的chatgpt網(wǎng)站
查看全部 -
流式VS非流式對(duì)比介紹 ? ?
非流式輸入的問題:
? ? 當(dāng)你從OpenAI請(qǐng)求一個(gè)完成內(nèi)容時(shí),如果你在生成長的完成內(nèi)容,等待響應(yīng)可能需要幾秒鐘的時(shí)間。影響用戶體驗(yàn)。 ? ? ??流式: ? ? ? ?
http請(qǐng)求:一問一答模式 ? ? ?
?? ?? ? ? ? ?? ?
SSE
? ? 服務(wù)其發(fā)送事件(Server-sent events ,簡稱SSE),服務(wù)器向客戶端推送數(shù)據(jù),客戶端通過事件監(jiān)聽器接收數(shù)據(jù)。
? ? 嚴(yán)格地說,Http協(xié)議無法做到服務(wù)器主動(dòng)推送信息,但是,有一種變通方法,就是服務(wù)器向客戶端聲明,接下來要發(fā)送的是流信息(streaming)。
? ? 也就是說,發(fā)送的不是一次性的數(shù)據(jù)包,而是一個(gè)數(shù)據(jù)流,會(huì)連續(xù)不斷地發(fā)送過來。這時(shí),客戶端不會(huì)關(guān)閉連接,會(huì)一直等著服務(wù)器發(fā)過來的新的數(shù)據(jù)流,視頻播放就是這樣的例子。本質(zhì)上,這種通信就是以流信息的方式,完成一次用時(shí)很長的下載。
向OpenAI請(qǐng)求流式輸出
? ? 1、要流式傳輸完成內(nèi)容,請(qǐng)?jiān)谡{(diào)用聊天完成或完成端點(diǎn)時(shí)設(shè)置stream=True.
? ? 2、使用openai-python庫解析 ? ?OpenAI流式請(qǐng)求的缺點(diǎn):
? ? 1、內(nèi)容審查問題。請(qǐng)注意,在生產(chǎn)應(yīng)用程序中使用stream=True會(huì)使內(nèi)容的審核變得更加困難,因?yàn)椴糠滞瓿蓛?nèi)容可能更難評(píng)估。
? ? ??? 向C端用戶提供服務(wù)的時(shí)候,需要注意內(nèi)容審查問題。
? ? 2、無usage字段。流式響應(yīng)的另一個(gè)小缺點(diǎn)是響應(yīng)不在包括usage字段,告訴你消耗了多少令牌。在接收和組合所有響應(yīng)后,你可以使用tiktoken自己計(jì)算這一點(diǎn)總結(jié):
? ? 簡單來說:這種流式傳輸方式使得客戶端在長內(nèi)容生成過程中無需等待整個(gè)內(nèi)容完成,就可以逐步接受到生成的內(nèi)容,從而提高了響應(yīng)速度和用戶體驗(yàn)。 ? ?查看全部 -
了解Embeddings ? ?
什么是Embeddings?(收費(fèi))
?Embeddings(嵌入)在自然語言處理(NLP)中起著至關(guān)重要的作用,他們的主要目的是將高維、離散的文本數(shù)據(jù)(如單詞或短語)轉(zhuǎn)換為低維、連續(xù)的向量表示。這些向量不僅編碼了詞本身的含義,還捕捉到了詞語之間的語義和句法關(guān)系。通過Embeddings,原本難以直接處理的文本數(shù)據(jù)可以被機(jī)器學(xué)習(xí)模型理解和操作。
? ? 它就是將 【不可計(jì)算】【非結(jié)構(gòu)化】的詞轉(zhuǎn)化為【可計(jì)算】【結(jié)構(gòu)化】的向量。
? ?
? ? 把文本數(shù)據(jù)翻譯成機(jī)器能識(shí)別的語言 ???
為什么需要將詞或句子轉(zhuǎn)成Embeddings?
? ? 1、保留語義信息
? ? 2、簡化模型輸入
? ? 3、便于計(jì)算和優(yōu)化
? ? 4、下游任務(wù)泛化能力 ? ?Embeddings在OpenAI中的使用
? ? 1、創(chuàng)建嵌入向量:通過調(diào)用OpenAI的API,您可以創(chuàng)建一個(gè)代表輸入文本的嵌入向量。
? ? 2、請(qǐng)求方法及URL
? ? https://api.openai.com/v1/embeddings
? ? 3、請(qǐng)求參數(shù):
? ? input:必填
? ? model:必填 text-embedding-ada-002 ? ?應(yīng)用:
? ? 1、搜索(通過與查詢字符串的相關(guān)性對(duì)結(jié)果進(jìn)行排序)
? ? 2、聚類(根據(jù)相似性將文本字符串分組)
? ? 3、推薦(推薦具有相關(guān)文本字符串的項(xiàng)目)
? ? 3、異常檢測(識(shí)別與其他項(xiàng)關(guān)聯(lián)度較低的離群點(diǎn))
? ? 4、多樣性測量(分析相似性分布)
? ? 5、分類(根據(jù)最相似標(biāo)簽對(duì)文本字符串進(jìn)行分類) ? ?查看全部 -
學(xué)會(huì)給OpenAI大模型下達(dá)指令 ??
Comletions ?API
? ?補(bǔ)全,即補(bǔ)全用戶輸入的內(nèi)容。它允許用戶輸入一段文本(prompt),然后由AI模型自動(dòng)生成接下來的文本內(nèi)容。
? ?也叫補(bǔ)全接口或完成接口
? ?應(yīng)用
? ?Chat Completions API
? ?特性:
? ?1、對(duì)話歷史管理:能記住之前的對(duì)話內(nèi)容,以便生成連貫的回答
? ?2、適應(yīng)性回復(fù):模型會(huì)根據(jù)對(duì)話的上下文來調(diào)整其回答的風(fēng)格和內(nèi)容
? ?3、更加自然的交流:生成的文本更符合人類的聊天習(xí)慣,包括非正式的語言、俚語等。 ? ?查看全部 -
OpenAI大模型家族介紹 ? ?
模型概覽:
? ?多模態(tài)大模型:具有多種能力的大模型
? ?文本大模型:文生文
? ?視覺大模型:文生圖
? ?語音大模型:文轉(zhuǎn)語音,或語音轉(zhuǎn)文本
? ?Embedding大模型:將文本轉(zhuǎn)換成浮點(diǎn)數(shù),方便計(jì)算機(jī)理解文本的含義。常用于比較兩段文本的相似度。
? ?審查大模型:常用于檢查文本是否包含敏感信息,或者文本是否違背人類的價(jià)值觀。 ???
多模態(tài)大模型
? ?GPT-4是一個(gè)大型多模態(tài)模型(接受文本或圖像輸入并輸出文本),它可以比我們以前的任何模型都更準(zhǔn)確地解決難題,這得益于它更廣泛的通用知識(shí)和更高級(jí)的推理能力。收費(fèi)使用,針對(duì)聊天進(jìn)行了優(yōu)化。
? ?多語言能力?應(yīng)用:
? ?文本大模型:GPT-3.5
? ?推薦使用GPT-3.5-turbo而不是其他GPT-3.5模型,因?yàn)樗杀靖?,性能更?yōu)
? ?視覺大模型:DALL*E
? ?語音大模型:TTS、Whisper
? ?Embedding大模型:Embeddings是文本的數(shù)值表示,可以用于衡量兩段文本之間的相關(guān)性。Embdedding對(duì)于搜索、聚類、推薦、異常檢測和分類任務(wù)很有用。
? ?審查大模型:Moderation ? ?查看全部 -
OpenAI大模型家族介紹 ? ?
不能訪問Open ? AI怎么辦? ? ?
了解Embeddings ? ?
流式VS非流式對(duì)比介紹 ? ?
項(xiàng)目實(shí)戰(zhàn) ? ?
查看全部 -
流式輸出的場景:
需要大模型執(zhí)行一段時(shí)間的情況,避免用戶等待,可以一點(diǎn)一點(diǎn)的輸出
非流式:
使用的是http請(qǐng)求,不能主動(dòng)向客戶端推送數(shù)據(jù)
流式:----SSE:服務(wù)器發(fā)送事件
響應(yīng)結(jié)構(gòu):
非流式響應(yīng)結(jié)構(gòu):
object的結(jié)構(gòu)差異:
非流式=chat.completion
流式=chat.completion.chunk
choices的結(jié)構(gòu)差異:
非流式=index、message.role、message.content、logprobs、finish_reason
流式=index、delta.role、delta.content、finish_reason
usage差異:
非流式=prompt_tokens、completion_tokens、total_tokens
流式=沒有該參數(shù)
逐行讀取流式返回結(jié)果:
bit類型=>字符串:? line.decode('utf-8').lstrip('data: ')
字符串=>字典(json) : json.loads()
print使用知識(shí)點(diǎn):
默認(rèn)輸出后會(huì)帶換行符,如果不需要換行,需要執(zhí)行換行符類型
print(str, end=''): 不換行直接輸出
openai-python庫: 使用支持SSE協(xié)議的已有客戶端庫,簡化實(shí)現(xiàn)邏輯
處理返回結(jié)果
查看全部 -
embeddings 是什么和有什么用
怎么用:
使用示例:
響應(yīng):
響應(yīng)參數(shù)說明:
常用模型:
模型使用代碼
應(yīng)用場景:
查看全部 -
SerpAPI是一種 Pyhon 工具,提供 SerpAPI Google 搜索引擎結(jié)果 AP|和 SerpAPI 必應(yīng)搜索引擎結(jié)果 API 的 包裝器你可以使用該工具從多種不同的搜索引擎(包括 Google 和必應(yīng))中檢索搜索結(jié)果。
查看全部 -
不輸出換行符:print("輸出", end='')
使用openai-python庫
流式輸出時(shí),可設(shè)置滑動(dòng)窗口實(shí)現(xiàn)內(nèi)容審查
使用tiktoken庫計(jì)算token消耗
查看全部 -
角色:
????system
????user
????assistant
查看全部 -
openai-python
????pip install openai
查看全部 -
環(huán)境變量設(shè)置KEY
查看全部 -
1個(gè)token≈4個(gè)英文字符
1個(gè)token≈3/4個(gè)單詞
100個(gè)token≈75個(gè)單詞
查看全部 -
OPENAI大模型家族:
????多模態(tài)大模型:
????????GPT-4
????????GPT-4 Turbo版{剪枝和蒸餾后的版本}
????文本大模型
????????GPT-3.5
????視覺大模型
????????DALL·E
????語音大模型
????????TTS
????????Whisper
????Embedding大模型
????????text-embedding-ada-002
????審查大模型
????????Moderation
查看全部 -
一、輸入約束
二、輸出約束
一般的響應(yīng)格式: response.choices[0].message.content
通過messages角色設(shè)定的內(nèi)容,告訴大模型之前的數(shù)據(jù)
查看全部 -
openAI 的api調(diào)用
查看全部 -
推薦項(xiàng)目
AutoGPT: https://github.com/Significant-Gravitas/AutoGPT
GPT-Engineer:?https://github.com/gpt-engineer-org/gpt-engineer
ChatGPT-Next-Web: https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web
查看全部
舉報(bào)