{"id":13465303,"url":"https://github.com/Nutlope/turboseek","last_synced_at":"2025-03-25T16:31:34.040Z","repository":{"id":242106392,"uuid":"806060651","full_name":"Nutlope/turboseek","owner":"Nutlope","description":"An AI search engine inspired by Perplexity","archived":false,"fork":false,"pushed_at":"2024-06-24T09:47:30.000Z","size":526,"stargazers_count":754,"open_issues_count":3,"forks_count":95,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-07-31T15:01:25.860Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.turboseek.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nutlope.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-05-26T09:07:15.000Z","updated_at":"2024-07-31T06:52:49.000Z","dependencies_parsed_at":"2024-06-17T19:57:16.493Z","dependency_job_id":null,"html_url":"https://github.com/Nutlope/turboseek","commit_stats":null,"previous_names":["nutlope/turboseek"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2Fturboseek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2Fturboseek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2Fturboseek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2Fturboseek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nutlope","download_url":"https://codeload.github.com/Nutlope/turboseek/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222088532,"owners_count":16928976,"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-31T15:00:26.362Z","updated_at":"2025-03-25T16:31:34.031Z","avatar_url":"https://github.com/Nutlope.png","language":"TypeScript","funding_links":[],"categories":["**Section 1: RAG, LlamaIndex, and Vector Storage**","A01_文本生成_文本对话","TypeScript"],"sub_categories":["**RAG Solution Design \u0026 Application**","大语言对话模型及数据"],"readme":"\u003ca href=\"https://www.turboseek.io\"\u003e\n  \u003cimg alt=\"Turbo Seek\" src=\"./public/og-image.png\"\u003e\n  \u003ch1 align=\"center\"\u003eTurboSeek\u003c/h1\u003e\n\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n  An open source AI search engine. Powered by Together.ai.\n\u003c/p\u003e\n\n\u003e If you want to learn how to build this, check out [**the tutorial**](https://docs.together.ai/docs/ai-search-engine)!\n\n## Tech stack\n\n- Next.js app router with Tailwind\n- Together AI for LLM inference\n- Llama 3.1 8B and 70B for the LLMs\n- Bing / Serper API for the search API\n- Helicone for observability\n- Plausible for website analytics\n\n## How it works\n\n1. Take in a user's question\n2. Make a request to the bing search API to look up the top 6 results and show them\n3. Scrape text from the 6 links bing sent back and store it as context\n4. Make a request to Llama 3.1 70B with the user's question + context \u0026 stream it back to the user\n5. Make another request to Llama 3.1 8B to come up with 3 related questions the user can follow up with\n\n## Cloning \u0026 running\n\n1. Fork or clone the repo\n2. Create an account at [Together AI](https://togetherai.link) for the LLM\n3. Create an account at [SERP API](https://serper.dev/) or with Azure ([Bing Search API](https://www.microsoft.com/en-us/bing/apis/bing-web-search-api))\n4. Create an account at [Helicone](https://www.helicone.ai/) for observability\n5. Create a `.env` (use the `.example.env` for reference) and replace the API keys\n6. Run `npm install` and `npm run dev` to install dependencies and run locally\n\n## Future tasks\n\n- [ ] Move back to the Together SDK + simpler streaming\n- [ ] Add a tokenizer to smartly count number of tokens for each source and ensure we're not going over\n- [ ] Add a regenerate option for a user to re-generate\n- [ ] Make sure the answer correctly cites all the sources in the text \u0026 number the citations in the UI\n- [ ] Add sharability to allow folks to share answers\n- [ ] Automatically scroll when an answer is happening, especially for mobile\n- [ ] Fix hard refresh in the header and footer by migrating answers to a new page\n- [ ] Add upstash redis for caching results \u0026 rate limiting users\n- [ ] Add in more advanced RAG techniques like keyword search \u0026 question rephrasing\n- [ ] Add authentication with Clerk if it gets popular along with postgres/prisma to save user sessions\n\n## Inspiration\n\n- Perplexity\n- You.com\n- Lepton search\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNutlope%2Fturboseek","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNutlope%2Fturboseek","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNutlope%2Fturboseek/lists"}