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
相关推荐
大龄程序员狗哥1 小时前
第47篇:使用Speech-to-Text API快速构建语音应用(操作教程)
人工智能
KKKlucifer1 小时前
数据安全合规自动化:策略落地、审计追溯与风险闭环技术解析
人工智能·安全
m0_748554811 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
RWKV元始智能1 小时前
RWKV超并发项目教程,RWKV-LM训练提速40%
人工智能·rnn·深度学习·自然语言处理·开源
dyj0951 小时前
Dify - (一)、本地部署Dify+聊天助手/Agent
人工智能·docker·容器
墨染天姬1 小时前
【AI】Hermes的GEPA算法
人工智能·算法
小超同学你好1 小时前
OpenClaw 深度解析系列 · 第8篇:Learning & Adaptation(学习与自适应)
人工智能·语言模型·chatgpt
紫微AI1 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
码途漫谈1 小时前
Easy-Vibe开发篇阅读笔记(四)——前端开发之结合 Agent Skills 美化界面
人工智能·笔记·ai·开源·ai编程
smj2302_796826521 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode