编程语言 到底什么是ChatGPT的函数调用function calling function calling 这个词一听还以为是 GPT 帮我去调用函数,实际上并不是这样。 使用场景 我们在和 GPT 聊天的过程中,可能会涉及一些特定的问题,比如在聊天时,我突然问 GPT :北京今天天气怎么样? 很显然 GPT 是不知道实时的天气的,那怎么办呢,用 function calling 可以实现,我们可以提前定义好一个函数,这个函数有一个城市参数,函数内部会去调用 API 查询这个城市当前的天气情况。 请注意:这个调用天气的接口是我们自己提前写好的, yuziyue 19 Jun 2024 · 3 min read
编程语言 使用Django开发简单的后台管理 配置Django 假设我现在要创建一个项目 panda_admin pip install mysqlclient Django # 创建项目(不需要提前创建任何目录) django-admin startproject panda_admin # 创建你的应用,假如应用名称为:camera python manage.py startapp camera # 目录结构如下:ls -l drwxr-xr-x 9 yzy staff 288 yuziyue 17 Jun 2024 · 2 min read
大数据开发 OpenAI ChatGPT总结上下 一. 总结聊天标题 * 在用户发起一次聊天后总结对话标题 { "messages": [ { "role": "user", "content": "Python中,两个字典如何合并到一个字典里面" }, { "role": "assistant", "content": "在Python中,你可以使用`update()`。。。这两种方法都可以将两个字典合并到一个字典中。" }, { "role": "user", "content": "使用6到7个字直接返回这句话的简要主题,不要解释、不要标点、不要语气词、不要多余文本,不要加粗,如果没有主题,请直接返回“闲聊”" } ], "stream": true, yuziyue 11 Jun 2024 · 6 min read
大数据开发 Gradio如何获取客户端信息 原始app.py应用 我编写了一个简单Gradio应用,代码如下(server_app.py): import gradio as gr def gradio_submit_fn(arg1, arg2): return f"arg1: {arg1}, arg2:{arg2}" with gr.Blocks() as gradio_app: samples yuziyue 31 May 2024 · 4 min read
编程语言 Python错误 certificate verify failed: unable to get local issuer certificate 解决 Python错误 certificate verify failed: unable to get local issuer certificate 解决 在安装语音识别包 whisper 的时候,遇到如下错误。 whisper -f srt ../edge-tts-test/xxxby_edge_tts.mp3 --language Japanese yuziyue 8 Oct 2023 · 1 min read
编程语言 Python 实现 linux 命令 tail Python 实现 linux 命令 tail ,在某些场景需要实时读取文件的新增内容,使用linux的命令行tail不是很容易操作,所有有了python版本的tail,方便直接加入到脚本。自定义处理函数 同时还可以指定从文件开头,还是文件末尾读取,以及读取的间隔时间。t = tail.Tail("/tmp/able") yuziyue 30 Jul 2023 · 2 min read
编程语言 Python字典的所有用法整理 OrderedDict 内部维护着一个根据键插入顺序排序的双向链表。每次当一个新的元素插入进来的时候, 它会被放到链表的尾部。可以很方便的使用 collections 模块中的 defaultdict 来构造这样的字典。 defaultdict 的一个特征是它会自动初始化每个key 刚开始对应的值。 yuziyue 26 Jul 2023 · 5 min read
编程语言 Python 实现经典排序算法 将顺序存储的 n 个待排序记录划分为两个区间:一个有序区间,一个无序区间;初始时有序区间为 [R1],无序区间为 [R2...Rn],令 i 指向无序区中第一个元素,初始值 i=1。 当 i<=n 时重复指向: 将当前无序区中的第一个记录Ri插入到有序区的适当位置,使得有序区变为一个新的有序区。 yuziyue 22 Jul 2023 · 15 min read
编程语言 一文彻底搞懂 Python 字符编码 ascii、gb2312、gbk、unicode、utf-8 这些编码都分别表示什么含义呢 ?ascii编码规定,一个英文字符需要一个字节(8bit位)大小,汉字的编码超出了ascii 的范围,至少需要两个字节来表示一个中文字符,某些复杂的汉字需要3到6个字节来表示。 yuziyue 22 Jul 2023 · 8 min read
编程语言 Python 虚拟环境 virtualenv 与 virtualenvwrapper 总结 虚拟环境就是每个项目都单独使用一个隔离 Python 环境,每个项目自己的安装的包只在这个虚拟环境下有效,不会影响其他项目的。我们常用了两个工具来管理虚拟环境:virtualenv、virtualenvwrapper yuziyue 17 Jul 2023 · 3 min read
编程语言 Python多版本管理工具pyenv pyenv 可以在不影响系统的 python 的情况下,安装并管理多版本的Python,它不依赖原有系统的任何 Python 设置, github 地址 https://github.com/pyenv/pyenv 使用脚本自动安装,安装目录会在 $HOME/.pyenv 下,可以关注下安装过程中的输出日志。 yuziyue 14 Jul 2023 · 3 min read
编程语言 使用Python实现杨辉三角 1. 杨辉三角 杨辉三角,是二项式系数在三角形中的一种几何排列。下一行的每一个元素都等于本行相邻两元素相加而得到。 2. 实现方法 将本行拷贝两个副本,将这两个副本分别在前后各补上一个 0,然后将这两个副本相加即可得到下一行数据。lines 表示要显示的行数。 yuziyue 12 Jul 2023 · 1 min read
编程语言 Python模块与包使用实践 一. 定义 模块 : 一个 .py 文件就是一个模块(module),去除.py后缀的文件名就是模块名。 包 : __init__.py 文件所在目录就是包(package),目录名称就是包名称。 二. 两种形式的 import import ... from ... import ... 第一种import后面只能是模块名、包名。 yuziyue 12 Jul 2023 · 2 min read
编程语言 Python全局自定义异常处理 使用场景 自定义 exceptionhook ,当程序遇到错误后,可以发送钉钉消息、发送邮件等等,把重要的信息直接发出来,就不用去服务器上看错误日志了,这样简单直接省事。 使用示例 yuziyue 12 Jul 2023 · 1 min read
编程语言 Python描述器Descriptor 一个描述器就是一个实现了三个核心属性访问的方法 __get__() 、__set__() 、 __delete__() 的类。常用作数据合法验证、缓存耗时计算等。 当一个对象的属性被访问时,Python 解释器首先检查该属性是否是一个描述器,如果该属性是描述器,则调用描述器对应的三个方法, yuziyue 12 Jul 2023 · 3 min read
编程语言 Python发送邮件完整示例 下面是以网易 yeah.net 邮箱为例子。from email.header import Header from email.mime.text import MIMEText import smtplib to = ['xxx@qq.com', 'xxx@163.com'] from_address = 'username@yeah.net' from_password = 'xxxxxx' smtp_server = 'smtp.yeah.net' # 纯文本邮件 # msg = MIMEText('我是正文啊。。', 'plain', 'utf-8') yuziyue 11 Jul 2023 · 1 min read
编程语言 Python调用并执行外部Linux命令 执行 bash 命令,调用 linux 命令,执行外部命令 cmd 出入的命令行,可以多个命令,可以管道 cwd 执行命令目录,默认是脚本所在目录 shell 为 True 通过 shell 执行 raise_error 遇到错误是否抛出错误,不抛出错误则通过标准错误返回错误信息 yuziyue 11 Jul 2023 · 1 min read
编程语言 巧用Python命名namedtuple namedtuple 避免了元组不知道每个索引的值代表的含义的尴尬, 给元组的每一个索引指定一个名称,调用时根据名称调用,同时也可以使用原来的下标方式访问,看例子。 yuziyue 8 Jul 2023 · 1 min read