Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Tích hợp API DeepSeek vào ứng dụng của bạn chỉ trong 5 phút

中村 拓也

中村 拓也

Updated on tháng 2 11, 2025

Trong thời đại các ứng dụng được hỗ trợ bởi AI, việc tích hợp mô hình ngôn ngữ tiên tiến vào phần mềm của bạn có thể mở khóa những khả năng chưa từng có - từ chatbot thông minh đến các công cụ phân tích dữ liệu. API của DeepSeek cung cấp các chức năng AI tiên tiến, nhưng thách thức thực sự nằm ở chỗ tích hợp chúng một cách liền mạch vào ứng dụng của bạn mà không bị mắc kẹt vào việc gỡ lỗi hoặc mã khuôn mẫu.

Hướng dẫn này sẽ hướng dẫn bạn qua toàn bộ quá trình tích hợp các API của DeepSeek vào ứng dụng của bạn, tận dụng nền tảng API trực quan - Apidog để thử nghiệm, gỡ lỗi và tạo ra các đoạn mã sẵn sàng sử dụng trong vài phút. Dù bạn đang xây dựng một backend bằng Python hay một frontend bằng JavaScript, đến cuối bài viết này, bạn sẽ có một tích hợp API hoàn chỉnh với nỗ lực tối thiểu.


Yêu cầu trước

  1. Một tài khoản DeepSeek (Đăng ký tại đây).
  2. Kiến thức cơ bản về REST APIs và lập trình (Python/JavaScript được sử dụng ở đây).
  3. Một công cụ như Apidog để thử nghiệm API.

Bước 1: Lấy khóa API DeepSeek

Mỗi yêu cầu API đều cần xác thực. Đây là cách để lấy khóa của bạn:

  1. Đăng nhập vào tài khoản DeepSeek của bạn.
  2. Đi tới API Keys trong cài đặt tài khoản của bạn.
  3. Bấm Tạo khóa API mới và sao chép nó.

⚠️ Quan trọng: Xử lý khóa này như một mật khẩu. Không bao giờ để lộ nó trong mã phía client hoặc trong các kho công khai.


Bước 2: Kiểm tra API DeepSeek

Tài liệu API của DeepSeek do Apidog tạo cung cấp một sân chơi tương tác để thử nghiệm các điểm cuối trực tiếp trên tài liệu mà không cần viết một dòng mã nào. Đây là cách:

1. Mở Tài liệu: Đi tới Tạo Hoàn thành Chat endpoint.

API hoàn thành chat của DeepSeek

2. Xác thực:

  • Bấm vào Thử nghiệm hoặc Chạy trong Apidog.
  • Trên bảng yêu cầu pop-out, đi đến phần Headers hoặc Auth, và thêm khóa API của bạn:
Authorization: Bearer YOUR_API_KEY  
Thêm khóa API của DeepSeek

3. Tạo Yêu cầu của Bạn:

Trong phần thân yêu cầu, chỉ định mô hình (ví dụ: deepseek-chat) và thêm một tin nhắn:

{
  "model": "deepseek-chat",
  "messages": [
    {"role": "user", "content": "Giải thích tính toán lượng tử trong 3 câu."}
  ]
}
tạo yêu cầu API DeepSeek

4. Gửi Yêu cầu: Bấm Gửi và xem phản hồi theo thời gian thực.

nhận phản hồi của DeepSeek trong thời gian thực

Tại sao Điều này Quan trọng: Thử nghiệm API một cách thủ công giúp bạn xác thực cấu trúc tải trọng và xử lý lỗi trước khi viết mã tích hợp.


Bước 3: Tạo Đoạn mã cho Ngăn xếp của Bạn

Apidog cho phép bạn tạo mã kinh doanh sẵn sàng cho các ngôn ngữ và framework khác nhau dựa trên tài liệu API mà bạn có thể sử dụng trực tiếp trong ngăn xếp của mình. Đây là cách:

1. Mở dự án DeepSeek trên ứng dụng Apidog:

  • Để mở dự án API DeepSeek trong ứng dụng web Apidog, chỉ cần bấm "Chạy trong Apidog" ở góc trên bên phải của tài liệu.
Bấm vào "Chạy trong Apidog" để chạy dự án trên ứng dụng Apidog
  • MẸO CHUYÊN NGHIỆP: Để mở dự án trong ứng dụng Apidog trên desktop, bấm "Mở trên desktop" ở góc trên bên phải sau đó.

2. Chọn Ngôn ngữ của Bạn:

  • Trên trang tài liệu API DeepSeek, bấm nút </> Tạo mã.
