本程式是由ChatGPT所產生,MQTT Broker是採用小霸王科技的伺服器。
程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import paho.mqtt.client as mqtt import ollama # MQTT 代理伺服器設定 MQTT_BROKER = "broker.MQTTGO.io" # MQTT 伺服器地址 MQTT_PORT = 1883 # MQTT 伺服器端口 MQTT_SUB_TOPIC = "ollama/input" # 訂閱的主題 MQTT_PUB_TOPIC = "ollama/output" # 發布的主題 # 連接 MQTT 代理伺服器時的回調函數 def on_connect(client, userdata, flags, rc): print("Connected with result code " + str(rc)) client.subscribe(MQTT_SUB_TOPIC) # 接收 MQTT 訊息時的回調函數 def on_message(client, userdata, msg): payload = msg.payload.decode() print(f"Received message: {payload}") # 調用 Ollama 生成回應 try: response = ollama.chat(model="llama3.2", messages=[{"role": "user", "content": payload}]) reply = response['message']['content'] print(f"Ollama response: {reply}") # 將 Ollama 回應發布到指定的 MQTT 主題 client.publish(MQTT_PUB_TOPIC, reply) except Exception as e: print(f"Error: {e}") client.publish(MQTT_PUB_TOPIC, f"Error: {str(e)}") # 初始化 MQTT 客戶端 client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message # 連接到 MQTT 代理伺服器 client.connect(MQTT_BROKER, MQTT_PORT, 60) # 保持 MQTT 連接運行 client.loop_forever() |
執行結果:
Connected with result code 0
Received message: 您是誰
Ollama response: 我是GPT-4,一个高级人工智能模型。我的前身是GPT-3,它在多个领域的应用中取得了成功。
Received message: 請用繁體中文
Ollama response: 我可以以繁體中文回答問題。請問您什麼事項?
Received message: 給我一個小故事
Ollama response: 有一個小女孩,她名叫 Lily,住在一條狹窄的街道上。Lily喜歡於夜晚去探索街頭,她認為這是唯一能夠解開她自己想象中的真空的時間。
一次,她經過一個老人的住宅,發現那個男人正在下午睡覺。他心不在身事地一直從窗口觀看天空。Lily被告知:這位老人一直在用他的生命來觀察世界,他的目標是要知道有多大。
Lily問他:“您为什么会这样做?”
老人回答:“我想知道生命中最美丽的一刻是什么。我不想去看世界上的坏事。"
Lily覺得這個男人比她更年輕。老人告訴 Lily,當你在觀察時,你就不是正在生活,而是在回憶過去。
Lily的發現讓她開始反思她的生活。她開始去觀察和體驗,了解世界中的每一刻。她變成了他的學生,並在他的教導下長大。
沒有留言:
張貼留言