Files
Local_Perplexity/README.md
fedos 8e74e53b3d feat: add Ollama proxy with LLM router and Codex CLI support
Go-сервис-прокси между Codex CLI и Ollama. Добавляет Bearer-авторизацию,
LLM-маршрутизатор (deepseek классифицирует запросы: code/doc/general),
поддержку OpenAI Responses API для Codex CLI, стриминг SSE, кеш модели.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 15:25:15 +03:00

85 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Ollama Proxy
[![Build Status](https://drone.halfakop.ru/api/badges/templates/orm/status.svg)](https://drone.halfakop.ru/templates/orm)
Version: 1.0.0
Прокси-сервис между Codex CLI и локальной Ollama. Добавляет авторизацию и интеллектуальную маршрутизацию запросов: маленькая LLM-модель определяет тип запроса (код / документ / общее) и перенаправляет его к нужной целевой модели.
## Архитектура
```
Codex CLI → Ollama Proxy (:11435) → Ollama (:11434)
AUTH_TOKEN check
Router LLM (gemma:1b)
code document general
qwen2.5-coder gemma:1b gemma:1b
```
## Быстрый старт
### 1. Установить и запустить Ollama
```bash
# Скачать нужные модели
ollama pull gemma:1b
ollama pull qwen2.5-coder:1.5b
```
### 2. Настроить .env
```env
PROXY_PORT=11435
AUTH_TOKEN=my-secret-token
OLLAMA_URL=http://localhost:11434
ROUTER_MODEL=gemma:1b
CODE_MODEL=qwen2.5-coder:1.5b
DOC_MODEL=gemma:1b
GENERAL_MODEL=gemma:1b
```
### 3. Запустить прокси
```bash
make run
```
### 4. Настроить Codex CLI
Указать прокси вместо Ollama:
```
Base URL: http://localhost:11435
API Key: my-secret-token
```
## Команды
```bash
make build # Собрать бинарник
make run # Запустить (читает .env)
make test # Запустить тесты
```
## Переменные окружения
| Переменная | Описание | По умолчанию |
|-----------|----------|-------------|
| `PROXY_PORT` | Порт прокси | 11435 |
| `AUTH_TOKEN` | Токен авторизации | — (обязательна) |
| `OLLAMA_URL` | URL реальной Ollama | http://localhost:11434 |
| `ROUTER_MODEL` | Модель-классификатор | gemma:1b |
| `CODE_MODEL` | Модель для кода | qwen2.5-coder:1.5b |
| `DOC_MODEL` | Модель для документов | gemma:1b |
| `GENERAL_MODEL` | Общая модель | gemma:1b |
## API (Ollama-совместимый)
| Метод | URL | Описание |
|-------|-----|----------|
| GET | `/health` | Проверка работоспособности |
| POST | `/api/chat` | Чат (streaming NDJSON) |
| POST | `/api/generate` | Генерация текста (streaming NDJSON) |
| GET | `/api/tags` | Список доступных моделей |