# Mathematik und KI Workarounds

**URL:** <https://meta.discourse.org/t/math-and-ai-workarounds/393642>\
**Category:** Product Support\
**Tags:** math\
**Created:** [13. Dezember 2024 um 09:12 UTC](https://meta.discourse.org/t/math-and-ai-workarounds/393642 "2024-12-13T09:12:43Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![ozkn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ozkn/32/196013_2.png) [@ozkn](https://meta.discourse.org/u/ozkn)\
**Post date:** [13. Dezember 2024 um 09:12 UTC](https://meta.discourse.org/t/math-and-ai-workarounds/393642/1 "2024-12-13T09:12:43Z")

</div>

> [@ozkn](#):
>
> Künstliche Intelligenz liefert Antworten im Latex-Format. Ich habe eine Eingabeaufforderung geschrieben, um dieses Latex-Format in das MathJax-Format zu konvertieren, aber die Eingabeaufforderung wird nicht immer umgesetzt und antwortet im Latex-Format. Als ich mein Problem der OpenAI-Community schilderte, kam folgender Vorschlag.
> 
> „Ich beschloss, dass es sich nicht einmal lohnt, einen System-Prompt zu überladen, wenn ich am Ende einfach Folgendes mit den Ergebnissen tun kann:

Es gibt neue Vorschläge von der OpenAI-Community bezüglich der Probleme, die ich habe. Planen Sie, diesbezüglich ein Update vorzunehmen? Vorschläge lauten wie folgt:

Vorschlag 1;

```plaintext
def parse_stream_to_katex(stream: Stream):
    """
    Nimmt einen OpenAI Stream und ersetzt ChatGPT LaTeX-Begrenzer
    durch KateX-Begrenzer.
    Gibt Text aus, nicht Chunks
    """
    last_text = ""
    for chunk in stream:
        text = chunk.choices[0].delta.content
        if text:
            # Manchmal können Begrenzer wie \\( über zwei Chunks aufgeteilt sein.
            # Wenn der vorherige Chunk mit \\ endete, fügen Sie diesen Chunk hinzu
            if last_text.endswith("\\"):
                text = last_text + text

            text = (
                text.replace(r"\[", "$$")
                .replace(r"\]", "$$")
                .replace(r"\(", "$")
                .replace(r"\)", "$")
            )
            last_text = text

            # Wenn der Text mit \\ endet, geben wir ihn nicht zurück, wir werden ihn im nächsten Chunk einbeziehen
            if not text.endswith("\\"):
                yield text

```

**Vorschlag 2:**

```plaintext
// MarkdownLaTeXRenderer.js
import React from 'react';
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
import remarkMath from 'remark-math';
import rehypeRaw from 'rehype-raw';
import rehypeKatex from 'rehype-katex';

const MarkdownLaTeXRenderer = ({ content }) => {
    // Ersetzen Sie \\[durch $$ und \\] durch $$, um Kompatibilität zu gewährleisten
    const processedText = content
      .replace(/\[/g, '$$') // Ersetzen Sie alle Vorkommen von \\[ durch $$
      .replace(/\]/g, '$$') // Ersetzen Sie alle Vorkommen von \\] durch $$
      .replace(/\\(/g, '$') // Ersetzen Sie alle Vorkommen von \\( durch $$
      .replace(/\\\)/g, '$'); // Ersetzen Sie alle Vorkommen von \\) durch $$

    const remarkMathOptions = {
        singleDollarTextMath: false,

```

```
};

return (
    <ReactMarkdown
        className="markdown-content"
        children={processedText}
        remarkPlugins={[[remarkMath, remarkMathOptions], remarkGfm]} // Optionen als zweites Element des Arrays übergeben
        rehypePlugins={[rehypeRaw, rehypeKatex]} // rehypeRaw für HTML, rehypeKatex für LaTeX einschließen
    />
);

```

};

export default MarkdownLaTeXRenderer;  
’

---

_[View the full topic](https://meta.discourse.org/t/math-and-ai-workarounds/393642)._
