AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

OPENAI o1 (Inferenzmodell) Benutzerhandbuch, Vorschläge zum Schreiben von Prompt-Wörtern

OpenAI o1 o1-Modelle denken, bevor sie antworten, und sind in der Lage, lange interne Gedankenketten zu generieren, bevor sie dem Benutzer antworten. o1-Modelle zeichnen sich durch wissenschaftliches Denken aus: Sie rangieren im 89. Perzentil bei Competitive Programming Problems (Codeforces), gehören zu den 500 besten Studenten in den USA bei der Amerikanischen Mathematik-Olympiade (AIME), gehören zu den 500 besten Studenten in den USA und übertreffen die Genauigkeit eines menschlichen Doktors bei Benchmark-Tests für Physik, Biologie und Chemie. Qualifikationswettbewerben, gehören zu den 500 besten Studenten in den Vereinigten Staaten und übertreffen bei Benchmark-Tests (GPQA) für Physik-, Biologie- und Chemieprobleme die Genauigkeit eines menschlichen Doktors. o1-Modelle haben auch ein hohes Maß an wissenschaftlichem Denken bewiesen.

 


In der API werden zwei Inferenzmodelle bereitgestellt:

1. o1-previewEine frühe Vorschau auf unser o1-Modell, mit dem sich schwierige Probleme mit Hilfe eines breiten Spektrums an allgemeinem Wissen über die Welt lösen lassen.
2. o1-minio1: eine schnellere und billigere Version von o1, die besonders gut in den Bereichen Programmieren, Mathematik und Naturwissenschaften ist, ohne dass ein umfangreiches Allgemeinwissen erforderlich ist.

 

Das o1-Modell liefert signifikante Rückschlüsse auf die vorankommenAber sie Nicht als Ersatz für GPT-4o in allen Anwendungsfällen gedacht.

Für Anwendungen, die Bildeingaben, Funktionsaufrufe oder gleichbleibend schnelle Antwortzeiten erfordern, sind die Modelle GPT-4o und GPT-4o mini immer noch die richtige Wahl. Wenn Sie jedoch Anwendungen entwickeln möchten, die tiefe Inferenzen erfordern und längere Antwortzeiten verkraften können, ist das Modell o1 eine ausgezeichnete Wahl. Wir sind gespannt, was Sie damit entwickeln!

 

🧪 o1 Modelle befinden sich derzeit in der Testphase

o1 Das Modell befindet sich derzeit in Testphasemit eingeschränkter Funktionalität. Der Zugang ist beschränkt auf Stufe 5 Die Entwickler im hier sind Überprüfen Sie Ihren Verbrauch und haben Sie eine niedrige Tarifgrenze. Wir arbeiten daran, weitere Funktionen hinzuzufügen, indem wir Tempolimitund wird in den kommenden Wochen den Zugang zu weiteren Entwicklern erweitern!

 

Schnellstart

o1-preview im Gesang antworten o1-mini Alle können über die Website Chatvervollständigungen Verwendung des Endpunkts.

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)

Je nachdem, wie viel Denkarbeit das Modell zur Lösung des Problems benötigt, können diese Anfragen zwischen einigen Sekunden und einigen Minuten dauern.

 

Beta-Beschränkungen

In der Beta-Version sind viele der API-Parameter für den Chat-Abschluss noch nicht verfügbar. Die bemerkenswertesten davon sind:

  • modal (Informatik, Linguistik): Nur Text wird unterstützt, keine Bilder.
  • Nachrichtentyp: Es werden nur Benutzer- und Assistentenmeldungen unterstützt, keine Systemmeldungen.
  • Streaming: Nicht unterstützt.
  • ArtefaktTools, Funktionsaufrufe und Antwortformatparameter werden nicht unterstützt.
  • Logprobs: Nicht unterstützt.
  • der Rest:: `temperature`, `top_p` und `nFestgelegt auf `1`, und `presence_penalty` und `frequency_penaltyFestgelegt auf `0`.
  • Assistenten und ChargenDiese Modelle unterstützen weder die Assistenten-API noch die Batch-API.

