LLM 开发实战系列 | 01:API进行在线访问和部署

news2024/9/28 15:23:34

在本文中,我们将使用Python编程语言来展示如何调用OpenAI的GPT-3.5模型。在开始之前,请确保您已经注册了OpenAI API并获得了访问凭证。

环境准备

下载python

方法1:官网

www.python.org

从最开始的开始,先到Python官网下载一个合适版本的Python (我推荐python3.10, python3.8)

下面将以python3.10.11为例子讲解

点开Downloads之后划到最底下下载适合自己系统的版本。

下面展示的是windows Installer 安装。(installer应该没有人不会用吧)

下载好后走完流程。

【注意】如果不是做移动式的环境建议直接 add to PATH

方法2:Conda (推荐)

https://www.anaconda.com/download/

下载好后走流程。

配置并下载啥的我就没啥好说的,网上一抓一大把(人家都有选自带的Python3.9)

方法3:VSCode

没啥可说的。心目中全球第一的程序猿必备东西

https://code.visualstudio.com/Download

下载好后走流程。

打开后安装python插件,一套下来的。


环境变量配置

找到anaconda安装位置

首先下载好conda环境,例如我下载在D盘

 

打开环境变量配置设置

可以按win+S进入搜索框,输入环境变量,编辑环境变量

点击“新建”按钮新建一个变量,输入安装的目录

 

 在path中加入环境变量

分析一些,前面建立了一个变量就是初始地址,在path当中使用 %ANACONDA_HOME%就代表D:\anaconda,这样方便在修改下载目录的时候,也要修改path里面内容,我们只需要修改变量名的路径即可

%ANACONDA_HOME% 这里面有python.exe 因此输入后我们在命令框输入python,就可以直接运行python命令行环境

 %ANACONDA_HOME%\Scripts 主要是包括conda可执行文件,方便运行

其他的环境变量也类似,因此环境变量的好处就是方便打开指定文件,要不然要切换到此目录才能打开

输入python命令跳入商店问题

win+S 输入 管理应用执行别名 关闭即可 

安装openai库

安装方法有很多,这里只讲pip 安装方式。因为pip是万能的

打开你下载的位置并寻找到python.exe

将python.exe 拖入cmd窗口

(回车就会运行,但是我们先把库安装好再说。)

1、首先使用pip show pip 命令查看当前pip版本;

pip show pip

 2、升级命令:python -m pip install --upgrade pip;

python -m pip install --upgrade pip

 3、验证升级成功,再次使用pip show pip命令查看pip版本。

pip show pip

 推荐清华源加速:

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openai

 回车后安装

Python调用openai库

详细可以参考Openai官网:https://platform.openai.com/docs/api-reference/authentication

我下面放几个例子:

 首先请确保本地代理可以正常访问opanai API。可以使用Postman进行测试

API Key配置

参数配置 

  1. 调用gpt-3.5-turbo-0301模型

import openai

openai.api_key  = '你自己的Key'

