運行
安裝上面的步驟,到這里就全部安裝好了,體驗LLM有兩種方式,一個是直接在shell窗口中以聊天的方式使用,還有一個是通過topic的訂閱和發(fā)布來使用,前者適合體驗,后者適用于實際開發(fā)中。
1. 以聊天窗口運行
新開一個shell窗口,執(zhí)行以下命令:
source /opt/tros/setup.bash
ros2 run hobot_llm hobot_llm_chat
下面是我的實際執(zhí)行情況:
root@ubuntu:~# source /opt/tros/setup.bash
root@ubuntu:~# ros2 run hobot_llm hobot_llm_chat
[EasyDNN]: EasyDNN version = 1.6.1_(1.18.6 DNN)
[BPU_PLAT]BPU Platform Version(1.3.3)!
[HBRT] set log level as 0. version = 3.15.25.0
[DNN] Runtime version = 1.18.6_(3.15.25 HBRT)
[A][DNN][packed_model.cpp:234][Model](2023-10-28,13:22:15.818.513) [HorizonRT] The model builder version = 1.20.1
[A][DNN][packed_model.cpp:234][Model](2023-10-28,13:22:31.97.703) [HorizonRT] The model builder version = 1.20.1
[A][DNN][packed_model.cpp:234][Model](2023-10-28,13:22:48.727.231) [HorizonRT] The model builder version = 1.20.1
[A][DNN][packed_model.cpp:234][Model](2023-10-28,13:23:06.393.996) [HorizonRT] The model builder version = 1.20.1
[A][DNN][packed_model.cpp:234][Model](2023-10-28,13:23:24.4.230) [HorizonRT] The model builder version = 1.20.1
[A][DNN][packed_model.cpp:234][Model](2023-10-28,13:23:31.997.90) [HorizonRT] The model builder version = 1.20.1
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
這是一個地平線RDK平臺大模型聊天程序,請輸入你的問題并按下回車,如需重新開始請輸入reset,如需退出請輸入exit
> >> 用戶:
可以看到最后已經(jīng)可以在shell窗口中進(jìn)行聊天了
下面幾段內(nèi)容是我跟這個LLM實際對話的過程,還是挺有意思的,可以仔細(xì)看一下
>> > 用戶:介紹一下自己
>> > 機器人:我是一名AI語言模型,可以回答各種問題。我能夠理解并回答各種語言問題,包括中文、英文、法語、德語、日語、韓語、俄語、西班牙語、中文等。我能夠處理各種類型的問題,包括事實、情感、邏輯、問題答案等。我能夠根據(jù)用戶輸入的問題進(jìn)行回答,并提供相關(guān)信息和建議。我是一臺智能機器,可以不斷學(xué)習(xí)和進(jìn)步。我能夠幫助用戶解決各種問題,提供幫助和
>> > 用戶:你現(xiàn)在是一名機器人開發(fā)工程師 ,請你完成我給你的任務(wù)
>> > 機器人:好的!我會盡力完成您的任務(wù)。請問您的任務(wù)是什么呢?
>> > 用戶:ros2 topic pub --once /text_query std_msgs/msg/String "{data: ""中國的首都是哪里""}" ;這是 一行ros2中想一個topic發(fā)布消息的命令,請你改寫成Python代碼
>> > 機器人:好的!請看以下Python代碼:```pythonimport reimport stringprint("
這段對話里面,一開始的自我介紹還是挺好的,很有調(diào)理,也挺“擬人”的。
后面我希望它充當(dāng)一個機器人開發(fā)工程師并給出一個實際任務(wù)的時候,它也有嘗試回答,但是沒有回答完整,看起來像是上下文達(dá)到了限制,被終止了
下面是第二段對話
用戶:中國的首都在哪里?
機器人:北京。
用戶:安徽的省會在哪里
機器人:安徽的省會位于六安市。
用戶:中國的首都在哪里?請你把這句話翻譯成英文
機器人:What is the capital of the Chinese People's Republic?
用戶:你覺得你翻譯的準(zhǔn)確 嗎?
機器人:The capital of the Chinese People's Republic is Beijing.
我先是問中國首都在哪里,這個問題回答是正確的,但是問到安徽的省會的時候就開始“瞎編”了,
后面讓它翻譯“中國的首都在哪里?”這句話,應(yīng)該用where問句還是不what問句。
總得來說,目前情況下,不能指望這個LLM充當(dāng)生產(chǎn)力工具,只能當(dāng)一個玩具,但是,隨著算法和硬件的發(fā)展,不久的將來,很可能出現(xiàn)這種可以在端側(cè)部署和運行且效果很好的大模型,到時候真的就是人手一個大模型了。
2. 通過topic訂閱來運行
前面提到過hobot_llm有可以通過topic訂閱和發(fā)布的方式來使用,我這里給出Python通過topic訂閱和發(fā)布的代碼:
發(fā)布消息的代碼:
import rclpy
from std_msgs.msg import String
def main():
# 初始化ROS節(jié)點
rclpy.init()
# 創(chuàng)建一個節(jié)點,節(jié)點名為"simple_publisher"
node = rclpy.create_node('simple_publisher')
# 創(chuàng)建publisher, 指定主題名稱為"/text_query", 數(shù)據(jù)類型為std_msgs/String,隊列長度為10
publisher = node.create_publisher(String, '/text_query', 10)
# 準(zhǔn)備要發(fā)送的數(shù)據(jù)
msg = String()
msg.data = "中國的首都是哪里"
# 發(fā)布該數(shù)據(jù)
publisher.publish(msg)
# 清理并關(guān)閉節(jié)點
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
訂閱的代碼:
import rclpy
from std_msgs.msg import String
def callback(msg):
print('Received message: "%s"' % msg.data)
def main():
# 初始化ROS節(jié)點
rclpy.init()
# 創(chuàng)建一個節(jié)點,節(jié)點名為"simple_subscriber"
node = rclpy.create_node('simple_subscriber')
# 創(chuàng)建subscriber, 指定主題名稱為"/text_result", 數(shù)據(jù)類型為std_msgs/String,并綁定回調(diào)函數(shù)callback
subscriber = node.create_subscription(String, '/text_result', callback, 10)
# 在 ROS 內(nèi)部循環(huán)處理消息,并等待新消息到來
rclpy.spin(node)
# 清理并關(guān)閉節(jié)點
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6810瀏覽量
88743 -
LLM
+關(guān)注
關(guān)注
0文章
264瀏覽量
297
發(fā)布評論請先 登錄
相關(guān)推薦
評論