关于ChatGPT的一些随笔

大家好,我是老三,最近几个月关于ChatGPT的信息可以说是铺天盖地。

“王炸,ChatGPT……”

“xxx震撼发布……”

“真的要失业了,xxx来袭……”

“普通如何利用ChatGPT……”

……

不过老三前一阵比较忙,对ChatGPT的使用基本只限于一些简单的问答,比如:

三分恶是谁?

可以说是落伍到家了,刚好公司组织了对ChatGPT的一些讨论和实践,趁这个机会赶紧补补课。

快速上手

作为一般的后端开发人员,要利用ChatGPT,其实主要还是是调用openai的接口,先跟着官方文档(https://platform.openai.com/docs/quickstart),快速开始。

简介

  • completions接口:https://platform.openai.com/docs/api-reference/completions/create

这个接口是openai核心接口,输入里有个参数prompt,可以简单理解为问,响应里有个参数completion,可以简单理解为答。

prompt和completion

创建应用

官方给了Node.js和Python的Demo,没有关系,反正无非是接口调用,用什么都可以。

因为我本地配置了Python的环境,所以就跟着官方的Python Demo走一走。

拉取项目

Python环境的创建这里就不多说了,直接把官方的Demo拉下来。

git clone https://github.com/openai/openai-quickstart-python.git

添加API Key

首先需要在这个地址:https://platform.openai.com/account/api-keys 添加一个api-key.

添加api key

在.env文件里添加配置OPENAI_API_KEY:

添加OPENAI_API_KEY

运行

  • 安装依赖
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
  • 运行项目
flask run
  • 访问http://localhost:5000

页面

简单看下官方Demo,官方提供了Python包:

import openai

官方还提供了node.js的包,社区也贡献了一些其他语言的包(https://platform.openai.com/docs/libraries/community-libraries):

  • Java:https://github.com/TheoKanning/openai-java
  • Go:https://github.com/sashabaranov/go-openai

……

Python Demo里就是直接用封装的方法调用:

response = openai.Completion.create(
            model="text-davinci-003",
            prompt=generate_prompt(animal),
            temperature=0.6,
        )

不用官方和社区封装的包,直接http调用也可以。

当然openai也不是免费的,以gpt-3.5-turbo为例,费用是$0.002 / 1K tokens,也就是大概$0.002 / 750个词,具体费用可以看看:https://openai.com/pricing,注册送了18💰,大概能答不到1000个问题吧。

常见API

在快速开始里用了Completion API,接下来再看看常见的API。

模型

Model(模型)是openai的核心,有一系列不同功能不同版本的模型。

目前大概有这些模型

Playground

在前面,我们跑了官方的Demo,其实还有一个更简单快捷的方式,官方提供了一个好用的Playground,有点像开发版的chatGPT,可以直接指定不同的模型不同的参数,调用不同的api:

Playground

还可以直接查看代码,支持python、node.js、curl。

生成代码

接下来看看openai的内容处理,主要包括三种:Text completionCode completionImage generation,分别针对文本、代码和图片。

内容处理API

调用API还是用Python,因为官方给了Demo,Python跑起来也比较轻便。

接着用官方的实例,open-ai需要升级到最新版本:

升级

Completion

  • Completions:https://platform.openai.com/docs/api-reference/completions

这个是比较早,用的比较多的接口,不支持gpt-3.5和gpt-4模型的模型。

参数类型说明
modelstring必填,指定功能模型
promptstring 或 array提示语
max_tokensinteger默认值 16,The maximum number of tokens to generate in the completion.
temperaturenumber默认值 1,采样精度,取值范围为 0~2,较高的值(如 0.8)将使输出更加随机,而较低的值(例如 0.2)将使其更加相关
top_pnumber默认值 1,采样精度的另一种表示方式,如 0.1 表示更相关的 10% 的内容,请不要和 temperature 同时使用(2 选 1)
ninteger默认值 1,返回内容的条数
streamboolean默认值 false,是否流式输出内容
echoboolean默认值 false,是否回显 prompt 内容
stopstring 或 array默认值 null,Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
  • Python请求
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

response=openai.Completion.create(
  model="text-davinci-003",
  prompt="Hello World",
  max_tokens=512,
  temperature=0
)
  • 响应
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "text": "\n\nMy name is John and I am new to this website. I am interested in learning more about programming and computer science."
    }
  ],
  "created": 1679751379,
  "id": "cmpl-6xyM7jPbvSSO7umjVk8HkrRfJVoHZ",
  "model": "text-davinci-003",
  "object": "text_completion",
  "usage": {
    "completion_tokens": 26,
    "prompt_tokens": 2,
    "total_tokens": 28
  }
}

