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

news/2025/2/24 8:57:44

【电机控制器】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.niftyadmin.cn/n/5864134.html

相关文章

达梦数据库学习笔记@1

目录 达梦数据库学习笔记一、表空间管理&#xff08;一&#xff09;默认表空间&#xff08;二&#xff09;相关数据字典&#xff08;三&#xff09;表空间操作&#xff08;四&#xff09;临时表空间管理 二、重做日志管理&#xff08;一&#xff09;系统视图&#xff08;二&…

管道-过滤器、隐式调用、解释器架构风格对比

管道-过滤器、隐式调用与解释器架构风格对比 1. 管道过滤器风格&#xff08;Pipe-Filter&#xff09; 核心思想&#xff1a;系统由一系列独立的过滤器&#xff08;处理单元&#xff09;组成&#xff0c;通过管道&#xff08;数据通道&#xff09;连接&#xff0c;数据按顺序流…

【分布式数据一致性算法】Gossip协议详解

在分布式系统中&#xff0c;多个节点同时提供服务时&#xff0c;数据一致性是核心挑战。在多个节点中&#xff0c;若其中一个节点的数据发生了修改&#xff0c;其他节点的数据都要进行同步。 一种比较简单粗暴的方法就是 集中式发散消息&#xff0c;简单来说就是一个主节点同时…

windows下安装CUDA-本地微调大模型

1、查看NVIDIA的控制面板的版本号 2 下载CUDA Toolkit https://developer.nvidia.com/cuda-toolkit-archive 这里要下载和自己电脑NVIDIA适配CUDA的大版本要保持一致 选择对应的版本进行下载 文件比较大&#xff0c;直接右键复制链接&#xff0c;放到迅雷中两分钟就下好了 3 …

微服务即时通信系统---(三)框架学习

目录 brpc RPC框架 核心概念 工作原理 介绍 安装 头文件包含和编译时指明库 类与接口介绍 日志输出类与接口 protobuf类与接口 Closure类 RpcController类 服务端类与接口 ServerOptions类 Server类 ClosureGuard类 HttpHeader类 Controller类 客户端类与…

ArcGIS Pro热力图制作指南:从基础到进阶

引言 在地理信息科学领域&#xff0c;热力图作为一种直观的数据可视化手段&#xff0c;广泛应用于展示空间数据的密度和热度分布。ArcGIS Pro&#xff0c;作为一款强大的地理信息系统&#xff08;GIS&#xff09;软件&#xff0c;为我们提供了制作热力图的便捷工具。本文将从基…

Pi币与XBIT:在去中心化交易所的崛起中重塑加密市场

在加密货币市场迅猛发展的背景下&#xff0c;Pi币和XBIT正在成为投资者关注的焦点。Pi币作为一项创新的数字货币&#xff0c;通过独特的挖矿机制和广泛的用户基础&#xff0c;迅速聚集了大量追随者&#xff0c;展示了强大的市场潜力。同时&#xff0c;币应XBIT去中心化交易所的…

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)

鸿蒙开发深入浅出01&#xff08;基本环境搭建、页面模板与TabBar&#xff09; 1、效果展示2、下载 DevEco Studio3、创建项目4、新建页面模板5、更改应用信息6、新建以下页面7、Index.ets8、真机运行9、图片资源文件 1、效果展示 2、下载 DevEco Studio 访问官网根据自己的版本…