Mit dem Auslaufen der Beta-Phase wird die Unterstützung für einige dieser Parameter hinzugefügt werden. o1 Künftige Modelle der Serie werden Funktionen wie Multimodalität und Werkzeugnutzung enthalten.

 

 

Wie die Argumentation funktioniert

Das o1-Modell führt ein Begründungsmünzen. Diese Modelle verwenden Inferenz Token Das Modell "denkt" nach, schlüsselt das Verständnis des Hinweises auf und erwägt mehrere Möglichkeiten, eine Antwort zu geben. Nach der Generierung von Argumentations-Token generiert das Modell Antworten als sichtbare Vervollständigungs-Token und verwirft Argumentations-Token aus ihrem Kontext.

Unten sehen Sie ein Beispiel für einen mehrstufigen Dialog zwischen einem Benutzer und einem Assistenten. Die Eingabe- und Ausgabe-Token für jeden Schritt werden beibehalten, während die Inferenz-Token verworfen werden.

o1 (Reasoning Models) Richtlinien für die Verwendung von Prompt Words-1

Inferenz-Token werden nicht im Kontext gespeichert

 

Obwohl Inferenz-Token nicht über die API angezeigt werden können, belegen sie dennoch den Kontextfensterbereich des Modells und werden als Ausgabe-Token Anklagen.

 

Kontextfenster verwalten

Die Modelle o1-preview und o1-mini bieten ein Kontextfenster von 128.000 Token. Jedes Mal, wenn Inhalte generiert werden, gibt es eine Obergrenze für die maximale Anzahl der ausgegebenen Token - dies umfasst sowohl unsichtbare Inferenz-Token als auch sichtbare Generierungs-Token. die Obergrenze für die ausgegebenen Token lautet wie folgt:

  • o1-Preview: bis zu 32.768 Token
  • o1-mini: bis zu 65.536 Token

 

Bei der Generierung von Inhalten ist darauf zu achten, dass im Kontextfenster genügend Platz für Inferenz-Token vorhanden ist. Je nach Komplexität des Problems kann das Modell zwischen einigen Hundert und Zehntausenden von Schlussfolgerungstoken generieren, und die genaue Anzahl der verwendeten Schlussfolgerungstoken kann in der Verwendungsobjekt für das Antwortobjekt der Chaterzeugung den Nagel auf den Kopf treffen completion_tokens_details Ansicht:

usage: {
total_tokens: 1000,
prompt_tokens: 400,
completion_tokens: 600,
completion_tokens_details: {
reasoning_tokens: 500
}
}

 

Kosten kontrollieren

Um die Kosten für die o1-Modellfamilie zu verwalten, können Sie die max_completion_tokens begrenzt die Gesamtzahl der vom Modell generierten Token (sowohl Inferenz- als auch Generierungstoken).

Im vorherigen Modell wurde `max_tokensDer Parameter ` steuert die Anzahl der generierten Token und die Anzahl der für den Benutzer sichtbaren Token, die immer gleich sind. In der o1-Familie kann jedoch die Gesamtzahl der erzeugten Zeichen die Anzahl der sichtbaren Zeichen übersteigen, da interne Argumentationszeichen vorhanden sind.

Da sich einige Anwendungen auf `max_tokensIn Übereinstimmung mit der Anzahl der von der API erhaltenen Token führt die o1-Serie `max_completion_tokensDiese explizite Wahl stellt sicher, dass bestehende Anwendungen nicht unterbrochen werden, wenn neue Modelle verwendet werden. Bei allen bisherigen Modellen wurde `max_tokensDer Parameter ` behält seine ursprüngliche Funktion bei.

 

Raum für Argumente lassen

