1. 内置工具模块
llmops
  • app应用模块
    • 基础聊天接口
      POST
    • 创建app
      POST
    • 获取app详情
      GET
    • 更新app
      POST
    • 删除app
      DELETE
  • 内置工具模块
    • 获取所有内置工具信息
      GET
    • 获取指定工具信息
      GET
    • 获取提供者的图标
      GET
    • 获取分类信息
      GET
  • 自定义api工具模块
    • 校验openapi-schema格式
      POST
    • 创建自定义api工具
      POST
    • 获取api提供者信息 根据uuid
      GET
    • 获取指定API工具详情
      GET
    • 查询分页
      GET
    • 更新apiprovider
      POST
  • 上传文件模块
    • 上传文件
      POST
    • 上传图片
      POST
  • 知识库/文档 模块
    • 知识库
      • 创建知识库
      • 获取知识库详情
      • 更新知识库
      • 分页搜索知识库
    • 文档
      • 指定知识库下新增文档
      • 修改文档名称
      • 获取指定文档基础信息
      • 获取知识库下的文档列表
    • 知识库召回测试
      POST
    • 根据批处理id 获取进度
      GET
    • 结巴分词/embedding 测试
      GET
  • 测试接口
    GET
  • 有道翻译接口
    GET
  1. 内置工具模块

获取指定工具信息

开发中
GET
/builtin-tools/{provider}/tools/{tool}

请求参数

Path 参数

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request GET 'http://localhost:5000/builtin-tools/google/tools/google_serper'

返回响应

🟢200成功
application/json
Body

示例
<!doctype html>
<html lang=en>
  <head>
    <title>werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
 // Werkzeug Debugger</title>
    <link rel="stylesheet" href="?__debugger__=yes&amp;cmd=resource&amp;f=style.css">
    <link rel="shortcut icon"
        href="?__debugger__=yes&amp;cmd=resource&amp;f=console.png">
    <script src="?__debugger__=yes&amp;cmd=resource&amp;f=debugger.js"></script>
    <script>
      var CONSOLE_MODE = false,
          EVALEX = true,
          EVALEX_TRUSTED = false,
          SECRET = "S4g8RFS6omZKkb5kB1Rc";
    </script>
  </head>
  <body style="background-color: #fff">
    <div class="debugger">
<h1>werkzeug.exceptions.NotFound</h1>
<div class="detail">
  <p class="errormsg">werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
</p>
</div>
<h2 class="traceback">Traceback <em>(most recent call last)</em></h2>
<div class="traceback">
  <h3></h3>
  <ul><li><div class="frame" id="frame-3002765073504">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">1536</em>,
      in <code class="function">__call__</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">    </span>) -&gt; cabc.Iterable[bytes]:</pre>
<pre class="line before"><span class="ws">        </span>&#34;&#34;&#34;The WSGI server calls the Flask application object as the</pre>
<pre class="line before"><span class="ws">        </span>WSGI application. This calls :meth:`wsgi_app`, which can be</pre>
<pre class="line before"><span class="ws">        </span>wrapped to apply middleware.</pre>
<pre class="line before"><span class="ws">        </span>&#34;&#34;&#34;</pre>
<pre class="line current"><span class="ws">        </span>return self.wsgi_app(environ, start_response)
<span class="ws">        </span>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre></div>
</div>

<li><div class="frame" id="frame-3002765070480">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">1514</em>,
      in <code class="function">wsgi_app</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">            </span>try:</pre>
<pre class="line before"><span class="ws">                </span>ctx.push()</pre>
<pre class="line before"><span class="ws">                </span>response = self.full_dispatch_request()</pre>
<pre class="line before"><span class="ws">            </span>except Exception as e:</pre>
<pre class="line before"><span class="ws">                </span>error = e</pre>
<pre class="line current"><span class="ws">                </span>response = self.handle_exception(e)
<span class="ws">                </span>           ^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">            </span>except:  # noqa: B001</pre>
<pre class="line after"><span class="ws">                </span>error = sys.exc_info()[1]</pre>
<pre class="line after"><span class="ws">                </span>raise</pre>
<pre class="line after"><span class="ws">            </span>return response(environ, start_response)</pre>
<pre class="line after"><span class="ws">        </span>finally:</pre></div>
</div>

