PHP Classes

How to Implement a PHP AI Chatbot Application that use Local LLMs with Ollama Using the Package Deepseek Offline: Chat with DeepSeek bot in the local machine

Recommend this page to a friend!
  Info   Documentation   Screenshots   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2025-05-19 (2 days ago) RSS 2.0 feedNot yet rated by the usersTotal: Not yet counted Not yet ranked
Version License PHP version Categories
deepseek-offline 1MIT/X Consortium ...8Algorithms, PHP 5, Chat, Artificial i..., G...
Description 

Author

This package implements a chat with DeepSeek bot in the local machine.

It provides a Web application that can send real-time chat messages to the server with the option to select different Large Language Model (LLM) implementations to interact with the chat users.

The application can send HTTP requests to the version of Ollama installed in the local machine that can interact with the LLM selected by the user to reply to the chat messages. Currently, it supports DeepSeek, Gemma and Llama3.

The application can return token-by-token streaming responses, providing a natural and responsive conversation experience.

The project is designed for:

- Developers and AI enthusiasts who want to run LLMs locally without relying on cloud-based APIs.

- AI-powered applications that require real-time natural language interaction.

- Offline AI processing, avoiding external API costs and latency issues.
Educational purposes, allowing users to experiment with local LLMs like Gemma, DeepSeek, and Llama3.

It provides key features:

- Real-Time token streaming to simulate real-time typing.

- Local LLM processing to run AI models without internet using Ollama, ensuring privacy and security.

- Multi-Model Support to easily switch between different models: gemma2:2b, deepseek-r1, llama3.

- Markdown and code formatting to supports bold, italic, inline code, and syntax-highlighted code blocks.

- Lightweight and easy to deploy using simple PHP and JavaScript stack without using complex frameworks.

- Customizable and extendable to modify the frontend and backend to adapt to various AI-driven applications.


It provides these benefits:

- Zero latency dependency so responses don’t depend on internet speed.

- No API costs to avoid subscription fees from providers like OpenAI, Google, or AWS.

- Privacy of your queries and responses that never leave your local environment.

- Performance optimized by doing direct model interaction ensures faster processing without API rate limits.


It can be used potentially for applications:

- AI chatbots to build personal AI assistants for education, customer support, and automation.

- Code generation and assistance to utilize LLMs to assist in coding, debugging, and documentation.

- Natural Language Processing (NLP) to run text analysis, summarization, and AI-driven conversations.

- Private AI research to work with LLMs in a fully private environment without data leaks.

Picture of Rodrigo Faustino
  Performance   Level  
Name: Rodrigo Faustino <contact>
Classes: 41 packages by
Country: Brazil Brazil
Innovation award
Innovation award
Nominee: 25x

Winner: 4x

Instructions

Documentation

? Chat LLM Local e Offline com PHP, JavaScript, Ollama e LM Studio

Este projeto apresenta uma aplicação de chat em tempo real que demonstra o consumo de APIs locais fornecidas por servidores de LLM (Large Language Models) rodando diretamente em sua máquina. O foco é permitir a interação com diferentes modelos offline, sem necessidade de conexão com a internet após a configuração inicial.

A aplicação utiliza PHP no backend para gerenciar as requisições e se comunicar com os servidores LLM locais (Ollama e LM Studio), e JavaScript no frontend para a interface de chat dinâmica e o streaming de respostas.

? Conceito Central

O principal objetivo deste projeto é ilustrar como é possível consumir APIs de LLMs que rodam localmente. Diferentemente de soluções que dependem de APIs na nuvem (como a OpenAI), aqui você controla o ambiente e pode rodar modelos compatíveis com Ollama ou via a API compatível com OpenAI do LM Studio, alternando entre eles diretamente na aplicação. Isso permite privacidade, uso offline e a possibilidade de experimentar diversos modelos sem custos de API ou latência de rede externa.

? Recursos

