分步流程

环境要求:

Python 3.9 或更高版本,Python 友好的 IDE(例如 Visual Studio Code 或类似工具)。

获取 AI 密钥

要运行您自己的 DeepSeek API 项目,您需要一个API 密钥。首先,到DeepSekk官网或者第三方模型平台注册,注册后设置API Key。

“+ 创建新密钥”sk-XXXXX创建一个新的 API 密钥。其中XXXXX是一串较长的字母数字字符串,其中可能包含一些特殊字符,例如短划线和下划线。您稍后需要复制并粘贴此 API 密钥。

设置 Python 项目和虚拟环境

假设您使用的是 VS Code(如果使用其他 IDE,则可能需要采取稍微不同的操作),让我们在左侧的文件目录中创建一个新的项目文件夹api_hello,因为这是我们的第一个 Deepseek AI API 项目,项目名称中的“hello”代表无处不在的“Hello World”!

在文件夹中,我们将添加另外两个文件:main.pyrequirements.txt。我们暂时将 Python 文件留空,并将以下内容添加到requirements.txt文件:

fastapi
uvicorn
openai
python-dotenv

这些是我们需要在运行项目的虚拟环境中安装的库和依赖项。请确保将更改保存在修改后的文件中。

在处理需要多个依赖项的项目时,建议设置虚拟环境,因为它可以隔离依赖项,防止库版本之间的冲突,并在“开发生态系统”中保持一定的秩序。您可以通过以下方式进行设置:

  • 按Command + Shift + P打开命令面板。
  • 从下拉列表中选择Python:Create Environment ,手动输入,然后选择venv
  • 你可以选择创建新的虚拟环境或选择现有的虚拟环境:对于此类首次创建的项目,我们建议创建虚拟环境。然后,选择合适的 Python 版本(我选择了 Python 3.11)。
  • 现在应该提示你选择requirements.txt之前创建的依赖项并安装列出的依赖项。这非常重要,因为我们的 Python 项目需要 FastAPI、Uvicorn、OpenAI 和 Python-dotenv 才能正常运行。

如果最后一步不起作用,请尝试在 IDE 的终端中运行此命令:

pip install fastapi uvicorn openai python-dotenv

主 Python 程序

main.py现在是时候通过添加以下代码来填充我们之前创建的空文件了:

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import os
from openai import OpenAI
from dotenv import load_dotenv
 
from dotenv import load_dotenv
import os
 
# IMPORTANT: PASTE YOUR OPENAI API KEY BETWEEN THE "" HERE:
client = OpenAI(api_key="sk-...")
 
app = FastAPI()
 
class ChatRequest(BaseModel):
    message: str
 
@app.post("/chat")
async def chat(request: ChatRequest):
    try:
        completion = client.chat.completions.create(
            model="deepseek-chat",
            messages=[
                {"role": "system", "content": "You are a helpful assistant."},
                {"role": "user", "content": request.message}
            ]
        )
        return {"response": completion.choices[0].message.content}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))
 
@app.get("/")
def root():
    return {"message": "Hello, World"}

在继续之前,我们先来看看代码的各个部分。相信我,这很简单:

首先,导入必要的库和模块以及os原生库。在本版本的代码中我们不需要它,但如果第一次尝试成功,您可能需要返回 Python 代码并访问存储在项目中包含.venv该密钥的附加文件中的 API 密钥,而不是直接将整个 API 密钥粘贴到 Python 程序中。我们稍后会详细说明这一点。

非常重要的是,在这一行:

client = OpenAI(api_key="sk-XXXXX")

您必须粘贴之前生成的 API 密钥,具体来说,请sk-XXXXX用您的实际密钥替换字符串,并保留两边的引号。或者,如果您想将 API 密钥存储在单独的文件中,请.venv在项目文件夹中创建一个名为 的文件,并添加:

OPENAI_API_KEY=<YOUR KEY GOES HERE>

要使用此方法访问密钥,请替换以下指令:

client = OpenAI(api_key="sk-XXXXX")

有了这个:

load_dotenv(dotenv_path=os.path.join(os.path.dirname(__file__), ".env"))
 
api_key = os.getenv("OPENAI_API_KEY")
print("Loaded API key:", api_key)  # Useful for debugging and potential troubleshooting, remove if it works.
 
if not api_key:
    raise RuntimeError("OPENAI_API_KEY not found in environment variables")

如果您只是决定将 API 密钥粘贴到 Python 文件代码中,则无需执行最后几个步骤。让我们看一下代码的更多部分:

app = FastAPI()
 
class ChatRequest(BaseModel):
    message: str

第一条指令基于一个处理请求的 Web API 创建了一个 FastAPI 应用程序实例。第二条指令定义了一个所谓的 Pydantic 模型,FastAPI 利用它来平滑地验证和解析输入或请求,并期望请求主体为 JSON 格式。该message: str指令在请求主体中添加一个名为“message”的字段,其值为一个字符串,稍后将在该字段中指定 LLM 的用户提示。

该程序的主要功能如下:

@app.post("/chat")
async def chat(request: ChatRequest):
    (...)

这是定义 API 的主要逻辑的地方,即通过创建实例来访问 GPT-4 模型、向其发送输入并收集响应。

运行和测试项目

保存 Python 文件,然后点击“运行”图标或python main.py在终端中运行。您还需要在 IDE 终端中运行以下命令(为此,非常重要,请确保您位于项目的正确目录中,并且虚拟环境已激活):

uvicorn main:app --reload --port 8010

如果您看到像这样输出一系列“INF0”消息,这是一个好兆头,您的 FastAPI 服务器现在正在运行:

INFO:     Will watch for changes in these directories: ['<PATH_IN_YOUR_MACHINE>/openai_api_hello']
INFO:     Uvicorn running on http://127.0.0.1:8010 (Press CTRL+C to quit)
INFO:     Started reloader process [98131] using StatReload
INFO:     Started server process [98133]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

现在可以通过以下方式访问该服务 http://127.0.0.1:8010/docs(这里我们使用了端口 8010,但请确保您使用的是正确的端口)。在浏览器中打开此 URL,如果一切顺利,您将看到如下所示的 FastAPI Docs Web 界面:

适用于您的 OpenAI API 项目的 FastAPI 文档界面

我们即将迎来整个流程中最激动人心的部分:测试我们的 API 项目!在显示的界面中,点击POST/generate框旁边的箭头将其展开,然后点击“试用”按钮。

在这里,你可以输入自己选择的提示符来向 GPT-4 提问。你必须使用专用的类似 JSON 的参数值来执行此操作,如下所示,方法是替换默认提示符:"string"。例如:

在我们的 API 项目界面中输入 GPT-4 的提示

点击“执行”按钮后,几秒钟后你可以通过稍微向下滚动来获得响应:

本地法学硕士回应

做得好,您的 API 项目现在开始与 Deepseek 的 模型 模型进行对话!

完成第一个项目后,你可能会思考下一步该做什么。后续开发的可能思路包括:使用 React 或 Vue 等技术,或者结合 HTML 与 JavaScript,甚至 Streamlit 来添加前端 UI。改进错误处理流程也是合理的,或者尝试其他模型。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