并发调用deepseek API,构建多轮对话数据

现在大模型领域非常魔幻一件事,是调用友商开源的大模型构建自己的数据集,大家相互调用, 数据同源导致同样的问题回答内容也差不多,也难怪大家会质疑某些大模型是套壳gpt了,看来只有能积累原始数据的公司才能最终活下来。

这里就演示下如何用多进程调用商用大模型构建sft数据集

# -*- coding: utf-8 -*-
# @Time    : 2024/6/19 上午10:33
# @Author  : yblir
# @File    : xiaohuangya_deepseek_json.py
# explain  : 
# =======================================================
import json
import re
import sysfrom openai import OpenAI
from loguru import logger
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
# from queue import Queue
# from multiprocessing import Queue, cpu_count, shared_memory, Processwork_nums = 100
# img_queue = Queue(1000)client = OpenAI(api_key="这里填入自己购买的key", base_url="https://api.deepseek.com/")def find_all_index(str_, pattern):patt = re.compile(pattern, re.IGNORECASE)pos = [item.start() for item in patt.finditer(str_)]return posdef run(question_, index):new_line_ = {}history_ = []msg1 = '结合TABLE信息,分析TABLE表结构,question的查询目标,查询条件和查询逻辑这4项内容。'messages = [{"role": "system", "content": "你是个数据库专家,帮忙解答用户提出的问题"},{"role": "user", "content": f"{question_}, {msg1}"},]response = client.chat.completions.create(model="deepseek-coder",messages=messages)result = response.choices[0].message.contenthistory_.append([f"{question_}, {msg1}", result])# right_sql = deepseek_sql_create(question)# print(result)msg2 = "根据你的流程分析,针对给出的TABLE,写出能表达当前question意思的sql语句"messages.append({'role': 'assistant', 'content': result})messages.append({'role': 'user', 'content': msg2})response = client.chat.completions.create(model="deepseek-coder",messages=messages)result = response.choices[0].message.contenthistory_.append([msg2, result])# print('--------------------------------------------')# print(result)msg3 = '分析下你写的sql语句是否正确,如果你认为有不合理的地方,指出并改正。最后,给出你认为正确的sql语句'messages.append({'role': 'assistant', 'content': result})messages.append({'role'   : 'user','content': msg3})response = client.chat.completions.create(model="deepseek-coder",messages=messages)result = response.choices[0].message.content# print('--------------------------------------------')# print(result)new_line_['instruction'] = msg3new_line_['input'] = ''new_line_['output'] = resultnew_line_['history'] = history_logger.info(f'已完成数量:{index}')return new_line_if __name__ == '__main__':with open('tuning_sample.json', 'r', encoding='utf-8') as f:data = json.load(f)print(len(data))j = 6with ProcessPoolExecutor(max_workers=work_nums) as p:futures = [p.submit(run, line['instruction'], i + 1) for i, line in enumerate(data) if i + 1 > 1000]# 获取结果new_data_list = []k = 0for future in as_completed(futures):result = future.result()new_data_list.append(result)k += 1# 每抽取200条数据保存一次if k % 200 == 0:json_data = json.dumps(new_data_list, indent=4, ensure_ascii=False)with open(f'duck_sql_{j}.json', 'w', encoding='utf-8') as f:f.write(json_data)j += 1new_data_list = []json_data = json.dumps(new_data_list, indent=4, ensure_ascii=False)with open(f'duck_sql_extra.json', 'w', encoding='utf-8') as f:f.write(json_data)logger.success('json 写入成功')

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

threejs 光影投射-与场景进行交互(六)

效果 场景中有三个立方体,三种颜色.点击变成红色,再点恢复自身原有颜色 代码 import ./style.css import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js import { log } from three/examples/jsm/nodes/Nodes.js//…

运算放大器(运放)积分器电路

积分器电路 运算放大器(运放)积分器电路是在图2运放反相放大器的电路上增加一个积分电容构成,该积分电容并联在运算放大器的反馈电阻上,见图1。 运算放大器(运放)反相放大器电路 设计目标 输入fMin输入f0dB输入fMax输出VoMin输出VoMax电源Vcc电源Vee1…

互联网的起源与发展历程:从ARPANET到现代网络社会

ARPANET(1969年): 1969年,ARPANET上线,最初连接了加州大学洛杉矶分校、斯坦福研究所、加州大学圣巴巴拉分校和犹他大学。ARPANET的设计目的是创建一个分布式的网络系统,以确保在部分网络受到攻击时&#xf…

【源码+硬件说明+接线】Arduino-ESP32 http访问播放网络mp3音乐并获取获取远程服务器文件并存SD卡

前言 最近跟浩楠哥接了一个外包,不得不说人总得逼自己一把就可以学到很多东西,这次收获不小,就把一部分困扰我一段时间的部分放出来给大家看看,避免大家踩我相同的坑 1. 硬件准备 1.1 Esp32Wroom 主控使用esp32Wroom,我具备蓝牙,wifi,低功耗蓝牙功能,配合Arduino库作…

Go-知识并发控制mutex

