[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73718":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":40,"discoverSource":41},73718,"farfalle","rashadphz\u002Ffarfalle","rashadphz","🔍 AI search engine - self-host with local or cloud LLMs","https:\u002F\u002Fwww.farfalle.dev\u002F",null,"TypeScript",3531,323,33,44,0,2,59.73,"Apache License 2.0",false,"main",true,[24,25,26,27,28,29,30,31,32,33,34,35,36],"fastapi","generative-ui","gpt-4o","groq","llm","nextjs","ollama","openai","perplexity","react","search-engine","shadcn-ui","tailwindcss","2026-06-12 04:01:10","# Farfalle\n\nOpen-source AI-powered search engine. (Perplexity Clone)\n\nRun local LLMs (**llama3**, **gemma**, **mistral**, **phi3**), custom LLMs through **LiteLLM**, or use cloud models (**Groq\u002FLlama3**, **OpenAI\u002Fgpt4-o**)\n\nhttps:\u002F\u002Fgithub.com\u002Frashadphz\u002Ffarfalle\u002Fassets\u002F20783686\u002F9527a8c9-a13b-4e53-9cda-a3ab28d671b2\n\nPlease feel free to contact me on [Twitter](https:\u002F\u002Ftwitter.com\u002Frashadphz) or [create an issue](https:\u002F\u002Fgithub.com\u002Frashadphz\u002Ffarfalle\u002Fissues\u002Fnew) if you have any questions.\n\n## 💻 Live Demo\n\n[farfalle.dev](https:\u002F\u002Ffarfalle.dev\u002F) (Cloud models only)\n\n## 📖 Overview\n\n- 🛠️ [Tech Stack](#%EF%B8%8F-tech-stack)\n- 🏃🏿‍♂️ [Getting Started](#%EF%B8%8F-getting-started)\n- 🚀 [Deploy](#-deploy)\n\n## 🛣️ Roadmap\n\n- [x] Add support for local LLMs through Ollama\n- [x] Docker deployment setup\n- [x] Add support for [searxng](https:\u002F\u002Fgithub.com\u002Fsearxng\u002Fsearxng). Eliminates the need for external dependencies.\n- [x] Create a pre-built Docker Image\n- [x] Add support for custom LLMs through LiteLLM\n- [x] Chat History\n- [x] Expert Search\n- [ ] Chat with local files\n\n\n\n## 🛠️ Tech Stack\n\n- Frontend: [Next.js](https:\u002F\u002Fnextjs.org\u002F)\n- Backend: [FastAPI](https:\u002F\u002Ffastapi.tiangolo.com\u002F)\n- Search API: [SearXNG](https:\u002F\u002Fgithub.com\u002Fsearxng\u002Fsearxng), [Tavily](https:\u002F\u002Ftavily.com\u002F), [Serper](https:\u002F\u002Fserper.dev\u002F), [Bing](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fbing\u002Fapis\u002Fbing-web-search-api)\n- Logging: [Logfire](https:\u002F\u002Fpydantic.dev\u002Flogfire)\n- Rate Limiting: [Redis](https:\u002F\u002Fredis.io\u002F)\n- Components: [shadcn\u002Fui](https:\u002F\u002Fui.shadcn.com\u002F)\n\n\n## Features\n- Search with multiple search providers (Tavily, Searxng, Serper, Bing)\n- Answer questions with cloud models (OpenAI\u002Fgpt4-o, OpenAI\u002Fgpt3.5-turbo, Groq\u002FLlama3)\n- Answer questions with local models (llama3, mistral, gemma, phi3)\n- Answer questions with any custom LLMs through [LiteLLM](https:\u002F\u002Flitellm.vercel.app\u002Fdocs\u002Fproviders)\n- Search with an agent that plans and executes the search for better results\n\n## 🏃🏿‍♂️ Getting Started Locally\n\n### Prerequisites\n\n- [Docker](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F)\n- [Ollama](https:\u002F\u002Follama.com\u002Fdownload) (If running local models)\n  - Download any of the supported models: **llama3**, **mistral**, **gemma**, **phi3**\n  - Start ollama server `ollama serve`\n\n### Get API Keys\n\n- [Tavily (Optional)](https:\u002F\u002Fapp.tavily.com\u002Fhome)\n- [Serper (Optional)](https:\u002F\u002Fserper.dev\u002Fdashboard)\n- [OpenAI (Optional)](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)\n- [Bing (Optional)](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fbing\u002Fapis\u002Fbing-web-search-api)\n- [Groq (Optional)](https:\u002F\u002Fconsole.groq.com\u002Fkeys)\n\n### Quick Start:\n```\ngit clone https:\u002F\u002Fgithub.com\u002Frashadphz\u002Ffarfalle.git\ncd farfalle && cp .env-template .env\n```\nModify .env with your API keys (Optional, not required if using Ollama)\n\nStart the app:\n```\ndocker-compose -f docker-compose.dev.yaml up -d\n```\n\nWait for the app to start then visit [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000).\n\nFor custom setup instructions, see [custom-setup-instructions.md](\u002Fcustom-setup-instructions.md)\n\n## 🚀 Deploy\n\n### Backend\n\n[![Deploy to Render](https:\u002F\u002Frender.com\u002Fimages\u002Fdeploy-to-render-button.svg)](https:\u002F\u002Frender.com\u002Fdeploy?repo=https:\u002F\u002Fgithub.com\u002Frashadphz\u002Ffarfalle)\n\nAfter the backend is deployed, copy the web service URL to your clipboard.\nIt should look something like: https:\u002F\u002Fsome-service-name.onrender.com.\n\n### Frontend\n\nUse the copied backend URL in the `NEXT_PUBLIC_API_URL` environment variable when deploying with Vercel.\n\n[![Deploy with Vercel](https:\u002F\u002Fvercel.com\u002Fbutton)](https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2Frashadphz%2Ffarfalle&env=NEXT_PUBLIC_API_URL&envDescription=URL%20for%20your%20backend%20application.%20For%20backends%20deployed%20with%20Render%2C%20the%20URL%20will%20look%20like%20this%3A%20https%3A%2F%2F%5Bsome-hostname%5D.onrender.com&root-directory=src%2Ffrontend)\n\nAnd you're done! 🥳\n\n\n## Use Farfalle as a Search Engine\n\nTo use Farfalle as your default search engine, follow these steps:\n1. Visit the settings of your browser\n2. Go to 'Search Engines'\n3. Create a new search engine entry using this URL: http:\u002F\u002Flocalhost:3000\u002F?q=%s.\n4. Add the search engine.\n","Farfalle 是一个开源的AI搜索引擎，支持自托管并可使用本地或云端的大语言模型。其核心功能包括通过多种搜索提供商（如Tavily、SearXNG等）进行搜索，并能利用云模型（如OpenAI\u002Fgpt4-o）或本地模型（如llama3、mistral）回答问题，甚至支持通过LiteLLM接入任意自定义大语言模型。此外，它还具备计划和执行搜索以获得更佳结果的能力。技术栈方面，前端采用Next.js，后端基于FastAPI构建，同时集成了Redis用于速率限制。Farfalle适用于需要高效整合多源信息与智能问答能力的企业内部知识库、个人开发者项目或是任何希望拥有自主控制权的AI搜索解决方案场景。","2026-06-11 03:47:04","high_star"]