最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

百度文心一言-UE插件

2023-07-18 11:02 作者:EleFangh  | 我要投稿

# WenXinYiYan

百度文心一言-UE插件


# github地址

https://github.com/FHangH/WenXinYiYan


# 大致說明

使用UE C++,基于UE Http模塊,沒有第三方庫,理論支持所有版本的UE,和所有平臺(tái),可以自行編譯,用于對(duì)應(yīng)的UE版本


# 注

- 隨便做著玩的,目前支持流式響應(yīng)

- 但文心一言好像本身不支持像ChatGPT那樣詳細(xì)的定制,本身很粗糙,應(yīng)該不支持上下文聯(lián)系(畢竟官方的API文檔里的多輪請(qǐng)求和響應(yīng)結(jié)果都是有問題的)


# 藍(lán)圖節(jié)點(diǎn)


注意這是默認(rèn)的第一步,必須要有的,至于拿到的token怎么用無所謂,后面的節(jié)點(diǎn)里,已經(jīng)默認(rèn)使用生成的token了


文心一言的role里,只有user和assistant,不像GPT有system,官方的prompt看著難受,看不懂,懶得用了,只能這樣了


流式響應(yīng)很粗糙,我是說文心一言,不像GPT那樣細(xì)分,沒那么絲滑


下面是流式響應(yīng)的完整輸出

