当前位置: 首页 > article >正文

【电机控制器】ESP32-C3语言模型——通义千问

【电机控制器】ESP32-C3语言模型——通义千问


文章目录

    • @[TOC](文章目录)
  • 前言
  • 一、简介
  • 二、代码
  • 三、实验结果
  • 四、参考资料
  • 总结

前言

使用工具:


提示:以下是本篇文章正文内容,下面案例可供参考

一、简介

二、代码

#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>

// 1. Replace with your network credentials
const char* ssid = "你需要改的地方";
const char* password = "你需要改的地方";

// 2. Replace with your OpenAI API key
const char* apiKey = "你需要改的地方";

// Send request to OpenAI API
String inputText = "你好,通义千问!";
String apiUrl = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation";

String answer;
String getGPTAnswer(String inputText) {
  HTTPClient http;
  http.setTimeout(10000);
  http.begin(apiUrl);
  http.addHeader("Content-Type", "application/json");
  http.addHeader("Authorization", String(apiKey));
  String payload = "{\"model\":\"qwen-turbo\",\"input\":{\"messages\":[{\"role\": \"system\",\"content\": \"你是鹏鹏的生活助手机器人,要求下面的回答严格控制在256字符以内。\"},{\"role\": \"user\",\"content\": \"" + inputText + "\"}]}}";
  int httpResponseCode = http.POST(payload);
  if (httpResponseCode == 200) {
    String response = http.getString();
    http.end();
    Serial.println(response);

    // Parse JSON response
    DynamicJsonDocument jsonDoc(1024);
    deserializeJson(jsonDoc, response);
    String outputText = jsonDoc["output"]["text"];
    return outputText;
    // Serial.println(outputText);
  } else {
    http.end();
    Serial.printf("Error %i \n", httpResponseCode);
    return "<error>";
  }
}

void setup() {
  // Initialize Serial
  Serial.begin(115200);

  // Connect to Wi-Fi network
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.print("Connecting to WiFi ..");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print('.');
    delay(1000);
  }
  Serial.println(WiFi.localIP());
  answer = getGPTAnswer(inputText);
  Serial.println("Answer: " + answer);
  Serial.println("Enter a prompt:");

}

void loop() {
  // do nothing
  if (Serial.available()) {
    inputText = Serial.readStringUntil('\n');
    // inputText.trim();
    Serial.println("\n Input:"+inputText);

    answer = getGPTAnswer(inputText);
    Serial.println("Answer: " + answer);
    Serial.println("Enter a prompt:");
  }
  // delay(2);
}



三、实验结果

通义千问也抽风
在这里插入图片描述

四、参考资料

通过API使用通义千问
【ESP32接入语言大模型之通义千问】

总结

本文仅仅简单介绍了【电机控制器】ESP32-C3语言模型——通义千问,评论区欢迎讨论。


http://www.kler.cn/a/559271.html

相关文章:

  • 华为 网络安全 认证
  • 22.回溯算法4
  • 【YOLOv11改进- 主干网络】YOLOv11+RepViT: 从ViT的角度重新审视Mobile的CNN助力YOLOv11有效涨点;
  • discuz3.5 回复 浮动窗口无法弹出
  • 在运维工作中,硬盘满了,新买了一块,如何扩容?
  • k2路由器登录校园网
  • ROS2下编写package利用orbbec相机进行yolov8实时目标检测
  • [AI]【Comfyui】 生成基本流程图的步骤保姆记录
  • Pytorch使用手册-音频重采样(专题十九)
  • sklearn TfidfVectorizer使用教程
  • 机器学习实战(11):时间序列预测——循环神经网络(RNN)与 LSTM
  • MySQL 中的锁:为数据安全加把锁
  • Java笔记18
  • 更改conda 环境默认安装位置
  • Leetcode63:不同路径 II
  • 【js逆向入门】图灵爬虫练习平台 第五题
  • 网络安全与措施
  • tidb实时同步到mysql
  • 【三十四周】文献阅读:DeepPose: 通过深度神经网络实现人类姿态估计
  • Leetcode 位计算