Skip to content

Instantly share code, notes, and snippets.

View Vovanda's full-sized avatar
🔅
Я бамбук!

Vladimir Savkin Vovanda

🔅
Я бамбук!
View GitHub Profile
@Vovanda
Vovanda / OpenWEBUI_tool_calling_proxy.py
Last active July 5, 2025 23:49
Streaming proxy with chunk filtering for Open WebUI and Zed IDE — resolves invalid chunk errors from custom models and enables function calling emulation
import copy
import os
import json
import logging
import uuid
from urllib.parse import urljoin
import httpx
from fastapi import FastAPI, Request, HTTPException
from fastapi.responses import StreamingResponse, JSONResponse
@Vovanda
Vovanda / ImmediatelyReservoirShuffling.cs
Last active April 9, 2025 01:52
Эффективный способ выбора случайных элементов из потока данных
using System;
using System.Collections.Generic;
public static class ImmediatelyReservoirShuffling
{
/// <summary>
/// Резервуарное перетасовывание с возможностью регулировки ускорения.
/// Возвращает элементы лениво через yield.
/// </summary>
/// <param name="source">Исходная последовательность (поток данных).</param>
@Vovanda
Vovanda / CompareToAttribute.cs
Last active April 9, 2025 00:54
Реализация CompareTo в качестве атрибута валидации
using System.ComponentModel.DataAnnotations;
using System.Globalization;
namespace ComponentModel.DataAnnotations;
/// <summary>
/// Атрибут для сравнения значения свойства с другим свойством модели
/// </summary>
/// <remarks>
/// Примеры использования:
@Vovanda
Vovanda / Friends2Rand VK Widget.js
Last active April 9, 2025 01:53
Отображение случайного сообщения в виджете VK приложения (VKScript)
// VKScript rand implementation
// VK API random in widget
// ## Генератор псевдослучайных чисел через Friends API ##
// Получаем полный список друзей (для эталонного порядка)
// Используем стабильный аккаунт с большим количеством друзей
var friends_ids = API.friends.get({ user_id: 3972090, count: 10000 }); // user_id можно заменить на другой
// Количество случайных значений (для выбора категории и элемента)