可以看到已经回复了,我们要是想继续怎么办呢?也就是类似chatGPT里接着会话——那就需要把整个上下文传过去。

维护会话

比如上面一个,我希望它能继续回答:

import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

prompt_context=["Hello World","\n\nMy name is John and I am new to this website. I am interested in learning more about programming and computer science.","Any more?"]

response=openai.Completion.create(
  model="text-davinci-003",
  prompt=prompt_context,
  max_tokens=1024,
  temperature=0
)
  • 响应:可以看到接着继续回答了
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "text": "\n\nMy name is John and I am new to this website. I am interested in learning more about programming and computer science."
    },
    {
      "finish_reason": "stop",
      "index": 1,
      "logprobs": null,
      "text": " I have some basic knowledge of HTML and CSS, but I am looking to expand my knowledge and learn more about other programming languages. I am also interested in learning more about web development and design."
    },
    {
      "finish_reason": "stop",
      "index": 2,
      "logprobs": null,
      "text": "\n\n-Making sure to get enough sleep\n-Eating a balanced diet\n-Drinking plenty of water\n-Exercising regularly\n-Managing stress\n-Limiting alcohol and caffeine intake\n-Practicing relaxation techniques\n-Spending time outdoors\n-Connecting with friends and family\n-Engaging in creative activities\n-Volunteering in the community\n-Practicing mindfulness and meditation"
    }
  ],
  "created": 1679751585,
  "id": "cmpl-6xyPRzgmrTskbfQ85l5MdmIdUU6iZ",
  "model": "text-davinci-003",
  "object": "text_completion",
  "usage": {
    "completion_tokens": 149,
    "prompt_tokens": 31,
    "total_tokens": 180
  }
}

当然prompt传的越多,网络消耗,以及💰消耗都越多,那怎么减少上下文传递呢?

有什么办法减少上下文传递

具体实现,感兴趣的也可以再问问ChatGPT。

Chat

  • Chat:https://platform.openai.com/docs/api-reference/chat

2023 年 3 月 1 日新增接口,使用的是最新的 GPT-3.5 模型和 GPT-4 模型。与 Completion API 不同,ChatCompletion API 更适合用于实时的、多轮的对话。

import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

chat = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a assistant of shein,you can help user to resolve problems."},
    {"role": "user", "content": "How can I refund my order?"},
  ]
)
  • 响应:
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "To initiate a refund for your Shein order, you can follow these steps:\n\n1. Log in to your Shein account.\n2. Go to your order history and find the order you want to refund.\n3. Click on the \"Return\" button and select the item(s) you want to return.\n4. Choose the reason for the return and add any pictures or comments if necessary.\n5. Submit the return request and wait for Shein to send you a confirmation email.\n6. Pack and send your items back to Shein according to the instructions provided in the email.\n7. Once Shein receives and processes your return, your refund will be issued to your original payment method within 7-14 business days.\n\nNote: Make sure to check Shein's return policy before initiating a refund to ensure that your item is eligible for return.",
        "role": "assistant"
      }
    }
  ],
  "created": 1679876980,
  "id": "chatcmpl-6yV1wSwqM09Aqb6QvFENUvuvC4ehW",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 171,
    "prompt_tokens": 36,
    "total_tokens": 207
  }
}

ChatCompletion支持三种角色:

  • user:用户,提出问题或者输入内容的人
  • assint:聊天机器人,基于GTP3等模型的的机器人,可以回答用户的问题或者会话。
  • system:应用程序,负责处理用户输入,然后传递给聊天机器人,或者接收聊天机器人的回答,展现给用户。应用程序也可以负责处理其他任务,例如将用户输入保存到数据库中。

实际应用中,可以通过system指定指定 chatGPT 的功能定位,在 assistant 中传 chatGPT 回答的消息就实现了上下文。

Images

OpenAI的图片接口,支持通过描述生图,和以图生图:

  • Images(通过描述生成图):https://platform.openai.com/docs/api-reference/images
参数说明
prompt图片描述,必填
n需要生成的图片数量,取值 1-10,默认值 1
size图片大小,取值只能为 256x256、512x512、1024x1024,默认值 1024x1024
response_format返回图片数据类型,取值 url 或 b64_json,默认值 url
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

