从入门到精通:用 Python 玩转 DeepSeek API,揭秘高级自然语言处理实战案例(上篇)

引言

DeepSeek API 是一个提供最先进自然语言处理(NLP)技术的强大工具。通过使用这个 API,可以轻松执行文本生成、摘要、情感分析、问答等各种 NLP 任务。本文将广泛解说如何使用 Python 来利用 DeepSeek API,从初学者到高级用户都适用。每一章都提供具体的使用示例和代码,以便掌握实用技能。

DeepSeek API 2000万Tokens额度

注册地址:https://cloud.siliconflow.cn/i/YuF5oTmB
邀请码:YuF5oTmB
使用邀请码注册完成后,可在后台的“余额充值”页面查看赠送的14元余额,这大约相当于2000万Tokens。

第 1 章:DeepSeek API 的概述与设置

DeepSeek API 是一个使高级语言模型易于使用的服务。首先,从 API 的基本设置方法开始。

  1. 在 DeepSeek 官方网站上创建账户。
  2. 获取 API 密钥。
  3. 准备 Python 环境,并安装所需的库。

以下的代码中,进行 API 的基本设置:

import requests
import json

API_KEY = "你的API密钥"
API_ENDPOINT = "https://api.deepseek.com/v1"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

def make_api_request(endpoint, payload):
    response = requests.post(f"{API_ENDPOINT}/{endpoint}", headers=headers, json=payload)
    return response.json()

# 示例用法
result = make_api_request("completions", {"prompt": "你好,我的名字是"})
print(result['choices'][0]['text'])

我们将使用这个基本设置,在接下来的章节中执行各种 NLP 任务。

第 2 章:文本生成的基础

让我们学习使用 DeepSeek API 进行文本生成的基础。文本生成是根据给定的提示生成自然语言文本的任务。

以下的代码是一个简单的文本生成示例:

def generate_text(prompt, max_tokens=100):
    payload = {
        "prompt": prompt,
        "max_tokens": max_tokens,
        "temperature": 0.7
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text']

# 示例用法
prompt = "关于未来技术,请写一篇简短的文章。"
generated_text = generate_text(prompt)
print(generated_text)

在这段代码中,使用了temperature参数来调整生成文本的创造性。值越高,输出越具有创造性和不可预测性。

第 3 章:高级文本生成技术

为了进行更精致的文本生成,介绍一些高级技术。

  1. 顶级-p 采样
  2. 重复惩罚
  3. 存在惩罚

通过使用这些技术,可以生成更自然和多样化的文本。

def advanced_text_generation(prompt, max_tokens=100, temperature=0.7, top_p=0.9, frequency_penalty=0.5, presence_penalty=0.5):
    payload = {
        "prompt": prompt,
        "max_tokens": max_tokens,
        "temperature": temperature,
        "top_p": top_p,
        "frequency_penalty": frequency_penalty,
        "presence_penalty": presence_penalty
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text']

# 示例用法
prompt = "关于人工智能技术的伦理问题,请提供详细分析。"
advanced_text = advanced_text_generation(prompt)
print(advanced_text)

在这段代码中,添加了top_pfrequency_penaltypresence_penalty参数,以提高生成文本的质量和多样性。

第 4 章:文本摘要的实现

让我们学习如何使用 DeepSeek API 实现文本摘要。文本摘要是从长篇文章中提取重要信息并简洁地总结的任务。

以下的代码同时实现了抽取式摘要和生成式摘要:

def summarize_text(text, method="extractive", max_tokens=100):
    if method == "extractive":
        prompt = f"以下的文章请总结出要点,并以项目符号列出:\n\n{text}"
    else:  # generative
        prompt = f"请用自然的中文总结以下文章:\n\n{text}"
    
    payload = {
        "prompt": prompt,
        "max_tokens": max_tokens,
        "temperature": 0.5
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text']

# 示例用法
long_text = "请在这里插入一篇长文章..."
extractive_summary = summarize_text(long_text, method="extractive")
generative_summary = summarize_text(long_text, method="generative")

print("提取式总结:", extractive_summary)
print("生成式总结:", generative_summary)

这段代码实现了提取式摘要和生成式摘要两种方法。提取式摘要从原文中提取重要句子,而生成式摘要则生成新句子来创建摘要。

第5章:感情分析的实现

实现文本情感分析功能。情感分析是从文本中推测作者的情感和态度的任务。

以下的代码是一个简单情感分析的实现例子:

def analyze_sentiment(text):
    prompt = f"以下的文章请分析情感,并用'积极'、'消极'或'中立'来回答,并简要说明理由:\n\n{text}"
    
    payload = {
        "prompt": prompt,
        "max_tokens": 50,
        "temperature": 0.3
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text'].strip()

# 示例用法
text_to_analyze = "今天天气很好,我和朋友度过了愉快的时光。"
sentiment = analyze_sentiment(text_to_analyze)
print(f"文本: {text_to_analyze}")
print(f"情感分析结果: {sentiment}")

这段代码分析给定文本的情感,并将其分类为积极、消极或中立。此外,还会简单解释判断的理由。

第 6 章:构建问答系统

使用 DeepSeek API 构建一个简单的问答系统。该系统可以根据给定的上下文回答问题。

以下的代码是基本问答系统的实现示例:

def question_answering(context, question):
    prompt = f"""根据以下的背景信息,回答问题:

背景:
{context}

问题:{question}

回答:"""
    
    payload = {
        "prompt": prompt,
        "max_tokens": 100,
        "temperature": 0.5
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text'].strip()

# 示例用法
context = """
东京是日本的首都,是世界上最大城市圈之一。
人口约为1400万,是政治、经济和文化的中心。
东京有许多旅游景点,从传统的寺庙到最新的科技,拥有各种各样的魅力。
"""

question = "东京的人口是多少?"
answer = question_answering(context, question)
print(f"问题: {question}")
print(f"回答: {answer}")

该系统能够理解给定的上下文,并根据此回答问题。在构建更高级的问答系统时,可能需要大规模的知识库或来自多个来源的信息整合。

第 7 章:语言翻译功能的实现

使用 DeepSeek API 实现语言翻译功能。通过这个功能,可以在各种语言之间进行翻译。

以下的代码是基本翻译功能的实现示例:

def translate_text(text, source_lang, target_lang):
    prompt = f"""请将以下文本从{source_lang}翻译为{target_lang}:

原文 ({source_lang}):
{text}

翻译 ({target_lang}):"""
    
    payload = {
        "prompt": prompt,
        "max_tokens": 200,
        "temperature": 0.3
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text'].strip()

# 示例用法
chinese_text = "人工智能正在快速改变我们的生活。"
english_translation = translate_text(chinese_text, "中文", "英语")
print(f"原文 (中文): {chinese_text}")
print(f"翻译 (英语): {english_translation}")

english_text = "Artificial intelligence is rapidly transforming our world."
chinese_translation = translate_text(english_text, "英语", "中文")
print(f"\n原文 (英语): {english_text}")
print(f"翻译 (中文): {chinese_translation}")

这段代码在指定的语言之间进行翻译。DeepSeek API 的语言模型支持多语言,因此可以在各种语言对之间进行翻译。

第 8 章:文本分类系统的构建

文本分类是将给定文本分类到预定义类别的任务。使用 DeepSeek API 构建灵活的文本分类系统吧。

以下的代码是一个可定制的文本分类系统的实现示例:

def classify_text(text, categories):
    categories_str = ", ".join(categories)
    prompt = f"""请将以下文本分类为给定的类别之一:
类别: {categories_str}

文本:
{text}

分类结果:"""
    
    payload = {
        "prompt": prompt,
        "max_tokens": 50,
        "temperature": 0.3
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text'].strip()

# 示例用法
categories = ["技术", "经济", "体育", "娱乐"]

text1 = "开发了新的人工智能算法,显著提高了图像识别的准确性。"
classification1 = classify_text(text1, categories)
print(f"文本1: {text1}")
print(f"分类结果: {classification1}")

text2 = "股市本周在超出预期的企业业绩推动下上涨。"
classification2 = classify_text(text2, categories)
print(f"\n文本2: {text2}")
print(f"分类结果: {classification2}")

该系统根据用户定义的类别对文本进行分类。类别可以自由更改,因此可以应用于各种分类任务。

第 9 章:文章的语法・风格修正

使用 DeepSeek API 实现修正文章语法和风格的功能。该功能有助于提高文章质量或根据特定风格调整文章。

以下的代码实现了语法修正和文体调整的功能:

def correct_grammar(text):
    prompt = f"""请修正以下句子的语法,并将其改成更自然的中文。如果有修改的地方,请简要说明原因。

原文:
{text}

修正后的句子:"""
    
    payload = {
        "prompt": prompt,
        "max_tokens": 200,
        "temperature": 0.3
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text'].strip()

def adjust_style(text, target_style):
    prompt = f"""请将以下句子调整为“{target_style}”风格。

原文:
{text}

{target_style}风格的句子:"""
    
    payload = {
        "prompt": prompt,
        "max_tokens": 200,
        "temperature": 0.5
    }
    response = make_api_request("completions", payload)
    return response['choices'][0]['text'].strip()

# 示例用法
original_text = "我昨天去了图书馆,读了很多书,觉得非常有趣。"

corrected_text = correct_grammar(original_text)
print("原文:", original_text)
print("语法修改后:", corrected_text)

formal_style = adjust_style(original_text, "正式")
casual_style = adjust_style(original_text, "非正式")

print("\n正式风格:", formal_style)
print("非正式风格:", casual_style)

在这段代码中,correct_grammar函数修正语法错误,使其更自然的日语。此外,adjust_style函数根据指定的风格(如正式或非正式)调整文章。通过使用这些功能,可以提高文章的质量,或根据目的调整为适当的文体。

总结

本文深入探讨了 DeepSeek API 在自然语言处理领域的应用,上篇主要介绍了利用 Python 调用 DeepSeek API 的方法。开篇阐述了 DeepSeek API 在 NLP 领域的重要性,接着讲解获取 API 密钥、配置 Python 环境及依赖等基础设置,并给出基础配置代码。随后详细介绍了文本生成(包括基础与高级生成技术)、文本摘要、情感分析、问答系统构建、语言翻译功能实现、文本分类系统构建以及文章的语法与风格修正等功能的实现方法,通过具体代码示例展示如何设置参数和调用 API 完成相应任务,下篇将继续介绍对话系统构建、文本信息抽取、文本生成的微调及最佳实践和应用案例 ,敬请期待。

作者:因_果_律

物联沃分享整理
物联沃-IOTWORD物联网 » 从入门到精通:用 Python 玩转 DeepSeek API,揭秘高级自然语言处理实战案例(上篇)

发表回复