<li><div class="frame" id="frame-3002765066592">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">1511</em>,
      in <code class="function">wsgi_app</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">        </span>ctx = self.request_context(environ)</pre>
<pre class="line before"><span class="ws">        </span>error: BaseException | None = None</pre>
<pre class="line before"><span class="ws">        </span>try:</pre>
<pre class="line before"><span class="ws">            </span>try:</pre>
<pre class="line before"><span class="ws">                </span>ctx.push()</pre>
<pre class="line current"><span class="ws">                </span>response = self.full_dispatch_request()
<span class="ws">                </span>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">            </span>except Exception as e:</pre>
<pre class="line after"><span class="ws">                </span>error = e</pre>
<pre class="line after"><span class="ws">                </span>response = self.handle_exception(e)</pre>
<pre class="line after"><span class="ws">            </span>except:  # noqa: B001</pre>
<pre class="line after"><span class="ws">                </span>error = sys.exc_info()[1]</pre></div>
</div>

<li><div class="frame" id="frame-3002765071632">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">919</em>,
      in <code class="function">full_dispatch_request</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">            </span>request_started.send(self, _async_wrapper=self.ensure_sync)</pre>
<pre class="line before"><span class="ws">            </span>rv = self.preprocess_request()</pre>
<pre class="line before"><span class="ws">            </span>if rv is None:</pre>
<pre class="line before"><span class="ws">                </span>rv = self.dispatch_request()</pre>
<pre class="line before"><span class="ws">        </span>except Exception as e:</pre>
<pre class="line current"><span class="ws">            </span>rv = self.handle_user_exception(e)
<span class="ws">            </span>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">        </span>return self.finalize_request(rv)</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">    </span>def finalize_request(</pre>
<pre class="line after"><span class="ws">        </span>self,</pre>
<pre class="line after"><span class="ws">        </span>rv: ft.ResponseReturnValue | HTTPException,</pre></div>
</div>

<li><div class="frame" id="frame-3002765070768">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">802</em>,
      in <code class="function">handle_user_exception</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">            </span>self.debug or self.config[&#34;TRAP_BAD_REQUEST_ERRORS&#34;]</pre>
<pre class="line before"><span class="ws">        </span>):</pre>
<pre class="line before"><span class="ws">            </span>e.show_exception = True</pre>
<pre class="line before"><span class="ws"></span> </pre>
<pre class="line before"><span class="ws">        </span>if isinstance(e, HTTPException) and not self.trap_http_exception(e):</pre>
<pre class="line current"><span class="ws">            </span>return self.handle_http_exception(e)
<span class="ws">            </span>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">        </span>handler = self._find_error_handler(e, request.blueprints)</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">        </span>if handler is None:</pre>
<pre class="line after"><span class="ws">            </span>raise</pre></div>
</div>

<li><div class="frame" id="frame-3002765071200">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">777</em>,
      in <code class="function">handle_http_exception</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">            </span>return e</pre>
<pre class="line before"><span class="ws"></span> </pre>
<pre class="line before"><span class="ws">        </span>handler = self._find_error_handler(e, request.blueprints)</pre>
<pre class="line before"><span class="ws">        </span>if handler is None:</pre>
<pre class="line before"><span class="ws">            </span>return e</pre>
<pre class="line current"><span class="ws">        </span>return self.ensure_sync(handler)(e)  # type: ignore[no-any-return]
<span class="ws">        </span>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">    </span>def handle_user_exception(</pre>
<pre class="line after"><span class="ws">        </span>self, e: Exception</pre>
<pre class="line after"><span class="ws">    </span>) -&gt; HTTPException | ft.ResponseReturnValue:</pre>
<pre class="line after"><span class="ws">        </span>&#34;&#34;&#34;This method is called whenever an exception occurs that</pre></div>
</div>

<li><div class="frame" id="frame-3002765071056">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\internal\server\http.py"</cite>,
      line <em class="line">55</em>,
      in <code class="function">_register_error_handler</code></h4>
  <div class="source "><pre class="line before"><span class="ws">                </span>code=error.code,</pre>
