AI学习笔记3 Function Calling

Function Calling

为什么要大模型连接外部世界

大模型两大缺陷:

  1. 并非知晓一切
    1. 训练数据不可能什么都有。垂直、非公开数据必有欠缺
    2. 不知道最新信息,大模型的训练周期很长,且更新一次耗资巨大,还有越训越傻的风险。所以ta不可能实时训练。GPT-3.5的知识截止至2021年9年,GPT-4是2023年12月。
  2. 没有【真逻辑】。它表现出的逻辑、推理,是训练文本的统计规律,而不是真正的逻辑,所以有幻觉。

所以,大模型需要连接真实世界,并对接真逻辑系统。

[阅读全文]

python学习

  • 安装pip

  • pip安装iPython?

  • 用缩进方式来区分代码块

  • 官方建议使用4个空格进行缩进,而不是制表符。https://peps.python.org/pep-0008/#tabs-or-spaces

    [阅读全文]
python 

macOS Dock栏设置

接扩展显示器的时候,Dock栏会在不同显示器之间切换展现,忍受这个问题很久了,今天花了一点时间找解决方案,最终还是无解,但是找到了另一种方式。

[阅读全文]
macOS  Dock 

CentOS7安装MySQL8的大坑

按官方文档,安装好MySQL后,配置好/etc/my.conf文件,但是启动失败,查日志发现报错:

1
/usr/sbin/restorecon:  lstat(/data/mysql) failed:  No such file or directory

是因为datadir文件夹没有写权限

[阅读全文]

k8s使用NFS存储卷

缘由:

go-zero gateway主要内容开发接近完成了,有一个问题一直没有解决,马上要部署了,是时候解决了。

因为主要是RESTful <–> gRPC,go-zero通过解析pb文件访问后端gRPC服务,pb文件则是通过proto文件生成,proto文件是定义接口的,接口变化会导致pb文件的变化和更新,但是通常gateway模块的功能开发相对稳定和单一,完成后很少会有修改。不希望因为pb文件的变化而导致gateway重新构建、版本发布,pb文件则是更像配置文件存在。

[阅读全文]
golang  go-zero  gateway  k8s  nfs  pv  pvc 

AI学习笔记1 大模型应用开发基础

大模型应用开发基础

什么是AI:基于机器学习、神经网络的是AI,基于规则、搜索的不是AI。

通俗语言描述大模型工作原理:根据上文,猜测下一个词的概率。 训练和推理,是大模型工作的两个核心过程。 用人类比,训练就是学,推理就是用。

[阅读全文]
AI 

AI学习笔记2 Prompt Engineering

Prompt Engineering

高质量Prompt核心要点:具体、丰富、少歧义

Prompt典型构成

  • **角色:**给AI定义一个最匹配任务的角色,比如:你是一位软件工程师、你是一位小学老师。马问题收窄,减小二义性。将重要信息放在开头或结尾。
  • **指示:**对任务进行描述
  • **上下文:**给出与任务相关的其它背景信息(尤其在多轮交互中)
  • **例子:**必要时给出举例,对输出正确性有很大帮助
  • **输入:**任务的输入信息;在提示词中明确的标识出输入
  • **输出:**输出的格式描述,以便后续模块自动解析模型的输出结果,比如JSON、XML

LLM本身是无状态的。

[阅读全文]

Golang私有仓库依赖解决方案

缘由:

以往Java日常开发中,模块依赖问题有成熟解决方案:

  1. 开发阶段,被依赖模块做为单独项目开发完成,导出jar包就可以被其他项目依赖;或者上传到Sonatype Nexus Repository共享,其他人/项目通过Maven解决依赖问题。
  2. 运行阶段,因为Java编译成中间代码,被依赖的包放在classpath中在需要时被加载运行。

与Golang开发的主要区别是Golang直接编译成二进制文件,而且是一个独立完整的可运行文件,其中包含了完整的依赖。 在开发阶段,Golang的依赖通常都是通过类似github之类仓库解决,这种方式有一个问题:企业开发过程中,可能会有一些被依赖的模块并不一定希望仓库是公开的,更适合的做法是保存在企业内部的Git服务器上;但是在开发阶段的依赖关系,在importgo mod中写企业内部仓库地址显然行不通。

[阅读全文]
golang  go mod  git 

MySQL8创建用户和授权

按之前版本MySQL创建用户和授权

1
2
3
4
5
6
7
8
# 创建用户
CREATE USER '<user>'@'%' IDENTIFIED BY '<password>';

# 授权
GRANT ALL PRIVILEGES ON <database>.* TO '<user>'@'%';

# 刷新权限
FLUSH PRIVILEGES;

在正常登录后报1142错误,经查解决方案如下:

[阅读全文]