LLM 项目 OpenAI 模型完全指南:配置、Responses API、Web Search 与 Code Interpreter 实战
人工智能大模型AI 应用CLI【免费下载链接】llmAccess large language models from the command-line项目地址https://gitcode.com/gh_mirrors/llm/llm点击查看免费下载LLM 是一个从命令行访问大语言模型的工具它内置了一个与 OpenAI API 对话的默认插件同时支持语言模型与嵌入embedding模型两类能力。本文以官方文档 docs/openai-models.md 为主线结合 llm/default_plugins/openai_models.py 的源码实现系统讲解 OpenAI 模型的配置、llm models命令下的模型清单、Responses API 专属的 Web Search 与 Code Interpreter 服务端工具、Fast mode / service tiers 加速选项、嵌入向量模型以及通过extra-openai-models.yaml接入 OpenAI 新发布模型的方法。读完本文你将能熟练在命令行和 Python API 中调用 OpenAI 全系模型并能在官方插件尚未跟进新模型时自行扩展。配置设置 OpenAI API Key所有 OpenAI 模型都通过 API Key 访问。你需要先在 OpenAI 官网的 API keys 页面创建一个 Key然后运行以下命令把 Key 配置给 LLMllm keys set openai运行后按提示粘贴 API Key 即可。从源码看OpenAI 模型的 Key 由两个标识符共同约束Chat、Responses、Completion等类均声明needs_key openai与key_env_var OPENAI_API_KEY也就是说除了用llm keys set openai存储 Key你也可以直接设置OPENAI_API_KEY环境变量。在get_client()中LLM 会把这些 Key 传给官方openaiPython SDKopenai.OpenAI(api_key...)若模型配置了api_baseOpenAI 兼容端点则视为不需要 Key此时 SDK 会填入占位值DUMMY_KEY以满足库的构造要求见 openai_models.py#L1347-L1370。OpenAI 语言模型运行llm models可查看完整模型列表。当前 LLM 内置支持的 OpenAI 模型如下与文档自动生成部分一致模型清单由 register_models 钩子 注册OpenAI Chat: gpt-4o (aliases: 4o) OpenAI Chat: gpt-4o-mini (aliases: 4o-mini) OpenAI Chat: gpt-4.1 (aliases: 4.1) OpenAI Chat: gpt-4.1-mini (aliases: 4.1-mini) OpenAI Chat: gpt-4.1-nano (aliases: 4.1-nano) OpenAI Chat: gpt-3.5-turbo (aliases: 3.5, chatgpt) OpenAI Chat: gpt-3.5-turbo-16k (aliases: chatgpt-16k, 3.5-16k) OpenAI Chat: gpt-4 (aliases: 4, gpt4) OpenAI Chat: gpt-4-turbo-2024-04-09 OpenAI Chat: gpt-4-turbo (aliases: gpt-4-turbo-preview, 4-turbo, 4t) OpenAI Responses: o1 OpenAI Responses: o1-2024-12-17 OpenAI Responses: o3-mini OpenAI Responses: o3 OpenAI Responses: o4-mini OpenAI Responses: gpt-5 OpenAI Responses: gpt-5-mini OpenAI Responses: gpt-5-nano OpenAI Responses: gpt-5-2025-08-07 OpenAI Responses: gpt-5-mini-2025-08-07 OpenAI Responses: gpt-5-nano-2025-08-07 OpenAI Responses: gpt-5.1 OpenAI Responses: gpt-5.2 OpenAI Responses: gpt-5.2-chat-latest OpenAI Responses: gpt-5.4 OpenAI Responses: gpt-5.4-2026-03-05 OpenAI Responses: gpt-5.4-mini OpenAI Responses: gpt-5.4-mini-2026-03-17 OpenAI Responses: gpt-5.4-nano OpenAI Responses: gpt-5.4-nano-2026-03-17 OpenAI Responses: gpt-5.5 OpenAI Responses: gpt-5.5-2026-04-23 OpenAI Responses: gpt-5.6-sol OpenAI Responses: gpt-5.6-terra OpenAI Responses: gpt-5.6-luna OpenAI Responses: gpt-6-astra OpenAI Completion: gpt-3.5-turbo-instruct (aliases: 3.5-instruct, chatgpt-instruct)列表中OpenAI Chat前缀表示走 Chat Completions/v1/chat/completions接口OpenAI Responses前缀表示走较新的 Responses/v1/responses接口OpenAI Completion则是补全completions接口。从源码注册信息可以看到每类模型的能力标志例如所有 gpt-5.x 系列都带有visionTrue、reasoningTrue、verbosityTrue、service_tierTrue、supports_schemaTrue、supports_toolsTrueopenai_models.py#L330-L353而 gpt-5.4 及之后新增了image_detail_originalTrue以支持original图片细节档位openai_models.py#L270-L300。gpt-5.5默认也走 Responses API如需兼容旧端点可通过-o chat_completions 1回退到 Chat Completions源码注释见 openai_models.py#L301-L328对应测试 test_default_routes_to_responses_endpoint。gpt-5.6-luna是其中价格较低的模型也是不指定模型时的默认选择。各模型具体细节请查阅 OpenAI 官方模型文档。使用示例# 使用默认模型gpt-5.6-luna llm 解释一下大语言模型 # 指定模型可用别名或完整 ID llm 写一首关于鹈鹕的诗 -m gpt-5.6-sol llm 写一首关于鹈鹕的诗 -m luna # 列出所有模型 llm models模型特性一览以下特性适用于 OpenAI 模型对应 usage.md 中的详细用法System prompts可通过-s/--system ...提供系统提示词其指令权重高于 prompt 本身。OpenAI 模型特别擅长把系统提示当作处理额外输入如管道输入内容的指令见 usage.md#usage-system-prompts。Attachments多数 OpenAI 模型支持图像输入可用llm models --options查看哪些模型支持任何支持图片的模型也接受 PDF。例如llm 描述这张图片 -a https://example.com/pelicans.jpg底层实现中Chat 路径把图片/PDF/音频附件翻译成 OpenAI 的image_url、file与input_audio内容块_attachmentResponses 路径则翻译为input_image与input_file_responses_attachment。详细用法见 usage.md#usage-attachments。Schemas可用--schema让模型输出符合指定 JSON Schema 的结构化 JSON。Chat 路径将其映射为response_format{type: json_schema, ...}openai_models.py#L1384-L1388Responses 路径映射为text.format且使用strict: False以放宽additionalProperties约束openai_models.py#L2113-L2123。详细用法见 usage.md#usage-schemas。Model options用-o/--option name value设置temperature等参数llm models --options可查看每个模型支持的全部选项。OpenAI 模型通用的选项由SharedOptions定义包括temperature0~2、max_tokens、top_p0~1与 temperature 二选一、frequency_penalty-2.0~2.0、presence_penalty-2.0~2.0、stop、logit_biasJSON 字符串值须在 -100~100、seed整数尝试确定性采样、json_object输出合法 JSON 对象、image_detaillow/high/autogpt-5.4 及以后为low/high/original/auto。Responses 推理模型还额外支持reasoning_effortnone/minimal/low/medium/high/xhigh/max、reasoning_summaryauto/concise/detailed与verbositylow/medium/high这些枚举与校验逻辑集中在build_options_class并由cache装饰器按能力组合缓存。llm 十个芝士蛋糕的名字 -o temperature 1.5 llm -m gpt-5.5 ... -o reasoning_effort low -o verbosity highWeb SearchResponses API 服务端搜索工具使用 OpenAI Responses API 的模型可以通过服务端工具WebSearch搜索网页——搜索发生在 OpenAI 的基础设施内LLM 只负责把工具声明与参数传给 API并把服务端执行结果记录为server_executedTrue的 tool parts见 openai_models.py#L1665-L1808 与测试 test_responses_web_search_request_and_result_capture。模型会根据 prompt 自行决定是否搜索llm -m gpt-5.6-luna -T WebSearch 搜索今天的一条正面新闻Python API 中使用方式完全相同import llm from llm.default_plugins.openai_models import WebSearch response llm.get_model(gpt-5.6-luna).prompt( 搜索今天的一条正面新闻, tools[WebSearch(include_sourcesTrue)], ) print(response.text())WebSearch 的配置参数域名过滤allowed_domains与blocked_domains各最多 100 个域名且必须省略http://或https://前缀每个条目同时覆盖其子域名。若带协议前缀会触发ValueError校验见_validate_domainsWebSearch( allowed_domains[openai.com, python.org], blocked_domains[example.com], )搜索上下文大小search_context_sizelow | medium | high控制提供给模型的搜索结果上下文量。外部访问external_web_accessFalse时仅使用缓存/索引结果。返回 Token 预算return_token_budgetunlimited移除标准返回 Token 上限适合更长的 GPT-5 推理搜索但会增加延迟与成本合法值仅default与unlimitedopenai_models.py#L1708-L1712。近似地理位置可包含两位国家代码、城市、地区与 IANA 时区LLM 会在缺省时自动补上必需的type: approximate字段openai_models.py#L1721-L1727WebSearch( user_location{ country: GB, city: London, timezone: Europe/London, } )来源与结果记录include_sourcesTrue请求记录搜索中访问的每个 URL写入服务端执行的 tool call argumentsinclude_resultsTrue则把原始图片结果对象记录到对应的服务端 tool result。这两个标志分别通过向请求追加include字段中的web_search_call.action.sources与web_search_call.results实现prepare_request。图片搜索search_content_types[image, text]开启图片搜索配合image_settings{max_results: 3, caption: True}控制返回图片数量与是否生成说明max_results必须是正整数、caption必须是布尔值否则抛错。关于模型行为、限制、引用与定价参见 OpenAI 官方 Web Search 文档。Code Interpreter在 OpenAI 容器中运行 Python使用 Responses API 的模型还可以通过服务端工具CodeInterpreter在 OpenAI 托管的容器里执行 Python。OpenAI 官方称其为 Code Interpreter但模型认知里它就是 python tool所以在 prompt 中直接使用该名称是最明确的调用方式llm -m gpt-5.6-luna -T CodeInterpreter(memory_limit4g) 运行这个计算Python APIimport llm from llm.default_plugins.openai_models import CodeInterpreter model llm.get_model(gpt-5.6-luna) response model.prompt( Use the python tool to calculate 111111 * 333333, tools[CodeInterpreter()], ) print(response.text())CodeInterpreter 的容器配置自动容器不传container参数时OpenAI 默认自动创建 1 GB 容器或复用模型上下文中仍活跃的容器可用memory_limit指定更大的自动容器file_ids让容器读取已有的 OpenAI 文件CodeInterpreter( memory_limit4g, file_ids[file-1, file-2], )合法的memory_limit只有1g、4g、16g、64g四种更高的限制成本更高校验见 openai_models.py#L1820-L1839。复用既有容器传入单独创建的容器 ID 即可CodeInterpreter(containercntr_abc123)显式container不能与memory_limit或file_ids同时使用否则抛出ValueError——这与工具构建测试 test_code_interpreter_validates_container_configuration 验证的行为一致。结果记录LLM 会自动请求完整的 Code Interpreter 输出通过向请求追加code_interpreter_call.outputsinclude 项见prepare_request并把返回的代码与输出记录为服务端执行的 tool parts它永远不会在本地执行这些代码。容器生命周期OpenAI 容器是临时的闲置 20 分钟后过期。容器行为、支持的文件与当前定价参见 OpenAI 官方 Code Interpreter 文档。注意-T后的构造参数如CodeInterpreter(memory_limit4g)在llm -c继续对话或llm chat -c时会被自动保留复用对应测试 test_code_interpreter_cli_tool_is_reused_on_continue。运行llm tools -m gpt-5.6-luna可查看该模型支持的服务端工具及其构造签名。Fast mode 与 service tiersOpenAI 模型可通过service_tierAPI 参数选择不同的处理速度与价格档位Fast mode快速模式比标准处理快最多 2.5 倍但每 Token 价格更高在gpt-5.6-sol上提速最明显。Flex processing弹性处理更慢但更便宜。每个档位只适用于一部分模型——Fast 与 Flex 表格以 OpenAI 定价页为准。LLM 支持的所有 OpenAI 模型都暴露service_tier选项唯一例外是旧版补全模型gpt-3.5-turbo-instruct。启用方式# 启用 Fast mode llm -m gpt-5.6-sol -o service_tier fast 关于鹈鹕的快问快答 # 使用 flex 档更慢更便宜 llm -m gpt-5.4 -o service_tier flex 不着急关于鹈鹕的事实该值会原样透传给 API因此其他档位如priorityfast的旧名称同样可用。源码中service_tier是一个透传字符串选项openai_models.py#L1110-L1122Responses请求会把未消费的选项直接并入 API 参数_build_responses_kwargs对应测试 test_service_tier_sent_to_responses_endpoint 与 test_service_tier_sent_to_chat_completions_fallback。OpenAI 嵌入embedding模型运行llm embed-models可查看嵌入模型列表由register_embedding_models注册。LLM 支持的 OpenAI 嵌入模型如下ada-002 (aliases: ada, oai) 3-small 3-large 3-small-512 3-large-256 3-large-1024其中3-small当前最便宜3-large更贵但能力更强基准与细节见 OpenAI 官方博客。嵌入模型最重要的特性之一是返回向量的维度——向量越小存储与查询成本越低但精度可能下降。3-small与3-large的向量可以安全截断到更低维度而不过分损失精度LLM 提供的-int系列模型正是预配置好做这件事的例如3-large-256就是把3-large截断到 256 维源码中这些模型以(model_id, openai_model_id, dimensions)三元组构造并在embed_batch里把dimensions传给 API见 openai_models.py#L489-L510。各 OpenAI 嵌入模型的向量大小ModelSizeada-00215363-small15363-large30723-small-5125123-large-2562563-large-10241024嵌入的使用方法参见 嵌入文档。OpenAI 补全completion模型gpt-3.5-turbo-instruct与其它模型略有不同——它是补全模型而非聊天模型走的是 OpenAI completions 接口。在源码中它由专门的Completion类实现不接受系统提示传入会抛NotImplementedError、默认max_tokens256、把对话历史按user/assistant文本拼接为纯文本 prompt 发送到client.completions.create()。使用示例llm -m gpt-3.5-turbo-instruct 驯服一只野生河狸的理由:添加更多 OpenAI 模型extra-openai-models.yamlOpenAI 会不定期发布新模型。LLM 会尽力跟进但你也可以通过extra-openai-models.yaml配置文件直接接入。先用下面的命令找到配置文件应放置的目录dirname $(llm logs path)例如在 macOS 上输出~/Library/Application Support/io.datasette.llm在该目录创建extra-openai-models.yaml。假设 OpenAI 刚发布了gpt-3.5-turbo-0613而 LLM 尚未内置支持可以这样配置- model_id: gpt-3.5-turbo-0613 model_name: gpt-3.5-turbo-0613 aliases: [0613]字段说明model_id记录在 LLM 日志中的标识符也用于-m指定模型aliases可选为该模型指定的别名列表model_name真正传给 API 的模型标识符必须与 API 期望的名称完全一致。其余可选字段均与源码中 extra-openai-models.yaml 加载逻辑 一一对应字段类型/取值作用completiontrue标记为补全模型如gpt-3.5-turbo-instruct走 completions 接口responsestrue使用 OpenAI Responses API 而非 Chat Completions适用于o1、o3-mini、gpt-5等通过/v1/responses访问的模型supports_schematrue支持基于json_schema的结构化提取reasoningtrue推理模型如o1、o3-mini启用 reasoning 相关选项service_tiertrue支持service_tier参数启用 Fast mode 等档位visiontrue支持图像输入启用图片/PDF 附件类型audiotrue支持音频输入启用 wav/mpeg 附件类型can_streamfalse不支持流式输出默认支持supports_toolstrue支持函数调用工具api_base/api_type/api_version/api_engine/headers字符串/字典指向 OpenAI 兼容端点设置了api_base后模型不再要求 Keyapi_key_name字符串为该模型指定不同的 Key 名称配置完成后即可使用别名调用新模型llm -m 0613 法国的首都是哪里运行llm models确认新模型已生效OpenAI Chat: gpt-3.5-turbo (aliases: 3.5, chatgpt) OpenAI Chat: gpt-3.5-turbo-16k (aliases: chatgpt-16k, 3.5-16k) OpenAI Chat: gpt-4 (aliases: 4, gpt4) OpenAI Chat: gpt-3.5-turbo-0613 (aliases: 0613)最后运行llm logs -n 1确认本次 prompt 与响应已正确写入日志数据库日志机制详见 docs/logging.md。结语从命令行到源码的完整链路从本文可以看到LLM 对 OpenAI 的支持远不止「封装一个 API」这么简单内置插件通过register_models/register_embedding_models钩子注册模型Chat、Responses、Completion三类实现分别对应 OpenAI 的三套接口Responses 路径还完整实现了服务端工具Web Search、Code Interpreter、推理reasoning元数据回传与加密内容轮转、服务端工具事件的流式刷新等细节tests/test_openai_responses.py 中约 60 个测试覆盖了这些行为。配合extra-openai-models.yaml的扩展能力即使 OpenAI 发布全新模型你也能在官方插件跟进之前立即投入命令行使用。赞分享人工智能大模型AI 应用CLI【免费下载链接】llmAccess large language models from the command-line项目地址https://gitcode.com/gh_mirrors/llm/llm点击查看免费下载相关推荐OpenAI Agents SDK 模型配置完全指南从 Responses API 到第三方适配器OpenAI Agents SDK 模型配置完全指南从 Responses API 到第三方适配器 导读 本文是 OpenAI Agents SDK ope人工智能AI AgentAgent 框架多智能体工具调用MCP ClientsOpenClaw 接入 Meta Muse Spark 推理模型Responses API 插件配置与实战指南OpenClaw 接入 Meta Muse Spark 推理模型Responses API 插件配置与实战指南 OpenClaw 通过官方插件 openclAI 应用AI Agent交互助手后端即时通讯网关Instructor 全面接入 OpenAI Responses API结构化输出、内置工具与类型安全的实战指南Instructor 全面接入 OpenAI Responses API结构化输出、内置工具与类型安全的实战指南 Instructor 已在当前仓库中正式支持人工智能大模型AI 应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考