chore: add all untracked files from VM — scripts, test-results, LLM batch, docs
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
# Batch LLM Explain Archive — тесты
|
||||
|
||||
## Методика
|
||||
- Для каждого архива из examples/ создаём .zip с кодом.
|
||||
- Отправляем на endpoint /console/api/ai/explain-archive.
|
||||
- Сохраняем prompt, ответ LLM, замечания.
|
||||
- Итеративно улучшаем prompt по результатам.
|
||||
|
||||
## Пример: hello-python
|
||||
|
||||
**main.py:**
|
||||
```
|
||||
def main():
|
||||
return "hello from fission via terraform"
|
||||
```
|
||||
|
||||
**Ответ LLM:**
|
||||
> Эта серверless‑функция состоит из единственной функции `main`, которая при вызове сразу возвращает строку `"hello from fission via terraform"`. По сути, она только выводит приветственное сообщение.
|
||||
|
||||
**Комментарий:**
|
||||
- Ответ корректный, краткий, по делу.
|
||||
@@ -0,0 +1,25 @@
|
||||
# go-hello.zip
|
||||
|
||||
**handler.go:**
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Handler — точка входа для Fission go-env.
|
||||
// Go builder компилирует этот файл в .so плагин,
|
||||
// go-env загружает его через plugin.Open().
|
||||
func Handler(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Set("Content-Type", "text/plain")
|
||||
fmt.Fprintf(w, "Hello from real Go in Fission (builder pipeline)")
|
||||
}
|
||||
```
|
||||
|
||||
**Ответ LLM:**
|
||||
> Эта функция — HTTP‑обработчик для серверлесс‑платформы Fission, написанный на Go. При получении любого запроса она отвечает простым текстом «Hello from real Go in Fission (builder pipeline)», устанавливая заголовок `Content-Type: text/plain`. Файл компилируется в плагин *.so, который затем загружается и вызывается Fission.
|
||||
|
||||
**Комментарий:**
|
||||
- Ответ корректный, упомянута специфика Fission (плагин .so), описание поведения точное.
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
# php-hello.zip
|
||||
|
||||
**main.php:**
|
||||
```php
|
||||
<?php
|
||||
function handler($context)
|
||||
{
|
||||
/** @var \Psr\Http\Message\ResponseInterface $response */
|
||||
$response = $context["response"];
|
||||
$response->getBody()->write("Hello from PHP in Fission");
|
||||
}
|
||||
```
|
||||
|
||||
**Ответ LLM:**
|
||||
> Эта PHP‑функция выступает в роли обработчика запросов в Fission. Она получает объект ответа из контекста и записывает в его тело строку `Hello from PHP in Fission`. Таким образом при вызове функции клиент получает именно это приветственное сообщение.
|
||||
|
||||
**Комментарий:**
|
||||
- Ответ корректный, кратко и по делу, специфика Fission отражена.
|
||||
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
# python-cart.zip
|
||||
|
||||
**main.py:**
|
||||
```python
|
||||
import json
|
||||
import time
|
||||
from flask import request
|
||||
|
||||
# In-memory корзина (живёт пока жив под poolmgr)
|
||||
_CARTS: dict = {}
|
||||
|
||||
... (см. полный код в архиве)
|
||||
```
|
||||
|
||||
**Ответ LLM:**
|
||||
> Эта сервер‑лес функция реализует простую корзину покупок, хранящуюся в оперативной памяти под ключом `user_id`. При `GET` возвращает текущее содержимое корзины, подсчитанный итог и количество товаров. `POST` принимает JSON с данными товара (id, название, цена, количество) и добавляет его в корзину, увеличивая количество, если такой товар уже есть. `DELETE` удаляет из корзины товар по `product_id`. Для остальных HTTP‑методов возвращается ошибка 405.
|
||||
|
||||
**Комментарий:**
|
||||
- Ответ LLM очень точный, описывает все основные ветки логики, даже не видя весь код (ограничение по длине prompt).
|
||||
- LLM корректно понял in-memory storage и работу с методами.
|
||||
Binary file not shown.
@@ -0,0 +1,16 @@
|
||||
# ruby-hello.zip
|
||||
|
||||
**main.rb:**
|
||||
```ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
def handler
|
||||
"Hello from Ruby in Fission"
|
||||
end
|
||||
```
|
||||
|
||||
**Ответ LLM:**
|
||||
> Функция `handler` просто возвращает строку `"Hello from Ruby in Fission"`. Она не принимает входных параметров и не выполняет никакой логики, кроме возврата фиксированного сообщения. Таким образом, её цель – продемонстрировать работу простого Ruby‑обработчика в среде Fission.
|
||||
|
||||
**Комментарий:**
|
||||
- Ответ корректный, кратко и по делу, специфика Fission отражена.
|
||||
Binary file not shown.
Reference in New Issue
Block a user