response=openai.Image.create(
  prompt="A beautiful young and generous Chinese girl",
  n=1,
  size="1024x1024"
)

  • 响应
{
  "created": 1679877722,
  "data": [
    {
      "url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-ZPdLSXE667sQLqeMtNJSlY4u/user-CdRYPYeBIHN8eGFIq87eroQN/img-sSV6B5nOzOpRre41J73guwu6.png?st=2023-03-26T23%3A42%3A02Z&se=2023-03-27T01%3A42%3A02Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2023-03-26T20%3A06%3A23Z&ske=2023-03-27T20%3A06%3A23Z&sks=b&skv=2021-08-06&sig=EphBdwHcs4p5x3F5su8r9NvG8mGRKx4cOkCjbBWekGA%3D"
    }
  ]
}

我们看看生成的图怎么样?

生成的图片

我滴妈,哕……

  • Create image variationBeta(以图生图):https://platform.openai.com/docs/api-reference/images/create-variation

从某竞品网站下了一张好看的模特图:

模特

图片需要裁剪和压缩一下,图片长宽需要1:1,是png文件,而且小于4M。

import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
response=openai.Image.create_variation(
  image=open("apis/model.png", "rb"),
  n=1,
  size="1024x1024"
)

print(response)
  • 响应
{
  "created": 1679878760,
  "data": [
    {
      "url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-ZPdLSXE667sQLqeMtNJSlY4u/user-CdRYPYeBIHN8eGFIq87eroQN/img-uZUO48KfwJpEuCf6Na7fIFG1.png?st=2023-03-26T23%3A59%3A20Z&se=2023-03-27T01%3A59%3A20Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2023-03-26T14%3A21%3A52Z&ske=2023-03-27T14%3A21%3A52Z&sks=b&skv=2021-08-06&sig=YR39Y3sxD7kqnoJcVqEqKxc9bBi//nsn3X0SOtX/wI4%3D"
    }
  ]
}

看看生成的图片,

在这里插入图片描述

啊这。。。

当然chatGPT也支持对现有图的修改。

  • Create image edit(以图修图可修改):https://platform.openai.com/docs/api-reference/images/create-edit)
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
response=openai.Image.create_edit(
  image=open("apis/model.png", "rb"),
  mask=open("apis/model.png", "rb"),
  prompt="Generate a female model who is equally beautiful, hotter, but with different looks and clothes",
  n=2,
  size="1024x1024"
)

print(response)
  • 响应:
{
  "created": 1680363981,
  "data": [
    {
      "url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-ZPdLSXE667sQLqeMtNJSlY4u/user-CdRYPYeBIHN8eGFIq87eroQN/img-vYOBGDlf5su7sMfQSITKna8w.png?st=2023-04-01T14%3A46%3A21Z&se=2023-04-01T16%3A46%3A21Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2023-04-01T08%3A48%3A23Z&ske=2023-04-02T08%3A48%3A23Z&sks=b&skv=2021-08-06&sig=ajPilUO%2BzBNQDtFDHrEyK2/njZQrZsaTyV7wjQRFRJM%3D"
    }
  ]
}

虽然,但是,这个api我尝试了好几个prompt,给我吐回的都是原图。

整体上来讲,chatGPT的Images API还是没有文本问答那么好用,而且比较贵,尺寸 1024x1024 像素的图一张收费 0.02 美元,大约人民币 0.13 元左右。

Audio

chatGPT还支持语音识别

  • Audio:https://platform.openai.com/docs/api-reference/audio
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
audio_file = open("apis/audio.mp3", "rb")
transcript = openai.Audio.transcribe("whisper-1", audio_file)

print(transcript)

我一开始用了一段中英混杂的语言,结果响应:

{
  "text": "Java\u662f\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6700\u597d\u7684\u8bed\u8a00 \u4f46\u662f\u6211\u7528Python"
}

乱码了,赶紧问下chatGPT:

在这里插入图片描述

嗯,这次翻车了,连续尝试了五六个回答,都没能解决乱码的问题,看样子OpenAI确对中文语言输入不太友好。

改成英文语音输入的结果:

{
  "text": "Jawa is the best language in the world, but I use Python."
}

英文的语音识别还是比较准确的,当然,语音识别早就不是什么问题了。

总体上来看,OpenAI的文本处理能力还是非常强大的,图像处理还有待提升,不过以OpenAI的迭代速度,以及全世界用户的不断”投喂“,相信新模型”远超Midjourney“绝对不是一句空话。

