Búsqueda semántica rápida y ardiente de canales de discordia
ask-discord permite a los usuarios buscar semánticamente a través de un conjunto de datos de mensajes de discordia. Hay dos modos de búsqueda principales:
Clon el repositorio :
git clone https://github.com/yourusername/ask-discord.git
cd ask-discordInstalar dependencias :
pip install -r requirements.txt Configurar variables de entorno : cree un archivo .env en el directorio raíz y agregue su tecla API de OpenAI:
OPENAI_KEY = your_openai_api_keyIniciar Milvus : siga la Guía de instalación de Milvus para configurar e iniciar Milvus. (Requiere una instalación reciente de Docker)
Genere los datos : descargue sus canales de interés utilizando Discord Chat Exporter. Lea esta guía si tiene problemas para obtener su token y ID de canal. Este no es un respaldo, ya que la descarga de los canales puede violar Discord TOS.
Cargue los datos : asegúrese de que el archivo de datos JSON esté en la ruta correcta especificada en configs . Modifique la ruta en el archivo principal si es necesario.
Ejecute la aplicación Streamlit :
streamlit run ask-discord.py Acceda a la aplicación : abra su navegador web y vaya a http://localhost:8501 .
Chatbot que maneja la consulta de Milvus e interactúa con el modo RAW/LLM. Las configuraciones se administran a través de un diccionario en ask-discord.py . Estos incluyen:
OPENAI_CLIENT : instancia de cliente de OpenAI.CHAT_MODEL : El modelo a usar para el chat (por ejemplo, gpt-4o ).EMBEDDING_MODEL : el modelo a usar para generar embedidas.JSON_DATA_PATH : ruta al archivo de datos JSON.EMBEDDING_DIMENSIONS : dimensiones vectoriales.MAX_MESSAGE_LENGTH : número máximo de caracteres en un mensaje a considerar.MIN_MESSAGE_LENGTH : número mínimo de caracteres en un mensaje a considerar.COLLECTION_NAME : Nombre de la colección Milvus.MAX_SIMILAR_EXAMPLES : número máximo de mensajes similares para recuperar.SIMILARITY_SCORE_CUTOFF : Corte para la puntuación de similitud. ¡Las contribuciones son bienvenidas! Envíe una solicitud de extracción o abra un problema para discutir cualquier cambio.
Este proyecto tiene licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.