Guía del usuario de OPENAI o1 (modelo de inferencia), Sugerencias para escribir palabras clave
Base de conocimientos de IAActualizado hace 11 meses Círculo de intercambio de inteligencia artificial 8.5K 00
OpenAI o1 Los modelos o1 piensan antes de responder y son capaces de generar largas cadenas internas de pensamiento antes de responder al usuario. Los modelos o1 sobresalen en razonamiento científico, situándose en el percentil 89 en Problemas de Programación Competitiva (Codeforces), entre los 500 mejores estudiantes de Estados Unidos en las eliminatorias de la Olimpiada Matemática Americana (AIME), entre los 500 mejores estudiantes de Estados Unidos y superando la precisión de un doctor en ciencias humanas en pruebas de referencia (GPQA) para problemas de física, biología y química. (AIME), se han clasificado entre los 500 mejores estudiantes de Estados Unidos y han superado el nivel de precisión de un doctorado humano en pruebas de referencia (GPQA) para problemas de física, biología y química. Los modelos o1 también han demostrado un alto nivel de razonamiento científico.
La API ofrece dos modelos de inferencia:
1. o1-preview
Un primer avance de nuestro modelo o1, diseñado para razonar sobre problemas difíciles utilizando una amplia gama de conocimientos comunes sobre el mundo.
2. o1-mini
una versión más rápida y barata de o1 que es particularmente buena en tareas de codificación, matemáticas y ciencias que no requieren amplios conocimientos generales.
El modelo o1 proporciona una inferencia significativa en la avanzarPero ellos No está pensado para sustituir al GPT-4o en todos los casos de uso.
Para aplicaciones que requieren entradas de imágenes, llamadas a funciones o tiempos de respuesta consistentemente rápidos, los modelos GPT-4o y GPT-4o mini siguen siendo la elección correcta. Sin embargo, si lo que busca es desarrollar aplicaciones que requieran una inferencia profunda y puedan acomodarse a tiempos de respuesta más largos, el modelo o1 puede ser una elección excelente. Estamos impacientes por ver lo que creas con ellos.
🧪 o1 Los modelos están actualmente en fase de pruebas
o1 El modelo se encuentra actualmente en fase de pruebascon funcionalidad limitada. El acceso está limitado a Nivel 5 Los promotores del aquí están Comprueba tu nivel de uso y ten un límite de tarifa bajo. Estamos trabajando para añadir más funciones, añadiendo límite de velocidady ampliaremos el acceso a más desarrolladores en las próximas semanas.
Inicio rápido
o1-preview
responder cantando o1-mini
Se puede acceder a todos ellos a través de finalizaciones del chat Uso final.
from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": "编写一个 Bash 脚本,将矩阵表示为格式 '[1,2],[3,4],[5,6]' 的字符串,并以相同的格式打印转置矩阵。" } ] ) print(response.choices[0].message.content)
Dependiendo de la cantidad de razonamiento que necesite el modelo para resolver el problema, estas peticiones pueden tardar desde unos segundos hasta unos minutos.
Restricciones beta
En Beta, muchos de los parámetros de la API de finalización de chat aún no están disponibles. Los más notables son:
- modal (informática, lingüística): Sólo se admite texto, no imágenes.
- Tipo de mensaje: Sólo se admiten mensajes de usuario y mensajes de asistente, no mensajes de sistema.
- streaming: No compatible.
- artefactoHerramientas, llamadas a funciones y parámetros de formato de respuesta no compatibles.
- Logprobs: No compatible.
- el resto:: `
temperature
`, `top_p
yn
Fijo a1
`, y `presence_penalty
yfrequency_penalty
Fijo a0
`. - Asistentes y lotesEstos modelos no son compatibles con la API de asistentes ni con la API de lotes.
A medida que vayamos abandonando la fase Beta, se añadirá compatibilidad con algunos de estos parámetros. o1 Los futuros modelos de la serie incluirán funciones como la multimodalidad y el uso de herramientas.
Cómo funciona el razonamiento
El modelo o1 introduce Fichas de razonamiento. Estos modelos utilizan la inferencia fichas El modelo "piensa", descompone la comprensión del indicio y considera múltiples formas de generar una respuesta. Tras generar fichas de razonamiento, el modelo genera respuestas como fichas de finalización visibles y descarta las fichas de razonamiento de su contexto.
A continuación se muestra un ejemplo de diálogo en varios pasos entre un usuario y un asistente. Los tokens de entrada y salida de cada paso se conservan, mientras que los tokens de inferencia se descartan.