? Consumo de APIs Locais: Interage com servidores LLM rodando no próprio computador (Ollama e LM Studio). ? Operação Offline: Não requer conexão com a internet para o chat após a instalação dos modelos. ? Suporte Dual Server: Configurado para alternar entre a API do Ollama (/api/generate) e a API compatível com OpenAI do LM Studio (/v1/chat/completions). ? Streaming de Respostas Token a Token: Exibe a resposta do LLM em tempo real conforme ela é gerada. ? Suporte a Diferentes Modelos: Capacidade de interagir com modelos rodando em Ollama (como DeepSeek, Llama3) e modelos rodando em LM Studio (como Gemma 3B IT). ? Formatador de Código: Reconhece blocos de código (` ) e aplica destaque de sintaxe. ? Suporte a Markdown: Formata texto em negrito (), itálico (*) e código inline (`).

? Pré-requisitos

Para rodar este projeto como configurado, você precisará ter os seguintes componentes instalados e rodando em sua máquina:

  • PHP 8+: O backend da aplicação.
  • Ollama: Framework para rodar modelos LLM localmente, usado aqui para modelos como DeepSeek, Llama3, etc.
  • LM Studio: Aplicação para baixar e rodar modelos LLM localmente, usado aqui especificamente para rodar o modelo Gemma 3B IT via sua API compatível com OpenAI.
  • Modelos LLM instalados: Os modelos específicos que você deseja usar, baixados via Ollama e/ou LM Studio.

? Instalação e Configuração

  1. Instalar PHP 8+: Siga as instruções no site oficial do PHP para o seu sistema operacional.
  2. Instalar Ollama: Baixe e instale o Ollama a partir do link fornecido nos pré-requisitos. O Ollama já inicia um servidor em `http://localhost:11434` por padrão.
  3. Instalar LM Studio: Baixe e instale o LM Studio a partir do link fornecido nos pré-requisitos. Dentro do LM Studio, inicie o servidor local na porta padrão (`http://127.0.0.1:1234`) clicando em "Start Server".
  4. Baixar Modelos LLM: Para Ollama (Ex: DeepSeek, Llama3):* Abra um terminal e utilize o comando `ollama run <nome_do_modelo>`. Por exemplo: ```bash ollama run deepseek-coder ollama run llama3 ``` Isso baixará e iniciará o modelo (você pode fechar a sessão de chat após o download). Para LM Studio (Ex: Gemma 3B IT):* Utilize a interface de busca e download do LM Studio para baixar o modelo desejado, como o `gemma-3b-it`.

? Rodando os Servidores LLM

Antes de iniciar a aplicação PHP, certifique-se de que ambos os servidores, Ollama e LM Studio, estão rodando:

  • Ollama: Geralmente roda em segundo plano após a instalação, servindo a API em `http://localhost:11434`.
  • LM Studio: Abra o aplicativo LM Studio e inicie o servidor local (API compatível com OpenAI) na porta padrão `http://127.0.0.1:1234`.

? Rodando o Servidor PHP

Com os servidores LLM locais ativos, inicie o servidor web do PHP no diretório raiz do projeto:

php -S localhost:8000

Screenshots (3)  
  • assets/img/demo.png
  • chat deepseek
  • deep
  Files folder image Files (9)  
File Role Description
Files folder imageassets (2 directories)
Accessible without login Plain text file chatController.php Aux. Configuration script
Accessible without login Plain text file index.php Aux. Configuration script
Accessible without login Plain text file readme.md Doc. Documentation

  Files folder image Files (9)  /  assets  
File Role Description
Files folder imagecss (1 file)
Files folder imagejs (2 files)

  Files folder image Files (9)  /  assets  /  css  
File Role Description
  Accessible without login Plain text file dark.min.css Data Auxiliary data

  Files folder image Files (9)  /  assets  /  js  
File Role Description
  Accessible without login Plain text file chatjs.js Data Auxiliary data
  Accessible without login Plain text file highlight.min.js Data Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads  
 77%
Total:0
This week:0