当前位置: 首页 > news >正文

Open AI 使用篇

一.function Calling

大模型中的 function calling 指的是在人工智能模型(如 GPT-4)中调用外部函数或API,以便模型能够执行更复杂的任务或获取外部数据。这种方式允许模型在生成回答时不仅仅依赖于内部的训练数据,还能够与外部系统进行交互,从而拓展其功能

关键点

  • 模型能够获取外部数据

原理

在这里插入图片描述

案例

# 导入必要的库
from openai import OpenAI
import json
import requests# 定义一个获取天气数据的函数,使用经纬度作为输入
def get_weather(latitude, longitude):# 发送GET请求到Open Meteo API,获取当前天气信息response = requests.get(f"https://api.open-meteo.com/v1/forecast?latitude={latitude}&longitude={longitude}&current=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m")# 解析返回的JSON数据data = response.json()# 返回当前温度(单位:摄氏度)return data['current']['temperature_2m']# 创建OpenAI客户端实例
client = OpenAI()# 定义工具(函数),用于获取天气
tools = [{"type": "function",  # 这是一个工具(函数),将在对话中使用"function": {"name": "get_my_weather",  # 函数名称"description": "获取提供坐标的当前温度(摄氏度)。",  # 函数描述"parameters": {"type": "object",  # 参数类型为对象"properties": {"latitude": {"type": "number"},  # 纬度是一个数字"longitude": {"type": "number"}  # 经度是一个数字},"required": ["latitude", "longitude"],  # 纬度和经度是必填参数"additionalProperties": False  # 不允许有其他额外的属性},"strict": True  # 确保参数严格匹配定义}
}]# 定义初始的用户消息(询问巴黎的天气情况)
messages = [{"role": "user", "content": "巴黎今天的天气怎么样?"}]# 请求GPT模型生成对话内容,基于用户的消息
completion = client.chat.completions.create(model="gpt-4.1",  # 使用GPT-4.1模型messages=messages,  # 传递当前对话内容(用户的消息)tools=tools,  # 提供工具(天气查询函数)
)# 打印模型生成的工具调用(例如,天气查询函数的调用)
print(completion.choices[0].message.tool_calls)# 从模型的响应中提取工具调用
tool_call = completion.choices[0].message.tool_calls[0]
# 解析工具调用中的函数参数(纬度和经度)
args = json.loads(tool_call.function.arguments)# 使用解析出的纬度和经度调用天气查询函数
result = get_weather(args["latitude"], args["longitude"])# 将模型的函数调用消息添加到对话中
messages.append(completion.choices[0].message)
# 将工具返回的结果(温度)作为消息添加到对话中
messages.append({"role": "tool",  # 这是一条来自工具(天气函数)的消息"tool_call_id": tool_call.id,  # 包含工具调用的ID以供参考"content": str(result)  # 天气查询函数返回的温度结果
})# 请求GPT-4.1模型生成最终的响应,包含天气信息
completion_2 = client.chat.completions.create(model="gpt-4.1",  # 使用GPT-4.1模型messages=messages,  # 传递包含天气查询结果的对话tools=tools,  # 提供工具(虽然此时不再需要,但保持一致性)
)# 打印GPT模型的最终响应,应该包括天气信息
print(completion_2)

二.GPT Builder

GPT Builder 是 OpenAI 提供的工具,允许用户自定义专属 GPT 模型,无需编程。
核心功能

  • 无代码开发:通过对话式界面配置
  • 自定义能力
    - 指令(Instructions)设定行为
    - 知识库(Knowledge)上传文件扩展上下文
    - 能力(Capabilities)启用网页浏览、代码执行等
  • 发布与共享:可私有或公开(GPT Store)

待续…

相关文章:

  • 从拥堵到畅行,智慧城市如何实现交通魔法?
  • 深入剖析Java中ThreadLocal原理
  • 可灵 2.0 可图 2.0 全解析:从 AI 图片到影视级视频的创作革命
  • zkmall模块商城:B2C 场景下 Vue3 前端性能优化的广度探索与实践
  • ThermoMPNN/ThermoMPNN-D 的安装及使用教程
  • Google-A2A协议全面解析:一文掌握Agent-to-Agent协议的核心与应用
  • 客户消失不配合,如何推动验收
  • 信号与系统期中复习(第一章)
  • 如何建立可复用的项目管理模板
  • 基于STM32与NB-IoT的智慧路灯远程监控系统
  • Missashe考研日记-day21
  • Daily morning reading 26
  • 贪心算法day9(合并区间)
  • Redisson分布式锁全攻略:用法、场景与要点
  • Linux 使用Nginx搭建简易网站模块
  • Sentinel源码—2.Context和处理链的初始化一
  • Android 开发 如何生成系统签名
  • CRUD2
  • QuickAPI 核心能力解析:构建数据服务化的三位一体生态
  • express框架使用cors包解决跨域问题时,还是存在问题的原因。
  • “HPV男女共防计划”北半马主题活动新闻发布会在京举办
  • 中央民族乐团团长赵聪已任文旅部艺术司司长
  • 著名作家、中国艺术研究院原常务副院长曲润海逝世
  • 独家专访|苏童:《好天气》是一部献给中国郊区的作品
  • 圆桌|并购重组迎政策红利期,并购基金如何把握发展机遇?
  • 欧洲央行再次宣布降息:三大关键利率分别下调25个基点