【GPT调用】本地使用python调用GPT接口

环境变量设置

.env文件中配置GPT环境变量

api_key="你的GPT-API-KEY"
url=https://ai-proxy.ksord.com/wps.openai.azure.com/openai/deployments/gpt-4-32k/chat/completions?api-version=2023-09-01-preview

主调用方法

一般需要先安装load_dotenv库:

pip install load_dotenv

import requests
import os
from dotenv import load_dotenv

# 获取env文件中的环境变量
load_dotenv()

# 环境变量赋值
endpoint = os.getenv("url")
api_key = os.getenv("api_key")

# 封装GPT请求方法
def get_completion(messages, model="gpt-4-32k"):
    headers = {
        "Content-Type": "application/json",
        "api-key": api_key,
    }

    payload = {"model": model, "messages": messages, "temperature": 0.5, "top_p": 1, "frequency_penalty": 0, "presence_penalty": 0, "stop": None}
    response = requests.post(endpoint, headers=headers, json=payload, stream=True)
    try:
    	# 提取GPT返回的结果信息
        return response.json()["choices"][0]["message"]["content"]
    except Exception as e:
    	# 请求报错时,返回错误原因
        print(response.json())
        raise e

# 赋初值,也可设为空List
messages = [{"role": "system", "content": "You are a helpful assistant."}]

# 设置传入message值为input型
# 设置特殊指令break
# 打印返回结果
while True:
    message = input("User: ")
    if message.lower() in ("quit", "exit"):
        break

    messages.append({"role": "user", "content": message})
    anwser = get_completion(messages)

    print(f"Bot: {anwser}")
    messages.append({"role": "assistant", "content": anwser})

执行结果

在这里插入图片描述

相关推荐

  1. 调用GPT3接口的一些参数

    2024-05-11 17:04:02       25 阅读
  2. 使用GPT大模型调用工具链

    2024-05-11 17:04:02       31 阅读
  3. python调用http接口

    2024-05-11 17:04:02       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-11 17:04:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-11 17:04:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-11 17:04:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-11 17:04:02       20 阅读

热门阅读

  1. .NET_控制反转简述

    2024-05-11 17:04:02       14 阅读
  2. No signature found in package of version 2 or newer for package

    2024-05-11 17:04:02       10 阅读
  3. go-Expect-实验

    2024-05-11 17:04:02       9 阅读
  4. Linux 第二十六章

    2024-05-11 17:04:02       12 阅读
  5. vue3-seamless-scroll实现循环滚动

    2024-05-11 17:04:02       8 阅读
  6. 以太网网络变压器型号

    2024-05-11 17:04:02       10 阅读
  7. git 更换远程仓库地址三种方法总结

    2024-05-11 17:04:02       10 阅读
  8. 【笔记】Android MVNO APN 字段配置方法

    2024-05-11 17:04:02       10 阅读
  9. react18【系列实用教程】useState (2024最新版)

    2024-05-11 17:04:02       13 阅读
  10. impdp恢复表后发现比原表多了100多行

    2024-05-11 17:04:02       9 阅读
  11. C++ 多线程笔记1 线程的创建

    2024-05-11 17:04:02       11 阅读
  12. 【Python快速上手(十九)】

    2024-05-11 17:04:02       7 阅读
  13. 【go从入门到精通】精通并发编程-协程goroutine

    2024-05-11 17:04:02       12 阅读