一些思考

可以用OpenAI干什么?

怎么应用OpenAI,或者说怎么应用AI呢?

先从工作看起吧,我是做跨境电商业务的,我问了一下ChatGPT,看看它的回答:

跨境电商可以使用 OpenAI 来帮助改善客户体验、提高销售量和降低成本。以下是一些可能的应用:

  1. 在线客服:使用 OpenAI 的聊天机器人来提供 24/7 的在线客服服务,帮助解决客户的问题和疑虑,提高客户满意度和忠诚度。
  2. 智能推荐:使用 OpenAI 的推荐系统来根据客户的历史购买记录和行为数据,推荐最符合客户需求的商品,提高销售量和客户满意度。
  3. 自然语言处理:使用 OpenAI 的自然语言处理技术来分析客户的评论和评价,了解客户对商品和服务的看法,帮助改进产品和服务。
  4. 欺诈检测:使用 OpenAI 的机器学习和深度学习技术来检测可能的欺诈交易和订单,提高安全性和信誉度。
  5. 语言翻译:使用 OpenAI 的自然语言处理和机器翻译技术来进行跨语言交流,帮助拓展跨境电商业务。

总之,OpenAI 可以为跨境电商提供智能化的解决方案,从而提高客户体验、销售量和利润。

可以看一下,这里面包含客服、推荐、内容、翻译、风控等等……

有一些正在被我的同事实现,有些甚至已经投产。

那么我还是一个程序员,具体点Java程序员,我可以怎么利用OpenAI呢?

作为一个Java程序员,你可以利用OpenAI来提高工作效率,以下是一些建议:

  1. 自然语言处理:OpenAI提供了自然语言处理API,你可以使用它来处理文本数据。例如,你可以使用OpenAI的API来创建自动化回答常见问题的程序。
  2. 代码自动完成:OpenAI的代码自动完成功能可以帮助你快速编写代码。你可以使用Java SDK来调用OpenAI的代码自动完成API,从而提高编程效率。
  3. 数据分析:OpenAI的语言模型可以分析大量的数据,你可以使用它来进行数据分析。例如,你可以使用OpenAI的API来分析用户评论数据,从而了解用户的反馈。
  4. 智能助手:你可以使用OpenAI的语言模型来创建智能助手,帮助你完成一些重复性的任务。例如,你可以使用OpenAI的API来创建一个智能助手,自动完成一些常见的数据处理任务。

总的来说,OpenAI提供了很多的API和工具,可以帮助Java程序员提高工作效率。你可以根据自己的需求选择合适的API,并利用Java SDK来实现对OpenAI的调用。

这里面有一些能力,相信很多朋友更加熟悉,现在日常开发,可以不用搜索引擎,而是直接向ChatGPT提问。

问答助手、代码生成插件、SQL助手……目前,这些也都有同事进行了实现。

大概都是怎么实现的呢?

其实这些应用,这些应用的关键,就是在于正确地向ChatGPT提问,有这么一条“公式”:定义角色+明确任务+限制输出 = better prompt

例如,我现在希望OpenAI作为一个商品评论审核员:

  • 你是一个跨境电商的商品评论审核员,你需要对用户的评论进行审核,你需要识别不同语言的评论,用户评论中不能出现暴力、色情、政治等负面因素,你需要对评论进行打分,60分以上是合格评论,60分以下是不合格评论,用户评论越积极分数越高,你还要给出给用户打分的原因,你的回答只能用json格式{“score”:30,“reason”:“Violence”},score表示评分,reason表示原因,除此之外,你不应该回答任何内容

然后再输入一个评论:

  • 这个商品是在太垃圾了

它的响应:

{
"score": 40,
"reason": "Negative sentiment"
}

开发的时候,就是要先把上下文给传过去:

chat = openai.ChatCompletion.create(
  model="gpt-3.5-turbo-0301",
  messages=[
    {"role": "system", "content": "你是一个跨境电商的商品评论审核员,你需要对用户的评论进行审核,你需要识别不同语言的评论,用户评论中不能出现暴力、色情、政治等负面因素,你需要对评论进行打分,60分以上是合格评论,60分以下是不合格评论,用户评论越积极分数越高,你还要给出给用户打分的原因,你的回答只能用json格式{\"score\":30,\"reason\":\"Violence\"},score表示评分,reason表示原因,除此之外,你不应该回答任何内容"},
    {"role": "system", "content": "OK"},
    {"role": "user", "content": "什么烂东西,浪费钱"}
  ]
)

