介绍

Chat Model

(别称:Chat Completion Model)
用途:专门用于对话场景,擅长理解上下文、多轮对话,以及生成自然、连贯、有情感的回应。

  • 以“对话”为单位输入和输出。
  • 保留上下文信息,更适合多轮交流。
  • 能够生成更具“人性化”的回答,带有风格和情绪。

代码

from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()
client = OpenAI(
    api_key=os.getenv("API_KEY"),
    base_url=os.getenv("BASE_URL")
)
messages = [
    {"role": "system", "content": "你是一个博学的 AI 助手。"},
    {"role": "user", "content": "请帮我写一段关于人工智能在医疗领域应用的介绍。"}
]

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    temperature=0.7
)

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

运行结果
在这里插入图片描述

Completion Model

用途:生成文本的延续或补全,适合自由写作、代码生成、文本摘要等任务。

  • 输入是一段文字或提示(prompt),输出是该提示的延续或回答。
  • 不强制多轮对话结构,通常一次输入对应一次输出。
  • 对上下文有一定感知,但需要手动拼接上下文

代码

from openai import OpenAI
from dotenv import load_dotenv
import os
client = OpenAI(
        api_key=os.getenv("API_KEY"),
        base_url=os.getenv("BASE_URL")
    )
prompt = "写一段关于气候变化对农业影响的开头:"

response = client.completions.create(
        model="text-davinci-001",
        prompt=prompt,
        max_tokens=150,
        temperature=0.7
    )

print(response.choices[0].text.strip())

目前我没有这个接口的api_key。原谅我没法演示运行结果。

Embeding Model

用途:将文本或其他数据(如图像、音频)转换成向量表示,用于语义理解、相似度计算、搜索和聚类。

  • 不生成自然语言,而是生成数值向量。
  • 向量可以表示文本的语义信息,便于后续计算相似度或进行机器学习任务。

代码:

from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()
client = OpenAI(
        api_key=os.getenv("API_KEY"),
        base_url=os.getenv("BASE_URL")
    )
texts = [
        "人工智能在医疗领域的应用",
        "肺结节良恶性预测模型",
        "自动驾驶技术发展趋势"
    ]
response = client.embeddings.create(
        model="text-embedding-3-small",
        input=texts
    )

# 输出向量
for i, emb in enumerate(response.data):
     print(f"文本: {texts[i]}\n向量长度: {len(emb.embedding)}\n")

运行结果
在这里插入图片描述

模型类型 输入形式 输出形式 核心功能 应用场景
Chat Model 多轮对话消息 对话回复 对话理解与生成 聊天助手、客服、教育问答
Completion Model 单一文本提示 补全文本 文本生成与续写 自动写作、代码生成、摘要
Embedding Model 文本/数据 向量表示 语义表示、相似度计算 检索、聚类、推荐系统
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