tạo mã trực tiếp từ tài liệu API được tạo bởi Apidog
  • Chọn ngôn ngữ của bạn (ví dụ: Python, JavaScript, Go, và nhiều ngôn ngữ khác).
chọn ngôn ngữ để tạo mã

3. Sao chép-Dán Mã:

  • Cho Python (sử dụng requests):
import requests
import json

url = "https://api.deepseek.com/chat/completions"

payload = json.dumps({
   "messages": [
      {
         "content": "Bạn là một trợ lý hữu ích",
         "role": "system"
      },
      {
         "content": "Xin chào",
         "role": "user"
      }
   ],
   "model": "deepseek-chat",
   "frequency_penalty": 0,
   "max_tokens": 2048,
   "presence_penalty": 0,
   "response_format": {
      "type": "text"
   },
   "stop": None,
   "stream": False,
   "stream_options": None,
   "temperature": 1,
   "top_p": 1,
   "tools": None,
   "tool_choice": "none",
   "logprobs": False,
   "top_logprobs": None
})
headers = {
   'Authorization': 'Bearer {{API_KEY}}',
   'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
  • Cho JavaScript (sử dụng fetch):
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{API_KEY}}");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
   "messages": [
      {
         "content": "Bạn là một trợ lý hữu ích",
         "role": "system"
      },
      {
         "content": "Xin chào",
         "role": "user"
      }
   ],
   "model": "deepseek-chat",
   "frequency_penalty": 0,
   "max_tokens": 2048,
   "presence_penalty": 0,
   "response_format": {
      "type": "text"
   },
   "stop": null,
   "stream": false,
   "stream_options": null,
   "temperature": 1,
   "top_p": 1,
   "tools": null,
   "tool_choice": "none",
   "logprobs": false,
   "top_logprobs": null
});

var requestOptions = {
   method: 'POST',
   headers: myHeaders,
   body: raw,
   redirect: 'follow'
};

fetch("https://api.deepseek.com/chat/completions", requestOptions)
   .then(response => response.text())
   .then(result => console.log(result))
   .catch(error => console.log('error', error));

4. Tùy chỉnh Mã: Thay thế YOUR_API_KEY và chỉnh sửa nội dung tin nhắn.


Bước 4: Tích hợp vào Ứng dụng của Bạn

Hãy tạo một ứng dụng CLI Python đơn giản sử dụng API của DeepSeek để trả lời các câu hỏi của người dùng.

Cài đặt Dự án

1. Tạo một thư mục và cài đặt các phụ thuộc:

mkdir deepseek-cli && cd deepseek-cli  
pip install requests python-dotenv  

2. Lưu khóa API của bạn một cách an toàn bằng cách sử dụng .env:

echo "DEEPSEEK_API_KEY=your_api_key_here" > .env  

Triển khai Mã

import argparse
import asyncio
import json
import os
import sys
from typing import AsyncGenerator, Generator

import httpx
import requests


async def async_deepseek(
    api_key: str,
    model: str,
    messages: list,
    temperature: float
) -> AsyncGenerator[str, None]:
    """
    Bộ tạo bất đồng bộ cho việc stream phản hồi từ DeepSeek
    """
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": model,
        "messages": messages,
        "temperature": temperature,
        "stream": True,
    }

    async with httpx.AsyncClient() as client:
        async with client.stream(
            "POST",
            "https://api.deepseek.com/v1/chat/completions",
            headers=headers,
            json=data,
        ) as response:
            response.raise_for_status()
            async for line in response.aiter_lines():
                if line.startswith("data: "):
                    try:
                        json_data = json.loads(line[6:])
                        if chunk := json_data["choices"][0]["delta"].get("content", ""):
                            yield chunk
                    except json.JSONDecodeError:
                        pass


def sync_deepseek(
    api_key: str,
    model: str,
    messages: list,
    temperature: float
) -> Generator[str, None, None]:
    """
    Bộ tạo đồng bộ cho việc stream phản hồi từ DeepSeek
    """
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": model,
        "messages": messages,
        "temperature": temperature,
        "stream": True,
    }

    with requests.post(
        "https://api.deepseek.com/v1/chat/completions",
        headers=headers,
        json=data,
        stream=True,
    ) as response:
        response.raise_for_status()
        for line in response.iter_lines():
            if line:
                decoded_line = line.decode("utf-8")
                if decoded_line.startswith("data: "):
                    try:
                        json_data = json.loads(decoded_line[6:])
                        if chunk := json_data["choices"][0]["delta"].get("content", ""):
                            yield chunk
                    except json.JSONDecodeError:
                        pass


def main():
    parser = argparse.ArgumentParser(
        description="Khách hàng CLI DeepSeek - Chat với các mô hình DeepSeek"
    )
    parser.add_argument(
        "prompt",
        type=str,
        help="Tin nhắn của bạn để gửi đến DeepSeek"
    )
    parser.add_argument(
        "--model",
        type=str,
        default="deepseek-chat",
        help="Mô hình sử dụng (mặc định: deepseek-chat)"
    )
    parser.add_argument(
        "--temperature",
        type=float,
        default=0.7,
        help="Tham số nhiệt độ (mặc định: 0.7)"
    )
    parser.add_argument(
        "--async-mode",
        action="store_true",
        help="Sử dụng chế độ bất đồng bộ (cần Python 3.7+)"
    )
    args = parser.parse_args()

    api_key = os.getenv("DEEPSEEK_API_KEY")
    if not api_key:
        print("Lỗi: Đặt khóa API của bạn trong biến môi trường DEEPSEEK_API_KEY")
        sys.exit(1)

    messages = [{"role": "user", "content": args.prompt}]

    try:
        if args.async_mode:
            async def run_async():
                try:
                    async for chunk in async_deepseek(
                        api_key=api_key,
                        model=args.model,
                        messages=messages,
                        temperature=args.temperature
                    ):
                        print(chunk, end="", flush=True)
                    print()
                except httpx.HTTPStatusError as e:
                    print(f"\nLỗi HTTP xảy ra: {e.response.status_code} {e.response.reason_phrase}")
                except Exception as e:
                    print(f"\nĐã xảy ra lỗi: {str(e)}")

            asyncio.run(run_async())
        else:
            try:
                for chunk in sync_deepseek(
                    api_key=api_key,
                    model=args.model,
                    messages=messages,
                    temperature=args.temperature
                ):
                    print(chunk, end="", flush=True)
                print()
            except requests.exceptions.HTTPError as e:
                print(f"\nLỗi HTTP xảy ra: {e.response.status_code} {e.response.reason_phrase}")
            except Exception as e:
                print(f"\nĐã xảy ra lỗi: {str(e)}")

    except KeyboardInterrupt:
        print("\n\nHoạt động bị người dùng yêu cầu dừng lại")
        sys.exit(0)


if __name__ == "__main__":
    main()

Chạy Ứng dụng

Gõ một câu hỏi (ví dụ: “Thủ đô của Pháp là gì?”) và xem phản hồi!


Bước 5: Xử lý Lỗi và Các Tình huống Biên

Các API có thể thất bại do giới hạn tần suất, khóa không hợp lệ, hoặc sự cố mạng. Triển khai xử lý lỗi mạnh mẽ:

1. Kiểm tra Mã Trạng thái HTTP:

  • 401 Unauthorized: Khóa API không hợp lệ.
  • 429 Too Many Requests: Vượt quá giới hạn tần suất.
  • 500 Internal Server Error: Vấn đề phía máy chủ.

2. Cơ chế Thử lại:

from time import sleep

def get_deepseek_response(prompt, retries=3):
    # ... mã hiện có ...
    except requests.exceptions.RequestException as e:
        if retries > 0:
            sleep(2)
            return get_deepseek_response(prompt, retries - 1)
        else:
            return f"Lỗi: {str(e)}"

3. Xác thực Đầu vào:
Đảm bảo rằng các gợi ý nằm trong giới hạn token và được định dạng đúng.


Bước 6: Tối ưu hóa cho Sản xuất

  1. Cache Phản hồi: Sử dụng Redis hoặc Memcached để lưu trữ các truy vấn thường xuyên.
  2. Theo dõi Sử dụng: Theo dõi các cuộc gọi API để tránh vượt quá hạn mức.
  3. Đậu bất đồng bộ: Đối với các ứng dụng có thông lượng cao, sử dụng các thư viện bất đồng bộ như aiohttp (Python) hoặc axios (JavaScript).

Kết luận

Tích hợp các API của DeepSeek vào ứng dụng của bạn không phải là điều mất thời gian. Bằng cách sử dụng tài liệu tương tác để kiểm tra các điểm cuối, tạo mã và gỡ lỗi trực tiếp, bạn có thể triển khai các tính năng hỗ trợ AI chỉ trong vài giờ - không phải vài ngày.

Ví dụ ở trên chỉ là phần nổi của tảng băng. Với các mô hình của DeepSeek, bạn có thể xây dựng mọi thứ từ máy phát nội dung tự động đến gia sư AI. Giờ đây, khi bạn đã có bản kế hoạch, hãy tiếp tục và biến ứng dụng của bạn thành một cỗ máy AI mạnh mẽ!