是不是还挺简单的。

除此之外,有条件的还可以对OpenAI的模型进行微调,提升模型的性能。

我们会被淘汰吗?

坦白讲,大家都拥抱OpenAI很久,我实在落伍了。

现在对于OpenAI的应用,其实主要还是集中在AIGC方面,我主要搞的是支付开发,是交易类的,想了很久也没想出什么应用。

随后问了ChatGPT一个问题:“接入Alipay支付”:

接入Alipay支付

看完,我直接沉默,代码虽然有些不太合理的地方,但是估计再调一调就能直接用了。

这就引入了一个问题,AIGC时代来临,程序员会不会被淘汰?——很有可能。

我们今天为ChatGPT欢呼,也许明天就会被它给驱逐。

36氪给李彦宏做了一个专访[3],我们看看其中的一段:

36氪:今天无数人在提问:AI会不会让打工人没有工作?OpenAI的创始人Sam Altman说,大量的人一定会失业,所以OpenAI会按需收费,给没有工作的人补贴。这其实是有点悲凉的,他自己说也有点可怕,你觉得这个事情会发生吗?这个问题你怎么看。

**李彦宏:**今天没有马车夫这样的工作,因为出现了汽车。但是今天世界上存在的工作机会跟100年前相比,不仅是多了,而且多了很多倍。

我没有那么悲观,我是乐观的。不管有多少工作被替代,这只是整个图景的一部分。另外一部分是,存在我们现在甚至无法想象的更多新机会。我做一个大胆预测,十年以后,全世界有50%工作会是提示词工程(prompt engineering),不会写提示词(prompt)的人会被淘汰。

我甚至在想一个问题——AI会不会淘汰AI工程师呢?

AI会不会淘汰AI工程师呢

所以,试着成为一名AI工程师?




参考:

[1]. https://platform.openai.com/

[2].https://www.zhihu.com/question/575983484/answer/2895862383

[3].https://36kr.com/p/2184414265262467

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7652.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch简介

第一章 ElasticSearch简介 1.1 什么是ElasticSearch Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB…

【数据结构与算法】树与二叉树

目录一.树1.树的定义2.结点的分类与关系3.树的相关概念4.树的表示方法二.二叉树1.二叉树的定义2.特殊二叉树3.二叉树的性质4.二叉树的顺序结构5.二叉树的链式结构(1)链式结构的创建(2)结点的创建(3)二叉树的手动构建(4)前中后序遍历(5)二叉树结点个数(6)二叉树的高度(7)第k层的…

Docker目录迁移

介绍 在docker的使用中随着下载镜像越来越多,构建镜像、运行容器越来越多, 数据目录必然会逐渐增大;当所有docker镜像、容器对磁盘的使用达到上限时,就需要对数据目录进行迁移。 如何避免: 1.在安装前对/var/lib/docker&#x…

如何3步精读《PMBOK指南》(含PMP备考资料)

初学者学习《PMBOK指南》的确有点吃亏,比不得那些项目管理专业以及相关专业的毕业生,哪怕只稍微接触过项目的都比初学者强。 所以,有计划性的阅读就显得尤为重要,要克服的不仅是阅读上的枯燥,还有专业知识的理解&…

Java——JDK动态代理

1.动态代理 1.1什么是动态代理? 动态代理(理解) 基于反射机制 举个例子,生活中一般在打官司的时候都会请代理律师,为什么要请律师呢?是因为开庭的时候大部人对于打官司没有经验,只会说出自己案件的陈述,并不…

软硬皆施,WMS仓库管理系统+PDA,实现效率狂飙

人工经验Excel表格,是传统第三方仓储企业常用的管理模式。在这种管理模式下,对仓库员工的Excel操作能力、业务经验和工作素养要求极高。一旦员工的经验能力不足,就会导致仓库业务运行不顺畅,效率低下,而员工也会因长时…

【MySQL】基于GTID的半同步主从复制(实践)

一、GTID简介 什么是GTID? 全局事务标识符GTID的全称为Global Transaction Identifier,是在整个复制环境中对一个事务的唯一标识。 它是MySQL 5.6加入的一个强大特性,目的在于能够实现主从自动定位和切换,而不像以前需要指定文件和位置。 …

ArduPilot飞控之DIY-F450计划

