Uma interface web moderna e responsiva para interagir com modelos de linguagem do Ollama, construída com SvelteKit e TailwindCSS.
Frontend:
Backend:
Clone o repositório:
git clone [url-do-repositorio]
cd sveltekit-chat-ollama
Instale as dependências:
cd my-app
npm install
Configure o Ollama:
ollama serve
ollama pull gemma2:latest
ollama pull llama2:latest
ollama pull mistral:latest
ollama pull codellama:latest
npm run dev
my-app/
├── src/
│ ├── routes/
│ │ ├── +page.svelte # Componente principal do chat
│ │ └── api/
│ │ └── chat/
│ │ └── +server.ts # API endpoint para comunicação com Ollama
│ ├── app.css # Estilos globais
│ └── app.d.ts # Declarações de tipos
├── static/ # Arquivos estáticos
├── tailwind.config.js # Configuração do Tailwind
├── postcss.config.js # Configuração do PostCSS
└── package.json # Dependências e scripts
+page.svelte
)O componente principal que gerencia:
// Stores principais
const theme = writable('dark');
const temperature = writable(0.7);
const model = writable('gemma2:latest');
const messages = writable([]);
const input = writable('');
const isLoading = writable(false);
api/chat/+server.ts
)Gerencia a comunicação com o Ollama:
/api/chat
Corpo da requisição:
{
messages: Array<{
role: 'user' | 'assistant' | 'system',
content: string
}>,
temperature?: number,
model?: string
}
Resposta:
{
role: 'assistant',
content: string
}
O aplicativo suporta dois temas:
bg-gray-800
bg-gray-900
text-white
bg-blue-600
bg-gray-700
bg-gray-100
bg-white
text-gray-900
bg-blue-600
bg-white
Construa o projeto:
npm run build
Inicie em produção:
npm run start
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Este projeto está sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.