# 一个封装 OpenAI 接口的函数,参数为 Prompt,返回对应结果
def get_completion(prompt, model="gpt-3.5-turbo-0301"):
    '''
    prompt: 对应的 prompt
    model: 调用的模型,如果使用ChatGPT,该值取gpt-3.5-turbo,有内测资格的用户可以选择 gpt-4
    '''
    messages = [{"role": "system", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=0, # 模型输出的温度系数,控制输出的随机程度。如果为0,就是确切的结果,每次结果是相同的
    )
    # 调用 OpenAI 的 ChatCompletion 接口
    return response.choices[0].message["content"]


if __name__ == '__main__':
    text = """
    你应该提供尽可能清晰、具体的指示,以表达你希望模型执行的任务。\
    这将引导模型朝向所需的输出,并降低收到无关或不正确响应的可能性。\
    不要将写清晰的提示与写简短的提示混淆。\
    在许多情况下,更长的提示可以为模型提供更多的清晰度和上下文信息,从而导致更详细和相关的输出。
    """
    # 需要总结的文本内容

    prompt = f"""把用三个反引号括起来的文本总结成一句话。```{text}```"""
    # 指令内容,使用 ``` 来分隔指令和待总结的内容
    response = get_completion(prompt)
    print(response)

   2. 调用DALL·E

import openai
msg = input()
openai.api_key = "你自己的api"
response = openai.Image.create(
        prompt = msg,
        n = 1,
        size = '1024x1024'
    )
image_url = response['data'][0]['url']
print(image_url)

        可用 

 请详见openai的API指南,官方的api感觉一直在变。所以此文章的写法可能不是最新的。

 

更多信息关注公众号@汽车新科技研习社

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

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

相关文章

零基础自学:2023年的今天,请谨慎进入网络安全行业

前言 2023年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单,目前来说,信息安全的圈子人少,985、211院校很多都才建…

Linux中安装部署docker

目录 什么是docker系统环境要求安装和使用docker 什么是docker Docker是一个开源的容器化平台,用于帮助开发者更轻松地构建、打包、分发和运行应用程序。它基于容器化技术,利用操作系统层级的虚拟化来隔离应用程序和其依赖的环境。通过使用Docker&#…

javaEE进阶 -初识框架

目录 1.为什么要学框架? 框架的优点展示 2、项目的开发 2.1 Servlet 项目的开发 2.2 Spring Boot 项目开发 3 、Spring Boot编写代码 4、 Spring Boot 运行项目 5、验证程序 6、发布项目 主要讲解 四个框架。 1、Spring 2、Spring Boot 3、Spring NVC 4、…

别只盯着Docker了,这十大容器运行时错过后悔

文章目录 一、Docker二、Containerd三、CRI-O四、Firecracker五、gVisor六、Kata七、Lima八、Lxd九、rkt十、runC如何选择适合自己的容器运行时? MCNU云原生,文章首发地,欢迎微信搜索关注,更多干货,第一时间掌握&#…

Apikit 自学日记:数据结构

您可以将API文档中的重复部分提取出来成为数据结构,方便其他文档中复用。当数据结构发生改变时,所有引用了该数据结构的API文档会同步发生改变。 创建数据结构 进入数据结构管理页面,点击 添加数据结构 按钮,输入相关内容并保存…

XXL-JOB任务调度

简介: XXL-JOB 是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 官网:https://www.xuxueli.com/xxl-job/ 以下业务场景可用任务解决 某电商平台需要每天上午10点,下午3点,晚上8点发…

2023 高质量 Java 面试题集锦:高级 Java 工程师面试八股汇总

人人都想进大厂,当然我也不例外。早在春招的时候我就有向某某某大厂投岗了不少简历,可惜了,疫情期间都是远程面试,加上那时自身也有问题,导致屡投屡败。突然也意识到自己肚子里没啥货,问个啥都是卡卡卡卡&a…

炫技亮点 Websocket集群解决方案汇总

文章目录 问题方案方案一:~~Session共享~~(不可行)方案二:负载均衡器(状态路由)方案三:广播机制(异步方式 - 建议)方案四:路由转发(同步方式&…

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(2)

大家好,最近准备总结一下JS的经验,分享分享,有不对的欢迎讨论哈~ JS作为前端的基础技能,每一位前端开发都要运用熟练,但你真的会写JS吗?js全称JavaScript,是运行在浏览器上的脚本语言&#xff0…

【高危】Nuxt.js <3.4.3 远程代码执行漏洞(POC公开)

漏洞描述 Nuxt.js(简称 Nuxt)是一个基于 Vue.js 的通用应用框架,用于构建服务端渲染的应用程序(SSR)和静态生成的网站。 Nuxt.js 3.4.3之前版本中的 test-component-wrapper 组件的动态导入函数存在代码注入漏洞,当服务器在开发…

Java集合流式编程

一、简介 1、什么是集合流式编程 集合流式编程(Stream API)是Java 8引入的一个功能强大的特性,它提供了一种更简洁、更高效的方式来操作集合数据。它的设计目标是让开发者能够以一种更声明式的风格来处理集合数据,减少了显式的迭…

Ubuntu部署jmeter与ant

为了整合接口自动化的持续集成工具,我将jmeter与ant都部署在了Jenkins容器中,并配置了build.xml 一、ubuntu部署jdk 1:先下载jdk-8u74-linux-x64.tar.gz,上传到服务器,这里上传文件用到了ubuntu 下的 lrzsz。 ubunt…

WordPress 备份插件 BackUpWordPress

WordPress备份是一件必不可少的事情,毕竟自己辛辛苦苦花了很多时间精力写得博客,经验总结,必须保留传承。WordPress备份可以在发生灾难性情况(比如劫持或意外锁定)下迅速恢复,确保了网站安全。 BackUpWord…

揭示不断增长的预切蔬菜市场:深入研究行业驱动因素和挑战

随着现代社会的快节奏和人们生活压力的增加,越来越多的人选择预制菜作为饮食解决方案,预制菜已经成为餐饮行业的新兴赛道。预制菜的优点包括方便快捷、卫生安全、节省时间、质量可靠,以及丰富的菜品选择和灵活的烹饪和食用方式,满…

基于SpringCloud微服务流动资金贷款业务系统设计与实现

一、引言 由于传统的贷款业务系统并不能够顺应时代的变化,同时在一定程度上对业务发展进行了限制,所以为了适应时代的发展,信息贷款业务应该能够被产品化、丰富化,同时还需要制定一套特定的流程来满足新时代用户的需求。流程化的规范管理是当今银行业务发展的必然趋势,研究并开…

基于Stable Diffusion的2D游戏关卡生成【实战】

接下来的几篇文章将与常规主题有所不同(这是在从事通用机器人技术的职业中吸取的教训)。 相反,我决定利用我的一些新空闲时间 1 边做边学,并使用所有酷孩子都在谈论的一些很酷的新 ML。 推荐:用 NSDT设计器 快速搭建可…

分割回文串-ii

分割回文串-ii 题目链接:分割回文串-ii 思路:分割字符串s,使得子串都是回文串,最后获得最小分割次数。那么我们可以不断把字符串缩短,判断子串是否可以被分割成回文串,并且最小分割次数。这就是子问题分割…

贝叶斯算法人生

哈喽大家好,我是咸鱼 之前看到过耗子叔写的一篇文章《程序算法与人生选择》,这篇文章中耗子叔结合计算机中的经典算法(排序、动态规划等等),让大家在人生道路的选择上获得了一些启发 我最近看了一些关于贝叶斯思想的…

StringBuilder和StringBuffer

StringBuilder和StringBuffer 目录 StringBuilder和StringBuffer特点常见方法练习:测试字符串连接StringBuilder和StringBuffer的区别 特点 封装了char[]数组 是可变的字符序列 提供了一组可以对字符内容修改的方法 常用append()来代替字符串做字符串连接”” 内部…

智慧文旅VR全景展示,深度VR沉浸式体验

导语: 智慧文旅VR全景展示为我们带来了一种独特的旅行体验,让我们可以穿越时空、身临其境地感受历史、艺术和自然的魅力。 在这个数字化时代,智慧文旅VR全景展示成为了旅游界的新宠,它让我们能够以一种前所未有的方式探索世界&am…