Go-知识并发控制mutex 1. 介绍2. 数据结构2.1 Mutex 结构体2.2 Mutex 方法 3. 加锁解锁过程3.1 简单加锁3.2 加锁被阻塞3.3 简单解锁3.4 解锁并唤醒协程 4. 自旋过程4.1 什么是自旋4.2 自旋条件4.3 自旋的优势4.4 自旋的问题 5. Mutex 模式5.1 Normal 模式5.2 Starving 模式(饥…

Python基础-连接Mysql数据库

一、pymysql pymsql 是 Python 中操作 MySQL 的原生模块,其使用方法和 MySQL 的SQL语句几乎相同 1、下载安装 pip3 install pymysql2、执行SQL 执行 SQL 语句的基本语法: 需要注意的是:创建链接后,都由游标来进行与数据库的操…

[Linux内核驱动]内存动态申请

内核空间内存动态申请 更多详细内容可以查看我的github kmalloc() 函数原型: void *kmalloc(size_t size, gfp_t flags);参数说明: size:要分配的内存块的大小,以字节为单位。flags:分配标志,用于指定内…

挑战与机遇的交织

AI与音乐创作:挑战与机遇的交织 引言 近年来,人工智能技术的迅猛发展使得其在各个领域都展现出了巨大的潜力和影响力,音乐创作领域也不例外。最近上线的音乐大模型,无疑是这一趋势的一个重要节点,它极大地降低了素人…

市场价格到底是因为什么而变动?

在外汇及广泛的金融市场中,影响金融工具价格起伏的因素纷繁复杂。然而,万变不离其宗,无论是哪个市场,价格的最终决定力量始终是供需之间的平衡法则。 对于外汇、大宗商品等金融市场而言,表面上似乎受宏观经济数据、央…

FastBoot刷机获取root权限(Magisk)

1.首先要下载ADB、Fastboot等工具。 1.ADB、Fastboot工具 https://developer.android.com/studio/releases/platform-tools 2.安装FastBoot的USB驱动 https://developer.android.com/studio/run/oem-usb 2.下载对应的镜像 https://developers.google.com/android/images?…

Ubuntu系统配置C/C++编译环境

在Ubuntu系统中安装和学习C语言非常的方便,与Windows复杂的环境配置不同,Ubuntu提供了多种C/C开发工具,如GCC(GNU Compiler Collection)、GDB(GNU Debugger)和Valgrind等。这些工具不仅功能强大…

24.1 部署-交叉编译、压缩二进制文件、Docker容器

1. 交叉编译 Go语言的优越性之一是可在众多环境下运行,其中包括: 操作系统 windows、darwin、plan9、solaris、linux、netbsd/openbsd/freebsd、android体系架构 386/amd64、arm/arm64、ppc64/ppc64le、mips/mipsle/mips64/mips64le 使用go env命令可…

穿越时空的金星奥秘:揭秘古代天文学的惊人成就

在浩瀚的历史长河中,人类对宇宙的探索从未停止。而在中国古代,一项惊人的天文发现,至今仍让世界为之惊叹。那就是西汉时期的《五星占》,一部揭示金星会合周期的珍贵文献,其精确度之高,足以令现代天文学家瞠…

【AI基础】大模型资源整理

开局一张图,全靠硬凑: 硬拼一个雷达图: AI大模型,这是核心智能助手,基于大模型搭建的拿来就用的成熟应用平台应用分享,基于大模型搭建的拿来就用的小应用AI开发,基于大模型开发小应用 学习资源…

基于gunicorn+flask+docker模型高并发部署

好的,今天我们将讨论如何使用 Gunicorn Flask Docker 来实现高并发部署。这个模型是一个流行的组合,用于部署Python编写的Web应用程序,特别是使用Flask框架的应用程序。Gunicorn是一个Python WSGI HTTP服务器,而Docker提供了一个…

容器之分栏窗体构件演示

代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_new(GTK_WINDO…

智慧园区解决方案PPT(53页)

## 1.1 智慧园区背景及需求分析 - 智慧园区的发展历程包括园区规划、经济、产业、企业、管理、理念的转变&#xff0c;强调管理模式创新&#xff0c;关注业务综合化、管理智慧化等发展。 ## 1.2 国家对智慧园区发展的政策 - 涉及多个国家部门&#xff0c;如工信部、住建部、…

抖音开放平台代开发小程序,上传模板代码

大家好&#xff0c;我是小悟 抖音小程序第三方平台开发着力于解决抖音生态体系内的小程序管理问题&#xff0c;一套模板&#xff0c;随处部署。能尽可能地减少服务商的开发成本&#xff0c;服务商只用开发一套小程序代码作为模板就可以快速批量的孵化出大量的商家小程序。 第…

Service方法增加@Asyn注解后导致bean无法找到 NoSuchBeanDefinitionException

Service方法增加Asyn注解后导致bean无法找到 NoSuchBeanDefinitionException 场景处理方法原因 场景 首先确认的是Service添加了Service或Component等注解&#xff0c;另外也增加了ComponentScan确定扫描的包路径是包含对应Service的&#xff0c;但就是无法找到这个bean。 通…

开放式耳机怎么选?五款劲爆机型强势PK!2024推荐版!

身为健身达人&#xff0c;我对耳机的要求可不低。开放式耳机让我在健身时既能享受音乐&#xff0c;又能清晰听到教练的指导。它佩戴舒适&#xff0c;不易掉落&#xff0c;而且音质出色&#xff0c;让我沉浸于运动的节奏中。市面上开放式耳机种类繁多&#xff0c;我为大家挑选了…