기본 오픈 소스 AI 검색 엔진. AI 기반 질문 응답 플랫폼에 익숙하지 않은 경우 Chatgpt와 같은 대형 언어 모델을 사용하여 질문에 답변하지만 Chatgpt에서는 정확하고 실시간 검색 결과를 가져와 답변을 보완하지 않음으로써 개선됩니다 (“지식 컷오프”). 그리고 신뢰를 키우는 신뢰를 구축하는 답변 자체 내에 인용을 나열하고 주제를 더 조사 할 수 있습니다.
search.php 에 추가하십시오 ( "[채우기]를 찾으십시오")Chatgpt와 같은 LLM의 주요 과제는 지식 컷오프가 있다는 것입니다 (그리고 때로는 환각을주는 경향이 있습니다). 그들은 특정 날짜까지 데이터에 대해 훈련을 받았기 때문입니다 (예 : 2021 년 9 월). 따라서 최신 질문에 대한 답변을 원하거나 단순히 주제를 자세히 조사하고 싶다면 관련 출처로 답변을 강화 해야합니다. 이 기술은 래그 (검색 증강 생성)라고합니다. 또한 Google 또는 Bing과 같은 검색 엔진에서 최신 정보를 단순히 제공 할 수 있습니다.
이것을 직접 구축하려면 먼저 Bing, Google (Serper), Brave 또는 다른 사람들의 API 키에 가입 할 것입니다. Bing, Brave 및 Serper는 모두 시작하기 위해 무료 사용을 제공합니다.
search.php 에서 적절한 경우 API 키를 넣으십시오 ( "[채우기]를 찾으십시오"). 이 예에서는 Serper를 통해 Brave와 Google에 대한 코드가 있습니다.
여기에서는 LLM 제공 업체의 API 키에 가입해야합니다. 지금 선택할 수있는 많은 공급자가 있습니다. 예를 들어 Openai, Anthropic, Anthropic, Groq, Cloudflare, Perplexity, Lepton 또는 AWS, Azure 또는 Google Cloud와 같은 큰 플레이어가 있습니다. 나는 이들 중 다수를 성공적으로 사용했으며 현재 및 대중적인 폐쇄 및 오픈 소스 모델의 하위 집합을 제공합니다. 그리고 각 모델은 독특한 강점, 비용 및 속도가 다릅니다. 예를 들어, GPT-4는 매우 정확하지만 비싸고 느립니다. 의심스러운 경우 OpenAi의 ChatGpt-3.5-Turbo를 사용하는 것이 좋습니다. 충분하고 저렴하며 이것을 테스트하기에 충분히 빠릅니다.
다행히도 이러한 LLM 서비스 제공 업체의 대부분은 OpenAI의 API 형식과 호환되므로 다른 공급자 / 모델로 전환하는 것은 최소한의 작업 일뿐입니다 (또는 챗봇에 코드를 작성하도록 요청하십시오!).
search.php 에서 적절한 경우 API 키를 넣으십시오 ( "[채우기]를 찾으십시오"). 이 예에서는 OpenAI (ChatGpt-3.5-Turbo / Gpt-4의 경우) 및 Groq (Mixtral-8B7B의 경우)를 사용하고 있습니다. 따라서 작업을 최소한으로 유지하려면 하나 또는 둘 다에 대한 열쇠를 얻으십시오.
LLM에 질문을하고 싶을 때 많은 추가 상황을 제공 할 수 있습니다. 각 모델에는 고유 한 한계가 있으며 그중 일부는 매우 큽니다. GPT-4-Turbo의 경우, 당신은 당신의 질문과 함께 첫 번째 Harry Potter 책 전체를 지나갈 수 있습니다. Google의 강력한 Gemini 1.5는 백만 개가 넘는 컨텍스트 크기를 지원할 수 있습니다. 그것은 7 권의 Harry Potter 시리즈 전체를 통과하기에 충분합니다!
다행히도 8-10 개의 검색 결과의 스 니펫을 따라 지나가는 것은 훨씬 작아서 GPT-3.5-Turbo 또는 Mistral-7B와 같은 더 빠르고 훨씬 저렴한 모델을 사용할 수 있습니다.
내 경험상, 사용자 질문, 사용자 정의 프롬프트 메시지 및 검색 결과 스 니펫은 일반적으로 1K 토큰 미만입니다. 이것은 가장 기본적인 모델의 한계조차도 문제가되지 않아야합니다.
search.php 에는 내가 당신과 함께 연주 한 샘플 프롬프트가 있습니다. Lepton Ai의 사람들에게 모자 팁이 유사한 프로젝트를 개방 하여이 프롬프트를 개선하는 데 도움이되었습니다.
당혹감의 좋은 특징 중 하나는 후속 질문을 제안하는 방법입니다. 다행히도 이것은 복제하기 쉽습니다.
이렇게하려면 관련 질문을 요청하는 LLM (병렬)에 두 번째 전화를 걸 수 있습니다. 그리고 맥락에서 그러한 인용을 다시 전달하는 것을 잊지 마십시오.
또는 LLM이 질문에 답변하고 관련 질문을 제기하도록 프롬프트를 구성하려고 시도 할 수 있습니다. 이로 인해 API 호출과 일부 토큰이 저장되지만 이러한 LLM이 항상 일관되고 반복 가능한 형식으로 답변하는 것은 약간 어려운 일입니다.
이것을 완전한 예를 만들려면 사용 가능한 UI가 필요합니다. UI를 가능한 한 간단하게 유지했으며 모든 것이 index.html 에 있습니다. Bootstrap, JQuery 및 기본 CSS / JavaScript, Markdown 및 JS 구문 형광펜을 사용하여이를 수행합니다.
경험을 향상시키기 위해 UI는 다음을 수행합니다.
작업 예제를 살펴 보려면 https://yaddleai.com을 확인하십시오. 이미지를 가져 오는 것과 병렬로 두 번째 검색 통화를 추가했지만 최신 뉴스를 가져 오기 위해 별도의 페이지와 다른 사소한 개선 사항을 작성했습니다.