Python 调用大模型(LLM)

一、提示词工程

提示词(Prompt):是引导大模型(LLM)进行内容生成的命令(一句话、一个问题等)。

提示词工程(Prompt Enginnering):通过有技巧的编写提示词,使大模型生成出尽可能符合预期的内容,这一持续性的过程就成为提示词工程。

引导AI思考,约束其输出范围,并明确你期望的结果。

1.给大模型设定角色和能力。

你是一名经验丰富的高中历史老师,擅长生动有趣的讲解发杂历史事件。
2.明确核心请求与任务。

请向以为高中生解释发过大革命爆发的主要原因。
3.按步骤拆解复杂任务。

清闲阐述背景,然后分政治、经济、思想三个方面阐述,没电配一个例子。
4.指定风格和语气。

请使用简介、口语化、充满热情的语气(避免使用过于学术的术语)。
5.明确要求输出格式。

请严格按照如下结构输出:。。。
6.提供输入输出的示例。

可以参考:人类群星闪耀时:的叙事风格。请不要列出冗长的日期列表。

在OpenAI的官方文档中,对于写提示词专门有一篇文档,还给出了大量的例子:

https://platform.openai.com/docs/guides/prompt-engineering

通过优化提示词,让大模型生成出尽可能理想的内容,这一过程就称为提示词工程(Project Engineering)

1.清晰明确的指令

  1. 直接说明任务类型(如总结、分类、生成),避免模糊表述。

  2. 示例

    Plain 复制代码
     低效提示:"谈谈人工智能。"  
     高效提示:"用200字总结人工智能的主要应用领域,并列出3个实际用例。"

2.使用分隔符标记输入内容

  1. 用```、"""或XML标签分隔用户输入,防止提示注入。

  2. 示例

    Plain 复制代码
      请将以下文本翻译为法语,并保留专业术语:
      """
      The patient's MRI showed.  
      Clinical diagnosis: .
      """

3.分步骤拆解复杂任务

  1. 将任务分解为多个步骤,逐步输出结果。

  2. 示例

    Plain 复制代码
      步骤1:解方程 2x + 5 = 15,显示完整计算过程。  
      步骤2:验证答案是否正确。

4.提供示例(Few-shot Learning)

  1. 通过输入-输出示例指定格式或风格。

  2. 示例

    Plain 复制代码
      将CSS颜色名转为十六进制值 
      输入:blue → 输出:#0000FF  
      输入:coral → 输出:#FF7F50  
      输入:teal → ?

5.指定输出格式

  1. 明确要求JSON、HTML或特定结构。

  2. 示例

    Plain 复制代码
      生成3个虚构用户信息,包含id、name、email字段,用JSON格式输出,键名小写。

6.给模型设定一个角色

  1. 设定角色可以让模型在正确的角色背景下回答问题,减少幻觉。

  2. 示例

    plain 复制代码
      你是一个音乐领域的百事通,你负责回答音乐领域的各种问题。禁止回答与音乐无关的问题

通过以上策略,可显著提升模型输出的准确性与可控性,适用于内容生成、数据分析等场景。

二、python调用DeepSeek

DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。

openAI 不是python官方提供的标准库,而是openAI官方提供的 :DeepSeek兼容了openai的API。

pypi:全称为python package index ,是由python官方和社区共同维护的Python第三方软件包的官方仓库。

pip:pip是Python官方提供的python包的管理工具,提供了对python包的查找、下载、安装、卸载等功能。

bash 复制代码
# 安装软件包(最新版本):
pip install openai
#安装软件包(指定版本):
pip install openai=2.13.0
#卸载软件包:
pip uninstall openai
#列出已安装的包:
pip list
#查看包详情:
pip show openai
python 复制代码
# Please install OpenAI SDK first: `pip3 install openai`
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),
    base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是一名非常可爱的AI助理,你的名字叫小甜甜,请你使用温柔可爱的语气回答用户的问题"},
        {"role": "user", "content": "你是谁,你能帮我做什么"},
    ],
    stream=False
)

print(response.choices[0].message.content)

三、Streamlit介绍

Streamlit是一个开源的Python库,专为数据工程师及机器学习工程师设计,用来快速基于Python代码构建交互式的web网站。

官方网站:https://streamlit.io/

官方文档:https://docs.streamlit.io/

使用步骤:

step1.安装Streamlit。

bash 复制代码
pip install streamlit

step2.在python文件中引入Streamlit。

step3.基于Streamlit中提供的API来构建Web应用。

python 复制代码
import streamlit as st

st.title("Hello, Streamlit!")
st.header("This is a header")
st.subheader("This is a subheader")

step4.运行程序:streamlit run xxxx.py

bash 复制代码
streamlit run .\streamlit.py
相关推荐
copyer_xyf1 分钟前
Agent MCP
后端·python·agent
闵孚龙2 分钟前
Autograd 自动求导:PyTorch 训练模型的发动机
人工智能·pytorch·python
云和数据.ChenGuang3 分钟前
大模型厂商常用的数据库有哪些?
数据库·人工智能·pytorch·深度学习·numpy
旅僧4 分钟前
Bert理论讲解
人工智能·深度学习·bert
邵宇然4 分钟前
编译期阻断 Bug:Rust 类型系统如何将运行时错误消灭在编译阶段
人工智能
ACP广源盛139246256736 分钟前
GSV6155@ACP#DP 1.4a 重定时器芯片,物理 AI 信号长距传输的稳定保障
大数据·人工智能·分布式·嵌入式硬件·spark
明志数科6 分钟前
数据标注自动化 vs 人工——4D时序标注场景谁靠谱?
人工智能
深圳市晶科鑫实业有限公司7 分钟前
AI服务器为何对低抖动差分晶振如此挑剔?
服务器·人工智能·单片机·物联网·车载系统·云计算·信息与通信
FL16238631297 分钟前
基于CNN深度学习算实现手写字母识别系统python源码+训练好的模型+说明文档
python·深度学习·cnn
geneculture7 分钟前
中文信息处理的词边界重构:基于融智学的汉英结构计算模型
人工智能·语言学·融智学应用场景·中文信息处理·融智时代(杂志)·言和语·言本位