{"id":13457194,"url":"https://github.com/sugarforever/chat-ollama","last_synced_at":"2025-05-15T20:02:00.834Z","repository":{"id":223013410,"uuid":"758975200","full_name":"sugarforever/chat-ollama","owner":"sugarforever","description":"ChatOllama is an open source chatbot based on LLMs. It supports a wide range of language models, and knowledge base management.","archived":false,"fork":false,"pushed_at":"2024-04-28T01:49:31.000Z","size":986,"stargazers_count":1737,"open_issues_count":164,"forks_count":281,"subscribers_count":19,"default_branch":"main","last_synced_at":"2024-04-28T02:09:47.659Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sugarforever.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-17T16:14:29.000Z","updated_at":"2024-04-29T03:36:59.348Z","dependencies_parsed_at":"2024-04-15T00:26:43.661Z","dependency_job_id":"b1860ca9-10ab-4e16-8ae2-48281f43df65","html_url":"https://github.com/sugarforever/chat-ollama","commit_stats":null,"previous_names":["sugarforever/chat-ollama"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sugarforever%2Fchat-ollama","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sugarforever%2Fchat-ollama/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sugarforever%2Fchat-ollama/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sugarforever%2Fchat-ollama/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sugarforever","download_url":"https://codeload.github.com/sugarforever/chat-ollama/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065302,"owners_count":21041871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T08:01:35.379Z","updated_at":"2025-04-09T16:01:38.096Z","avatar_url":"https://github.com/sugarforever.png","language":"Vue","funding_links":[],"categories":["TypeScript","Web \u0026 Desktop UIs","A01_文本生成_文本对话","置顶","推理 Inference","Repos","Chat \u0026 RAG"],"sub_categories":["大语言对话模型及数据","9、效率工具集合"],"readme":"English | [简体中文](README.zh-Hans.md)\n\n# ChatOllama\n\n`ChatOllama` is an open source chatbot based on LLMs. It supports a wide range of language models including:\n\n- OpenAI / Azure OpenAI\n- Anthropic\n- Gemini\n- Groq\n- [Volcano Engine](https://github.com/volcengine)\n- Moonshot\n- SiliconFlow\n- Tongyi\n- Ollama served models\n\n`ChatOllama` supports multiple types of chat:\n\n- Free chat with LLMs (text and image input)\n- Chat with LLMs based on knowledge base\n\n`ChatOllama` feature list:\n- Ollama models management\n- Knowledge bases management\n- Rich chat interface with text and image support\n- Commercial LLMs API keys management\n\n## Join Our Community\n\nIf you are a user, contributor, or even just new to `ChatOllama`, you are more than welcome to join our community on Discord by clicking the [invite link](https://discord.gg/TjhZGYv5pC).\n\nIf you are a contributor, the channel `technical-discussion` is for you, where we discuss technical stuff.\n\nIf you have any issue in `ChatOllama` usage, please report to channel `customer-support`. We will help you out as soon as we can.\n\n## Quick Start\n\nAs a user of `ChatOllama`, please walk through the document below, to make sure you get all the components up and running before starting using `ChatOllama`.\n\n### Supported Vector Databases\n\n`ChatOllama` supported 2 types of vector databases: Milvus and Chroma.\n\nPlease refer to the `.env.example` for how to work with your vector database setup.\n\n```\n# Supported values: chroma, milvus\nVECTOR_STORE=chroma\nCHROMADB_URL=http://localhost:8000\nMILVUS_URL=http://localhost:19530\n```\n\nBy default `ChatOllama` is using Chroma. If you'd like to use Milvus, set `VECTOR_STORE` to `milvus` and specify the corresponding URL. It works both in the development server and Docker containers.\n\n### Use with Nuxt 3 Development Server\n\nIf you'd like to run with the latest code base and apply changes as needed, you can clone this repository and follow the steps below.\n\n1. Install and run Ollama server\n\n    You will need an Ollama server running. Follow the installation guide of [Ollama](https://github.com/ollama/ollama). By default, it's running on http://localhost:11434.    \n\n2. Install Chroma\n\n    Please refer to [https://docs.trychroma.com/getting-started](https://docs.trychroma.com/getting-started) for Chroma installation.\n\n    We recommend you run it in a docker container:\n\n    ```bash\n    #https://hub.docker.com/r/chromadb/chroma/tags\n\n    docker pull chromadb/chroma\n    docker run -d -p 8000:8000 chromadb/chroma\n    ```\n    Now, ChromaDB is running on http://localhost:8000\n\n3. ChatOllama Setup\n\n    Now, we can complete the necessary setup to run ChatOllama.\n\n    3.1 Copy the `.env.example` file to `.env` file:\n\n    ```bash\n    cp .env.example .env\n    ```\n\n    3.2 Make sure to install the dependencies:\n\n    ```bash\n    pnpm install\n    ```\n\n    3.3 Run a migration to create your database tables with Prisma Migrate\n\n    ```bash\n    pnpm prisma-migrate\n    ```\n\n4. Launch Development Server\n\n    \u003e Make sure both __[Ollama Server](#ollama-server)__ and __[ChromaDB](#install-chromadb-and-startup)__ are running.\n\n    Start the development server on `http://localhost:3000`:\n\n    ```bash\n    pnpm dev\n    ```\n\n### Use with Docker\n\nThis is the easist way to use `ChatOllama`.\n\nThe only thing you need is a copy of [docker-compose.yaml](./docker-compose.yaml). Please download it and execute the command below to launch `ChatOllama`.\n\n```shell\n$ docker compose up\n```\n\nAs `ChatOllama` is running within a docker container, you should set Ollama server to `http://host.docker.internal:11434` in the Settings section, assuming your Ollama server is running locally with default port.\n\nMake sure you initialize the SQLite database as below if you are launching the dockerized `ChatOllama` for the first time:\n\n```shell\n$ docker compose exec chatollama npx prisma migrate dev\n```\n#### Prerequisites for knowledge bases\nWhen using KnowledgeBases, we need a valid embedding model in place. It can be one of the models downloaded by Ollama or from 3rd party service provider for example, OpenAI.\n\n**Ollama Managed Embedding Model**\n\nWe recommend you download `nomic-embed-text` model for embedding purpose.\n\nYou can do so on Models page http://localhost:3000/models, or via CLI as below if you are using Docker.\n\n```shell\n# In the folder of docker-compose.yaml\n\n$ docker compose exec ollama ollama pull nomic-embed-text:latest\n```\n\n**OpenAI Embedding Model**\n\nIf you prefer to use OpenAI, please make sure you set a valid OpenAI API Key in Settings, and fill with one of the OpenAI embedding models listed below:\n\n- `text-embedding-3-large`\n- `text-embedding-3-small`\n- `text-embedding-ada-002`\n\n#### Data Storage with Docker Containers\n\nThere are 2 types of data storage, vector data and relational data. See the summary below and for more details, please refer to [docker-compose.yaml](./docker-compose.yaml) for the settings.\n\n##### Vector data\n\nWith `docker-compose.yaml`, a dockerized Chroma database is run side by side with `ChatOllama`. The data is persisted in a docker volume.\n\n##### Relational data\n\nThe relational data including knowledge base records and their associated files are stored in a SQLite database file persisted and mounted from `~/.chatollama/chatollama.sqlite`.\n\n#### Proxy\n\nWe have provided a proxy configuration feature. For specific usage, please click [here](docs/proxy-usage.md).\n\n## Developers Guide\n\nAs ChatOllama is still under active development, features, interfaces and database schema may be changed. Please follow the instructions below in your every `git pull` to make sure your dependencies and database schema are always in sync.\n\n1. Install the latest dependencies\n    - `pnpm install`\n2. Prisma migrate\n    - `pnpm prisma-migrate`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsugarforever%2Fchat-ollama","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsugarforever%2Fchat-ollama","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsugarforever%2Fchat-ollama/lists"}