Wenn die generierten Token das Limit des Kontextfensters erreichen oder wenn Sie die `max_completion_tokensWert, erhalten Sie `finish_reasonSetze auf `length`s Chat-Erzeugungsantwort. Dies kann geschehen, bevor sichtbare Token generiert werden, d. h. Sie können für Eingabe- und Argumentations-Token bezahlen und erhalten keine sichtbare Antwort.

Um dies zu verhindern, stellen Sie sicher, dass Sie genügend Platz im Kontextfenster lassen, oder setzen Sie die `max_completion_tokensOpenAI empfiehlt, mindestens 25.000 Token für Inferenz und Ausgabe zu reservieren, wenn Sie mit der Verwendung dieser Modelle beginnen. Sobald Sie mit der Anzahl der für Hinweise erforderlichen Inferenz-Token vertraut sind, können Sie diesen Puffer entsprechend anpassen.

 

 

Vorschläge für Schlagwörter

 

Diese Modelle erbringen die besten Leistungen, wenn sie klare und prägnante Hinweise verwenden. Einige Techniken der Cue-Engineering (wie z. B. "few-shot cues" oder das Modell "Schritt für Schritt denken" lassen) verbessern die Leistung nicht und können manchmal sogar kontraproduktiv sein. Hier sind einige bewährte Verfahren:

  • Halten Sie die Tipps einfach und klar: Diese Modelle sind gut darin, kurze, klare Anweisungen zu verstehen und darauf zu reagieren, ohne dass man ihnen zu viele Anweisungen geben muss.
  • Vermeiden Sie Kettenreaktionen: Da diese Modelle intern denken, ist es nicht notwendig, sie anzuleiten, "Schritt für Schritt zu denken" oder "Ihre Überlegungen zu erklären".
  • Verwenden Sie Trennzeichen, um die Übersichtlichkeit zu verbessern: Die Verwendung von Trennzeichen wie dreifachen Anführungszeichen, XML-Tags oder Abschnittsüberschriften zur eindeutigen Kennzeichnung der verschiedenen Teile der Eingabe hilft dem Modell, jeden Teil richtig zu verstehen.
  • Bei der Suche nach einer verbesserten Generation (RAG) in Begrenzung des zusätzlichen Kontexts:** Wenn Sie zusätzlichen Kontext oder Dokumentation bereitstellen, fügen Sie nur die wichtigsten Informationen ein, um die Antworten des Modells nicht zu verkomplizieren.

o1 (Reasoning Models) Verwendungsrichtlinien, Vorschläge für Prompt Words Writing-1

 

o1 (Reasoning Models) Verwendungsrichtlinien, Vorschläge für Prompt Words Writing - 2

 

Beispiele für Eingabeaufforderungen

Kodierung (Refactoring)

Die OpenAI o1-Modellfamilie ist in der Lage, komplexe Algorithmen zu implementieren und Code zu generieren. Die folgenden Hinweise verlangen von o1 ein Refactoring Reagieren Sie Bauteil.

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)

 

Code (Planung)

Die OpenAI o1-Modellfamilie ist ebenfalls in der Lage, mehrstufige Pläne zu erstellen. In diesem Beispiel wird o1 aufgefordert, die Dateisystemstruktur einer vollständigen Lösung zu erstellen und den Python-Code zur Implementierung der erforderlichen Anwendungsfälle bereitzustellen.

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)

 

MINT-Forschung

Die OpenAI o1-Modellfamilie schneidet in der MINT-Forschung gut ab. Prompts, die zur Unterstützung grundlegender Forschungsaufgaben verwendet werden, zeigen in der Regel gute Ergebnisse.

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)

 

 

Beispiel für einen Anwendungsfall

Einige Beispiele für den Einsatz von o1 in der Praxis finden Sie in der das Kochbuch Gefunden in.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " OPENAI o1 (Inferenzmodell) Benutzerhandbuch, Vorschläge zum Schreiben von Prompt-Wörtern
de_DEDeutsch