ArduPilot飞控之DIY-F450计划1. 历史2. 源由3. 计划3.1 硬件3.2 软件4. 动手4.1 接线4.1.1 ELRS nano接收机4.1.2 BN880 GPS模块4.1.3 Radio Telemetry4.2 配置4.2.1 选择四轴机型4.2.2 电源参数调整4.2.3 校准加速度计4.2.4 校准磁力计4.2.5 遥控器校准4.2.6 电机设置4.2.7 电…

企业电子招投标采购系统——功能模块功能描述+数字化采购管理 采购招投标

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…

Melis4.0[D1s]:4.测试笔记 - 内嵌的显示命令

文章目录1.配置将显示测试源码包含进工程(默认是包含了)2.不要启动melis桌面系统3.开始测试3.1 disp 命令3.1.1 disp不带参数时,打印显示信息:3.1.2 disp -c 0 8 测试4种颜色3.2 disp_layer_cfg 命令3.3 disp_mem 对显示内存写入内…

全球自动驾驶竞争力最新排行榜,4家中国企业上榜

发展至今,自动驾驶技术不仅是汽车行业的一个主战场,更是全球科技领域中备受关注和充满竞争的一个重要领域。近年来,各大汽车制造商和科技公司都在投入大量财力物力人力进行自动驾驶技术的研发,并进一步争夺市场份额。 当然&#…

人工智能前沿——「小海带」超全视觉注意力机制资源分享(附下载链接)

📚📚 人工智能 | 计算机视觉 —— 致力于目标检测领域科研Tricks改进与推荐 | 主要包括主干网络改进、轻量化网络、注意力机制、检测头部改进、空间金字塔池化、损失函数及NMS改进、ICCV/CVPR/ECCV视觉顶会创新点改进、各类数据集资源分享以及算法训练相…

智云通CRM:如何给客户创造尽可能安全的成交环境?

销售人员要想和客户顺利成交,给对方创造尽可能安全的成交环境尤为重要。销售人员的每一句话和每一个观点,应当都是客户所想的。客户是非常聪明的,有任何风吹草动,他们都会提高警惕,这就是客户跟销售人员之间关系的现状…

笔记:关于使用vitepress 制作静态站点并托管到gitee

笔记:关于使用vitepress 制作静态站点并托管到giteegiteejcLee95:https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/129419979…

spring5(五):AOP操作

spring5(五):AOP操作前言一、代理模式1、场景模拟2、代理模式2.1 概念2.2 静态代理2.3 动态代理二、AOP概述1、什么是 AOP?2、相关术语3、作用三、AOP底层原理1、AOP 底层使用动态代理2、AOP(JDK 动态代理)2.1 编写 J…

二分查找(二)

2.练习题 3) 力扣https://leetcode.cn/problems/search-in-rotated-sorted-array-ii/这题需要分三种情况,第一种是区间有序,正常二分查找,第二种是区间 被旋转,左区间的值大于右区间,需要比较目标值和左区…

机器视觉行业公司2023今年最大的特点-老员工真香现象出现,事出反常必有妖

老员工真香现象出现,事出反常必有妖。-老人涨薪,新人不招或降薪,工作2-3年最值得跳槽,培训后好找工作。 你可能看到以上现象很反感,但是现在机器视觉行业环境就是这个样子的。 今年机器视觉行业最大的特点就是项目技术…

Atlassian Server用户新选择 | 迁移到数据中心版前,您需要做这些准备(2)

2024年2月,也就是一年不到,Atlassian将终止对Server产品及插件的所有支持。 此公告发布后,许多用户需要了解怎样的前进方向才是最适合企业的。为此,Atlassian不仅提供云版,还提供了本地部署的数据中心(Data…

排序算法之希尔排序

📝个人主页:爱吃炫迈 💌系列专栏:数据结构与算法 🧑‍💻座右铭:快给我点赞赞💗 文章目录1. 希尔排序2. 算法思路3. 算法实现4. 算法性能分析💞总结💞1. 希尔排…

帆软FineReport学习篇(一)

帆软FineReport学习篇(一) 1 FineReport 11版下载 1.1 进入下载官网 fineReport 11版本下载链接 1.2 选择合适的版本,点击下载即可 2 解决问题的途径 2.1 社区搜索 2.1.1 进入社区官网 社区官网 2.1.2 输入搜索内容,点击搜索 1.1.3 选择你所需要的答案,建议优先点击官方…