<pre class="line before"><span class="ws">                </span>message=error.message,</pre>
<pre class="line before"><span class="ws">                </span>data=error.data if error.data is not None else {}</pre>
<pre class="line before"><span class="ws">            </span>))</pre>
<pre class="line before"><span class="ws">        </span>if self.debug or os.getenv(&#34;FLASK_ENV&#34;) == &#34;development&#34;:</pre>
<pre class="line current"><span class="ws">            </span>raise error
<span class="ws">            </span>^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">        </span>else:</pre>
<pre class="line after"><span class="ws">            </span>return json(Response(</pre>
<pre class="line after"><span class="ws">                </span>code=HttpCode.FAIL,</pre>
<pre class="line after"><span class="ws">                </span>message=str(error),</pre>
<pre class="line after"><span class="ws">                </span>data={}</pre></div>
</div>

<li><div class="frame" id="frame-3002765068752">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">917</em>,
      in <code class="function">full_dispatch_request</code></h4>
  <div class="source library"><pre class="line before"><span class="ws"></span> </pre>
<pre class="line before"><span class="ws">        </span>try:</pre>
<pre class="line before"><span class="ws">            </span>request_started.send(self, _async_wrapper=self.ensure_sync)</pre>
<pre class="line before"><span class="ws">            </span>rv = self.preprocess_request()</pre>
<pre class="line before"><span class="ws">            </span>if rv is None:</pre>
<pre class="line current"><span class="ws">                </span>rv = self.dispatch_request()
<span class="ws">                </span>     ^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">        </span>except Exception as e:</pre>
<pre class="line after"><span class="ws">            </span>rv = self.handle_user_exception(e)</pre>
<pre class="line after"><span class="ws">        </span>return self.finalize_request(rv)</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">    </span>def finalize_request(</pre></div>
</div>

<li><div class="frame" id="frame-3002765072208">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">891</em>,
      in <code class="function">dispatch_request</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">           </span>This no longer does the exception handling, this code was</pre>
<pre class="line before"><span class="ws">           </span>moved to the new :meth:`full_dispatch_request`.</pre>
<pre class="line before"><span class="ws">        </span>&#34;&#34;&#34;</pre>
<pre class="line before"><span class="ws">        </span>req = request_ctx.request</pre>
<pre class="line before"><span class="ws">        </span>if req.routing_exception is not None:</pre>
<pre class="line current"><span class="ws">            </span>self.raise_routing_exception(req)
<span class="ws">            </span>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">        </span>rule: Rule = req.url_rule  # type: ignore[assignment]</pre>
<pre class="line after"><span class="ws">        </span># if we provide automatic options for this URL and the</pre>
<pre class="line after"><span class="ws">        </span># request came with the OPTIONS method, reply automatically</pre>
<pre class="line after"><span class="ws">        </span>if (</pre>
<pre class="line after"><span class="ws">            </span>getattr(rule, &#34;provide_automatic_options&#34;, False)</pre></div>
</div>

<li><div class="frame" id="frame-3002765077824">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py"</cite>,
      line <em class="line">500</em>,
      in <code class="function">raise_routing_exception</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">            </span>not self.debug</pre>
<pre class="line before"><span class="ws">            </span>or not isinstance(request.routing_exception, RequestRedirect)</pre>
<pre class="line before"><span class="ws">            </span>or request.routing_exception.code in {307, 308}</pre>
<pre class="line before"><span class="ws">            </span>or request.method in {&#34;GET&#34;, &#34;HEAD&#34;, &#34;OPTIONS&#34;}</pre>
<pre class="line before"><span class="ws">        </span>):</pre>
<pre class="line current"><span class="ws">            </span>raise request.routing_exception  # type: ignore[misc]
<span class="ws">            </span>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">        </span>from .debughelpers import FormDataRoutingRedirect</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">        </span>raise FormDataRoutingRedirect(request)</pre>
<pre class="line after"><span class="ws"></span> </pre></div>
</div>

<li><div class="frame" id="frame-3002765070912">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\ctx.py"</cite>,
      line <em class="line">362</em>,
      in <code class="function">match_request</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">    </span>def match_request(self) -&gt; None:</pre>
<pre class="line before"><span class="ws">        </span>&#34;&#34;&#34;Can be overridden by a subclass to hook into the matching</pre>
<pre class="line before"><span class="ws">        </span>of the request.</pre>
<pre class="line before"><span class="ws">        </span>&#34;&#34;&#34;</pre>
<pre class="line before"><span class="ws">        </span>try:</pre>
<pre class="line current"><span class="ws">            </span>result = self.url_adapter.match(return_rule=True)  # type: ignore
<span class="ws">            </span>         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">            </span>self.request.url_rule, self.request.view_args = result  # type: ignore</pre>
<pre class="line after"><span class="ws">        </span>except HTTPException as e:</pre>
<pre class="line after"><span class="ws">            </span>self.request.routing_exception = e</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">    </span>def push(self) -&gt; None:</pre></div>
</div>

<li><div class="frame" id="frame-3002765071488">
  <h4>File <cite class="filename">"D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\werkzeug\routing\map.py"</cite>,
      line <em class="line">629</em>,
      in <code class="function">match</code></h4>
  <div class="source library"><pre class="line before"><span class="ws">                </span>raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None</pre>
<pre class="line before"><span class="ws"></span> </pre>
<pre class="line before"><span class="ws">            </span>if e.websocket_mismatch:</pre>
<pre class="line before"><span class="ws">                </span>raise WebsocketMismatch() from None</pre>
<pre class="line before"><span class="ws"></span> </pre>
<pre class="line current"><span class="ws">            </span>raise NotFound() from None
<span class="ws">            </span>^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
<pre class="line after"><span class="ws">        </span>else:</pre>
<pre class="line after"><span class="ws">            </span>rule, rv = result</pre>
<pre class="line after"><span class="ws"></span> </pre>
<pre class="line after"><span class="ws">            </span>if self.map.redirect_defaults:</pre>
<pre class="line after"><span class="ws">                </span>redirect_url = self.get_default_redirect(rule, method, rv, query_args)</pre></div>
</div>
</ul>
  <blockquote>werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
</blockquote>
</div>

<div class="plain">
    <p>
      This is the Copy/Paste friendly version of the traceback.
    </p>
    <textarea cols="50" rows="10" name="code" readonly>Traceback (most recent call last):
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 1514, in wsgi_app
    response = self.handle_exception(e)
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 802, in handle_user_exception
    return self.handle_http_exception(e)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 777, in handle_http_exception
    return self.ensure_sync(handler)(e)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  File &#34;D:\code\llm-ops\llmops-api\internal\server\http.py&#34;, line 55, in _register_error_handler
    raise error
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 891, in dispatch_request
    self.raise_routing_exception(req)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py&#34;, line 500, in raise_routing_exception
    raise request.routing_exception  # type: ignore[misc]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\ctx.py&#34;, line 362, in match_request
    result = self.url_adapter.match(return_rule=True)  # type: ignore
  File &#34;D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\werkzeug\routing\map.py&#34;, line 629, in match
    raise NotFound() from None
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
</textarea>
</div>
<div class="explanation">
  The debugger caught an exception in your WSGI application.  You can now
  look at the traceback which led to the error.  <span class="nojavascript">
  If you enable JavaScript you can also use additional features such as code
  execution (if the evalex feature is enabled), automatic pasting of the
  exceptions and much more.</span>
</div>
      <div class="footer">
        Brought to you by <strong class="arthur">DON'T PANIC</strong>, your
        friendly Werkzeug powered traceback interpreter.
      </div>
    </div>

    <div class="pin-prompt">
      <div class="inner">
        <h3>Console Locked</h3>
        <p>
          The console is locked and needs to be unlocked by entering the PIN.
          You can find the PIN printed out on the standard output of your
          shell that runs the server.
        <form>
          <p>PIN:
            <input type=text name=pin size=14>
            <input type=submit name=btn value="Confirm Pin">
        </form>
      </div>
    </div>
  </body>
</html>

<!--

Traceback (most recent call last):
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 1514, in wsgi_app
    response = self.handle_exception(e)
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 802, in handle_user_exception
    return self.handle_http_exception(e)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 777, in handle_http_exception
    return self.ensure_sync(handler)(e)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "D:\code\llm-ops\llmops-api\internal\server\http.py", line 55, in _register_error_handler
    raise error
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 891, in dispatch_request
    self.raise_routing_exception(req)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\app.py", line 500, in raise_routing_exception
    raise request.routing_exception  # type: ignore[misc]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\flask\ctx.py", line 362, in match_request
    result = self.url_adapter.match(return_rule=True)  # type: ignore
  File "D:\code\llm-ops\llmops-api\.venv\Lib\site-packages\werkzeug\routing\map.py", line 629, in match
    raise NotFound() from None
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.


-->
修改于 2026-04-02 15:58:11
上一页
获取所有内置工具信息
下一页
获取提供者的图标
Built with