Introdução geral ao Lepton Search
Lepton O Lepton Search é um mecanismo de pesquisa de IA conversacional, lançado por Jia Yangqing e desenvolvido usando a plataforma Lepton AI. O Lepton Search pesquisa dados na Web de forma proativa e os organiza em respostas estruturadas e lógicas com base nas perguntas em linguagem natural do usuário, acompanhadas da fonte das informações. "Um elétron é um lépton?" ou "Quando o homem pousou na Lua pela primeira vez?" O Lepton Search também pode responder a perguntas complexas, como "Por que as maçãs caem?" ou "Como faço para escrever um chatbot em Python?" O código do Lepton Search é de código aberto, portanto, os desenvolvedores podem implantá-lo e modificá-lo por conta própria ou usar a plataforma Lepton AI para criar rapidamente seus próprios aplicativos de IA de conversação.

Página inicial do Lepton Search

Página de resultados da pesquisa de Lepton
Lista de recursos do Lepton Search
- Suporta entrada e saída de linguagem natural
- Oferece suporte a vários tipos de perguntas, incluindo as baseadas em conhecimento, em causas e em métodos
- Suporta várias fontes de dados, incluindo Wikipedia, Twitter, Google, Bing, etc.
- Suporte a vários idiomas, incluindo inglês, chinês, japonês, etc.
- Suportar uma variedade de métodos de exibição, incluindo texto, imagens, tabelas, gráficos, etc.
- Oferece suporte a vários métodos de interação, incluindo web, linha de comando, API etc.
Ajuda do Lepton Search
- Na versão da Web, digite a pergunta que deseja pesquisar e pressione enter ou clique no botão de pesquisa para ver as respostas do Lepton Search!
- Confira a documentação no repositório oficial do GitHub.
- Você pode criar seu próprio mecanismo de pesquisa de acordo com a demonstração oficial.
- Os desenvolvedores são livres para usar o código-fonte aberto sob a licença Apache.
Código de pesquisa de Lepton Comentário
# Importação das bibliotecas e dos módulos necessários
importar concurrent.futures # para execução simultânea de tarefas
importar glob # para correspondência de padrão de caminho de arquivo
import json # para processar dados JSON
import os # Usado para manipular o sistema de arquivos
importar re # para correspondência de expressões regulares
importar threading # para operações de threading
solicitações de importação # Usado para iniciar solicitações de rede
import traceback # Usado para rastrear informações de exceção
from typing import Annotated, List, Generator, Optional # for type annotations# Importação de classes e exceções relacionadas à FastAPI
from fastapi import HTTPException
from fastapi.responses import HTMLResponse, StreamingResponse, RedirectResponse
importar httpx # para solicitações HTTP
from loguru import logger # para registro# Importação de bibliotecas e módulos relacionados ao Lepton AI
importar leptonai
from leptonai import Client
from leptonai.kv import KV # para armazenamento de valores-chave
from leptonai.photon import Photon, StaticFiles # para desenvolvimento de aplicativos Photon
from leptonai.photon.types import to_bool # para conversão booleana
from leptonai.api.workspace import WorkspaceInfoLocalRecord # para informações do espaço de trabalho
from leptonai.util import tool # contém alguns utilitáriosValores constantes para o modelo # RAG
BING_SEARCH_V7_ENDPOINT = "https://api.bing.microsoft.com/v7.0/search" # Pontos de extremidade da API do Bing Search
BING_MKT = "en-US" # Bing Search Marketplace
GOOGLE_SEARCH_ENDPOINT = "https://customsearch.googleapis.com/customsearch/v1" # Pontos de extremidade da API de pesquisa personalizada do Google
SERPER_SEARCH_ENDPOINT = "https://google.serper.dev/search" # Endpoints da API do Serper Search
SEARCHAPI_SEARCH_ENDPOINT = "https://www.searchapi.io/api/v1/search" # SearchApi Endpoints da API de pesquisa# Número de resultados encontrados
REFERENCE_COUNT = 8# Tempo limite de pesquisa
DEFAULT_SEARCH_ENGINE_TIMEOUT = 5# Consulta padrão
_default_query = "Quem disse 'viva muito e prospere'?"Modelo de texto de consulta para o modelo # RAG
_rag_query_text = """Você é um assistente de IA de linguagem ampla criado pela Lepton AI. Quando receber uma pergunta do usuário, forneça uma resposta clara, concisa e precisa. Você receberá uma série de contextos relacionados à pergunta, cada um precedido por um número de citação, como [[citation:x]], em que x é um número. Use esses contextos e, quando aplicável, cite o número do contexto no final de cada frase.
Sua resposta deve ser correta, precisa e escrita por um especialista em um tom neutro e profissional. Limite-se a 1024 tokens. Não forneça informações que não sejam relevantes para a pergunta e não se repita. Se o contexto fornecido não fornecer informações suficientes, diga "Information on... Faltam informações sobre ...".
Cite o contexto no formato de número de citação, por exemplo, [citation:x]. Se uma frase for de mais de um contexto, liste todas as citações aplicáveis, por exemplo, [citation:3][citation:5]. Com exceção de códigos, nomes específicos e citações, sua resposta deve estar no mesmo idioma da pergunta.
Aqui está uma série de contextos:
{contexto}
Lembre-se, não repita cegamente o contexto literalmente. O problema aqui é do usuário:
"""
# Lista de palavras com deficiência
stop_words = [
"",
"[Fim]",
"[fim]",
"\nReferências:\n".
"\nSources:\n".
"Fim",
]# Gerar texto de alerta sobre questões relevantes
_more_questions_prompt = """Você é um assistente útil para ajudar os usuários a fazer perguntas relevantes com base na pergunta original e no contexto associado a ela. Identifique os tópicos que merecem acompanhamento e faça perguntas com, no máximo, 20 palavras. Certifique-se de que informações específicas, como eventos, nomes, locais etc., estejam incluídas nas perguntas de acompanhamento para que possam ser feitas de forma independente. Por exemplo, se a pergunta original for sobre o Projeto Manhattan, na pergunta de acompanhamento, em vez de dizer apenas "o projeto", use o nome completo, "O Projeto Manhattan". Suas perguntas relacionadas devem estar no mesmo idioma da pergunta original.
Aqui está o contexto da pergunta:
{contexto}
Lembre-se de fazer três perguntas adicionais com base na pergunta original e no contexto relevante. Não repita a pergunta original. Cada pergunta relacionada não deve ter mais de 20 palavras. Aqui está a pergunta original:
"""
# As seguintes funções de pesquisa são definidas para interagir com diferentes mecanismos de pesquisa
def search_with_bing(query: str, subscription_key: str).
# Pesquise e retorne informações contextuais usando o mecanismo de pesquisa do Bing
passedef search_with_google(query: str, subscription_key: str, cx: str).
# Pesquise e retorne informações contextuais usando o mecanismo de pesquisa do Google
passedef search_with_serper(query: str, subscription_key: str).
# Pesquise e retorne informações contextuais usando o mecanismo de pesquisa Serper
passedef search_with_searchapi(query: str, subscription_key: str).
# Pesquisa com o SearchApi.io e retorno de informações contextuais
passeClasse # RAG, herdada do Photon, usada para criar o mecanismo RAG
classe RAG(Photon).
# Inicialização de classe e definição de método
passe# Se esse script for executado diretamente, o aplicativo RAG será iniciado
se __name__ == "__main__".
trapo = RAG()
rag.launch()