```log

LogWenXin: Warning: ====== WenXinYiYan Start ======

LogWenXin: Warning: Request Stream Process

LogWenXin: Warning: Request Stream Complete

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = C++中的單例模式可以分為懶漢式和餓漢式兩種實(shí)現(xiàn)方式。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = 懶漢式單例模式在第一次使用時(shí)才創(chuàng)建對(duì)象,而餓漢式單例模式則在程序啟動(dòng)時(shí)就創(chuàng)建對(duì)象。同時(shí),為了線程安全,還需要考慮單例對(duì)象的線程安全問題。

1. 懶漢式單例模式

懶漢式單例模式是一種延遲加載的方式,在第一次使用時(shí)才創(chuàng)建對(duì)象。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = 可以通過以下代碼實(shí)現(xiàn):


class Singleton {

public:

? ? static Singleton& getInstance() {

? ? ? ? static Singleton instance;

? ? ? ? return instance;

? ? }

private:

? ? Singleton() {}

? ? Singleton(const Singleton&) = delete;

? ? Singleton& operator=(const Singleton&) = delete;

};


在這個(gè)實(shí)現(xiàn)中,getInstance()函數(shù)是一個(gè)靜態(tài)函數(shù),用于獲取單例對(duì)象。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量instance來存儲(chǔ)單例對(duì)象,保證在多線程環(huán)境下只有一個(gè)實(shí)例存在。

2. 餓漢式單例模式

餓漢式單例模式是一種在程序啟動(dòng)時(shí)就創(chuàng)建對(duì)象的方式。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = 可以通過以下代碼實(shí)現(xiàn):


class Singleton {

public:

? ? static Singleton& getInstance() {

? ? ? ? static Singleton instance;

? ? ? ? return instance;

? ? }

private:

? ? Singleton() {}

? ? Singleton(const Singleton&) = delete;

? ? Singleton& operator=(const Singleton&) = delete;

};


在這個(gè)實(shí)現(xiàn)中,getInstance()函數(shù)是一個(gè)靜態(tài)函數(shù),用于獲取單例對(duì)象。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量instance來存儲(chǔ)單例對(duì)象,保證在多線程環(huán)境下只有一個(gè)實(shí)例存在。

3. 線程安全

在多線程環(huán)境下,為了保證單例對(duì)象的線程安全,需要采取一些措施。

* 靜態(tài)局部變量:在getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量來存儲(chǔ)單例對(duì)象,這樣在多線程環(huán)境下只有一個(gè)實(shí)例存在。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result =?

* 線程安全的數(shù)據(jù)結(jié)構(gòu):可以使用互斥鎖、信號(hào)量等線程安全的數(shù)據(jù)結(jié)構(gòu)來保證單例對(duì)象的線程安全。

* 靜態(tài)成員變量初始化:在靜態(tài)局部變量instance的初始化中,可以加上靜態(tài)初始化語法,這樣在多線程環(huán)境下也可以保證只有一個(gè)實(shí)例存在。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result =?

例如:


class Singleton {

public:

? ? static Singleton& getInstance() {

? ? ? ? static Singleton instance;

? ? ? ? return instance;

? ? }

private:

? ? Singleton() {}

? ? Singleton(const Singleton&) = delete;

? ? Singleton& operator=(const Singleton&) = delete;

? ? static Singleton instance;

};

Singleton Singleton::instance;

int main() {

? ? // 創(chuàng)建多個(gè)線程

? ? std::thread t1([](){

? ? ? ? Singleton& instance = Singleton::getInstance();

? ? });

? ? std::thread t2([](){

? ? ? ? Singleton& instance = Singleton::getInstance();

? ? });

? ? t1.join();

? ? t2.join();

? ? return 0;

}


在這個(gè)實(shí)現(xiàn)中,getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量instance來存儲(chǔ)單例對(duì)象,這樣在多線程環(huán)境下只有一個(gè)實(shí)例存在。

LogWenXin: Warning: Request Process By Stream

LogWenXin: Warning: Deserialize Stream Response

LogWenXin: Warning: Stream Result = 同時(shí),在靜態(tài)局部變量instance的初始化中,使用了靜態(tài)初始化語法,這樣可以保證在多線程環(huán)境下也可以只有一個(gè)實(shí)例存在。

LogWenXin: Warning: Response Stream Success

LogWenXin: Warning: Request Stream Result = assistant : C++中的單例模式可以分為懶漢式和餓漢式兩種實(shí)現(xiàn)方式。懶漢式單例模式在第一次使用時(shí)才創(chuàng)建對(duì)象,而餓漢式單例模式則在程序啟動(dòng)時(shí)就創(chuàng)建對(duì)象。同時(shí),為了線程安全,還需要考慮單例對(duì)象的線程安全問題。

1. 懶漢式單例模式

懶漢式單例模式是一種延遲加載的方式,在第一次使用時(shí)才創(chuàng)建對(duì)象??梢酝ㄟ^以下代碼實(shí)現(xiàn):


class Singleton {

public:

? ? static Singleton& getInstance() {

? ? ? ? static Singleton instance;

? ? ? ? return instance;

? ? }

private:

? ? Singleton() {}

? ? Singleton(const Singleton&) = delete;

? ? Singleton& operator=(const Singleton&) = delete;

};


在這個(gè)實(shí)現(xiàn)中,getInstance()函數(shù)是一個(gè)靜態(tài)函數(shù),用于獲取單例對(duì)象。getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量instance來存儲(chǔ)單例對(duì)象,保證在多線程環(huán)境下只有一個(gè)實(shí)例存在。

2. 餓漢式單例模式

餓漢式單例模式是一種在程序啟動(dòng)時(shí)就創(chuàng)建對(duì)象的方式??梢酝ㄟ^以下代碼實(shí)現(xiàn):


class Singleton {

public:

? ? static Singleton& getInstance() {

? ? ? ? static Singleton instance;

? ? ? ? return instance;

? ? }

private:

? ? Singleton() {}

? ? Singleton(const Singleton&) = delete;

? ? Singleton& operator=(const Singleton&) = delete;

};


在這個(gè)實(shí)現(xiàn)中,getInstance()函數(shù)是一個(gè)靜態(tài)函數(shù),用于獲取單例對(duì)象。getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量instance來存儲(chǔ)單例對(duì)象,保證在多線程環(huán)境下只有一個(gè)實(shí)例存在。

3. 線程安全

在多線程環(huán)境下,為了保證單例對(duì)象的線程安全,需要采取一些措施。

* 靜態(tài)局部變量:在getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量來存儲(chǔ)單例對(duì)象,這樣在多線程環(huán)境下只有一個(gè)實(shí)例存在。

* 線程安全的數(shù)據(jù)結(jié)構(gòu):可以使用互斥鎖、信號(hào)量等線程安全的數(shù)據(jù)結(jié)構(gòu)來保證單例對(duì)象的線程安全。

* 靜態(tài)成員變量初始化:在靜態(tài)局部變量instance的初始化中,可以加上靜態(tài)初始化語法,這樣在多線程環(huán)境下也可以保證只有一個(gè)實(shí)例存在。

例如:


class Singleton {

public:

? ? static Singleton& getInstance() {

? ? ? ? static Singleton instance;

? ? ? ? return instance;

? ? }

private:

? ? Singleton() {}

? ? Singleton(const Singleton&) = delete;

? ? Singleton& operator=(const Singleton&) = delete;

? ? static Singleton instance;

};

Singleton Singleton::instance;

int main() {

? ? // 創(chuàng)建多個(gè)線程

? ? std::thread t1([](){

? ? ? ? Singleton& instance = Singleton::getInstance();

? ? });

? ? std::thread t2([](){

? ? ? ? Singleton& instance = Singleton::getInstance();

? ? });

? ? t1.join();

? ? t2.join();

? ? return 0;

}


在這個(gè)實(shí)現(xiàn)中,getInstance()函數(shù)內(nèi)部使用靜態(tài)局部變量instance來存儲(chǔ)單例對(duì)象,這樣在多線程環(huán)境下只有一個(gè)實(shí)例存在。同時(shí),在靜態(tài)局部變量instance的初始化中,使用了靜態(tài)初始化語法,這樣可以保證在多線程環(huán)境下也可以只有一個(gè)實(shí)例存在。

LogWenXin: Warning: ====== WenXinYiYan End ======

```


這個(gè)我承認(rèn)我自己寫的糙了,我不會(huì)寫


這里演示的是流式響應(yīng)過程中,中斷流式響應(yīng)的結(jié)果,不會(huì)調(diào)用OnFail,回調(diào)OnCompleted,回調(diào)結(jié)果默認(rèn)直接為空


百度文心一言-UE插件的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
上思县| 东乡族自治县| 大港区| 河池市| 陵水| 扎赉特旗| 绥棱县| 吉隆县| 平乐县| 江孜县| 延川县| 无极县| 吉水县| 宁南县| 石屏县| 玉龙| 云霄县| 阳信县| 盐津县| 临沧市| 瑞金市| 荔浦县| 布拖县| 祁阳县| 岑巩县| 江津市| 弥渡县| 宜州市| 尼木县| 高陵县| 皋兰县| 石柱| 颍上县| 曲周县| 四子王旗| 呼玛县| 义乌市| 泰安市| 图木舒克市| 太康县| 平遥县|