如何配置 OpenAI 环境变量

配置 OpenAI 环境变量

  1. 操作步骤

    1. 本地创建一个新文件夹(文件夹命名最好是英文、文件夹内无其他文件)
    2. 打开编辑器(VScode)→打开刚才创建的「文件夹」
    3. 在项目文件夹里,创建一个名为 .env 的文件
      1. 不是 .env.py
      2. 不是 xxx.env
      3. .env文件确认要保存(MacOS系统: command+s)
      4. VSCode 编辑器,看一下当前文件上面是否有小圆点,如果有代表没有保存
  2. 输入如下代码

    1. sk-xxx 使用自己的 key 替换

    2. OPENAI_BASE_URL

      1. 不是 OPENAI_API_BASE
      2. 不是 OPENAI_API_URL
      3. OPENAI_BASE_URL的值是 https://api.fe8.cn/v1/v1不要漏掉)
      4. OPENAI_BASE_URL是访问 OpenAI 的代理跳板,已解决网络通道问题
      Bash 复制代码
      OPENAI_API_KEY="sk-xxx"
      OPENAI_BASE_URL="https://api.fe8.cn/v1"
  3. 注意事项

    1. 关闭:梯子、魔法、科学上网
    2. 无需在命令行或 Windows 的全局环境配置变量

安装包 pip

  1. 安装项目依赖的包

    1. MacOS 系统

    Bash 复制代码
    pip3 install python-dotenv openai    
    1. Windows 系统

    Bash 复制代码
    pip install python-dotenv openai    

创建源代码文件

  1. 在编辑器(VSCode)里,新建名为 index.py 的文件

  2. 复制如下代码在 index.py 文件中

Python 复制代码
import os
from openai import OpenAI

# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())

# 配置 OpenAI 服务  

client = OpenAI()

response = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "讲个笑话",
        }
    ],
    model="gpt-3.5-turbo",
)

print(response)

# print(print(response.choices[0].message.content))  # 更具体的的打印
  1. 运行代码,在index.py 的文件,运行 Python 代码
    1. 保存 .env文件

    2. 确保为最新的 Python 版本

    3. 查看运行代码结果

    4. 暂时无法在飞书文档外展示此内容

  2. 官方 OpenAI key (自己去OpenAI官方注册的key)

注意:这是在 OpenAI 官方注册的key才能使用,如果你用DevAGI的key,请不要使用。

  1. 如果你有 OpenAI 的官方 key,并可以畅通访问 OpenAI 的网络
  2. 需修改 .env 文件里的 OPENAI_API_KEY 为你自己的 key,并删除 OPENAI_BASE_URL
  3. 如果你需要通过代理访问 OpenAI,那么需要配置 OPENAI_BASE_URL 为你的代理地址
  4. 再次提醒:如果你使用 DevAGI 的 key ,不要 用如下代理地址
Bash 复制代码
OPENAI_API_KEY="sk-xxx" # OpenAI 官方的 key
OPENAI_BASE_URL="https://a.xairun.com/v1" # 国内的代理地址,再次提醒:如果你使用 DevCTO的key,不要用这个地址。
相关推荐
GIS数据转换器12 分钟前
洪水时空大数据分析与评估系统
大数据·人工智能·机器学习·数据挖掘·数据分析·无人机·宠物
rainbow72424412 分钟前
企业AI学习体系选型与构建:内部培训、外部引进与实战项目的深度结合方案
大数据·人工智能
ken223228 分钟前
在ubuntu终端里, 怎样让历史不要记录本条命令:禁止记录包含密码之类的命令
linux·运维·ubuntu
Web3_Daisy28 分钟前
Token 分红机制详解:实现逻辑、激励结构与风险分析
大数据·人工智能·物联网·web3·区块链
Lucis__31 分钟前
Linux进程间通信IPC:从管道到共享内存的发展演进
linux·运维·服务器
ETA833 分钟前
状态管理没那么复杂:手写实现 Zustand 核心逻辑
前端·react.js
FanetheDivine38 分钟前
在react中使用signal
vue.js·react.js
BullSmall41 分钟前
Nginx负载均衡会话保持配置指南
运维·nginx·负载均衡
不吃香菜kkk、1 小时前
夜莺n9e+监控K8s集群+自定义监控页面
运维·云原生·云计算
We་ct1 小时前
React Hooks 核心原理
前端·react.js·链表·前端框架·reactjs·hooks