Los tokens de inferencia no se guardan en contexto
Aunque los tokens de inferencia no se pueden mostrar a través de la API, siguen ocupando el espacio de la ventana de contexto del modelo y se utilizan como el fichas de salida Cargos.
Gestionar ventana de contexto
Los modelos o1-preview y o1-mini proporcionan una ventana de contexto de 128.000 tokens. Cada vez que se genera contenido, existe un límite superior en el número máximo de tokens de salida, que incluye tanto los tokens de inferencia invisibles como los tokens de generación visibles. el límite máximo de tokens de salida es el siguiente:
- o1-preview: hasta 32.768 fichas
- o1-mini: hasta 65.536 fichas
Al generar el contenido, es importante asegurarse de que hay espacio suficiente para las fichas de inferencia en la ventana de contexto. Dependiendo de la complejidad del problema, el modelo puede generar desde unos cientos hasta decenas de miles de fichas de inferencia. Objeto de uso para el objeto de respuesta de generación de chat ha dado en el clavo completion_tokens_details
Ver:
usage: { total_tokens: 1000, prompt_tokens: 400, completion_tokens: 600, completion_tokens_details: { reasoning_tokens: 500 } }
Controlar los costes
Para gestionar el coste de la familia de modelos o1, puede utilizar la función max_completion_tokens
limita el número total de tokens generados por el modelo (tanto de inferencia como de generación).
En el modelo anterior, `max_tokens
El parámetro ` controla el número de tokens generados y el número de tokens visibles para el usuario, que son siempre iguales. Sin embargo, en la familia o1, el número total de tokens generados puede superar el número de tokens visibles debido a la presencia de tokens de razonamiento interno.
Dado que algunas aplicaciones pueden depender de `max_tokens
` En consonancia con el número de tokens recibidos de la API, la serie o1 introduce `max_completion_tokens
` para controlar explícitamente el número total de tokens generados por el modelo, tanto los inferidos como los visibles.Esta elección explícita garantiza que las aplicaciones existentes no se rompan cuando se utilicen nuevos modelos. En todos los modelos anteriores, `max_tokens
El parámetro ` sigue manteniendo su función original.
Dejar espacio para el razonamiento
Si los tokens generados alcanzan el límite de la ventana contextual o si se establece el valor `max_completion_tokens
`, recibirá `finish_reason
` Set to `length
`'s respuesta de generación de chat. Esto puede ocurrir antes de que se genere cualquier token generado visible, lo que significa que puede pagar tokens de entrada y razonamiento y no recibir una respuesta visible.
Para evitarlo, asegúrese de dejar espacio suficiente en la ventana contextual, o configure el parámetro `max_completion_tokens
OpenAI recomienda reservar al menos 25.000 tokens para inferencia y salida cuando empieces a usar estos modelos. Una vez que estés familiarizado con el número de tokens de inferencia necesarios para las pistas, puedes ajustar este búfer en consecuencia.
Sugerencias de palabras clave
Estos modelos rinden mejor cuando se utilizan pistas claras y concisas. Algunas técnicas de ingeniería de pistas (como dar pocas pistas o dejar que el modelo "piense paso a paso") no mejoran el rendimiento y a veces pueden ser contraproducentes. He aquí algunas de las mejores prácticas:
- Los mensajes deben ser sencillos y claros: Estos modelos son buenos comprendiendo y respondiendo a instrucciones breves y claras sin tener que proporcionar demasiada orientación.
- Evite las señales de pensamiento en cadena: Dado que estos modelos razonan internamente, no es necesario guiarles para que "piensen paso a paso" o "expliquen su razonamiento".
- Utilice separadores para mejorar la claridad: El uso de separadores como las comillas triples, las etiquetas XML o los encabezados de sección para etiquetar claramente las distintas partes de la entrada ayuda al modelo a entender cada parte correctamente.
- En la búsqueda de una generación mejorada (RAG) en Contexto adicional límite:** Cuando proporcione contexto o documentación adicional, incluya sólo la información más relevante para evitar complicar en exceso las respuestas del modelo.


Ejemplos de indicaciones
Codificación (refactorización)
La familia de modelos OpenAI o1 es capaz de implementar algoritmos complejos y generar código. Las siguientes sugerencias requieren que o1 refactorice un Reaccione Componente.
from openai import OpenAI client = OpenAI() prompt = """ 指令: - 对下面的 React 组件进行修改,使得非小说类书籍的文字变为红色。 - 回复中只返回代码,不要包含任何额外的格式,如 markdown 代码块。 - 在格式上,使用四个空格缩进,且代码行不超过 80 列。 const books = [ { title: '沙丘', category: 'fiction', id: 1 }, { title: '科学怪人', category: 'fiction', id: 2 }, { title: '魔球', category: 'nonfiction', id: 3 }, ]; export default function BookList() { const listItems = books.map(book => <li> {book.title} </li> ); return ( <ul>{listItems}</ul> ); } """ response = client.chat.completions.create( model="o1-mini", messages=[ { "role": "user", "content": [ { "type": "text", "text": prompt }, ], } ] ) print(response.choices[0].message.content)
Código (planificación)
La familia de modelos OpenAI o1 también es experta en la creación de planes de múltiples pasos. Este ejemplo pide a o1 que cree la estructura del sistema de archivos de una solución completa y proporcione el código Python para implementar los casos de uso requeridos.
from openai import OpenAI client = OpenAI() prompt = """ 我想构建一个 Python 应用程序,接收用户问题并在数据库中查找对应答案。如果找到相近匹配,就返回匹配的答案。如果没有匹配,要求用户提供答案,并将问题/答案对存储到数据库中。为此创建一个目录结构的计划,然后返回每个文件的完整内容。仅在代码开始和结束时提供你的推理,而不是在代码中间。 """ response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": [ { "type": "text", "text": prompt }, ], } ] ) print(response.choices[0].message.content)
Investigación STEM
La familia de modelos OpenAI o1 obtiene buenos resultados en la investigación STEM. Las instrucciones utilizadas para tareas de investigación básica suelen dar buenos resultados.
from openai import OpenAI client = OpenAI() prompt = """ 我们应该考虑研究哪三种化合物以推进新抗生素的研究?为什么要考虑它们? """ response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": prompt } ] ) print(response.choices[0].message.content)
Ejemplo de caso práctico
Algunos ejemplos de casos reales de uso de o1 pueden consultarse en la página el libro de cocina Encontrado en.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...