Implantación de una base de conocimientos local/API basada en DeepSeek-R1 y acceso al BOT de WeChat.

En el artículo anterior, "ElDespliegue local DeepSeek-R1 y tutoriales de acceso a WeChat BotHoy me gustaría compartir con vosotros una forma más interesante de jugar: cómo alimentar a nuestro asistente de IA con algunas cosas secas, ¡para que se convierta en un consultor profesional que realmente sabe lo que hace!

 

A continuación, te llevaré de la mano para completar todo el proceso de construcción de la base de conocimientos, incluyendo la configuración del entorno, el despliegue de la base de conocimientos, la carga de información, así como algunos detalles de los consejos de puesta a punto. ¡Por último, vamos a poner este "lleno de conocimiento" AI en el robot WeChat, para crear un verdadero entenderte, entender el asistente inteligente de la industria!

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

En primer lugar, veamos el resultado, este es el resultado después de haber cargado una consulta de información "Clasificación de discapacidad por lesión humana":

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

 

Despliegue de DeepSeek-R1

DeepSeek Hay dos formas de despliegue, una es el despliegue local y la otra es acceder a APIs de terceros.

Pros y contras de ambos:

  • despliegue local
    ✅ Ventajas: datos totalmente privados, bajos costes a largo plazo, capacidad de respuesta
    ❌ Desventajas: se come la aritmética local, requiere máquinas mejor configuradas.
  • Llamada API
    ✅ Ventajas: acceso rápido, sin mantenimiento, escalabilidad resistente.
    ❌ Inconvenientes: los datos deben transmitirse a terceros, los costes a largo plazo no son controlables.

DeepSeek local

Primero tienes que asegurarte de que has instalado ollama y ollama funciona correctamente.

DeepSeekAPI

En realidad iba a escribir este post sólo sobre el enfoque de despliegue local .....

Sin embargo, como la versión web de DeepSeek ha estado "en huelga" últimamente, me vi obligado a probar la versión local. ChatBox No esperaba experimentar una versión completa de R1, ¡y fue una pasada! Creo que esta solución también huele bien, así que voy a escribir en la forma de API por cierto.

Aquí te facilito dos plataformas para que accedas a la que prefieras.

En primer lugar, debemos obtener la APIkey y, a continuación, rellenar la configuración de la base de conocimientos con la APIkey.

 

arca volcánica

sitio web oficial
https://console.volcengine.com/ark

precios

Entrada: ¥2/M Fichas

Salida: ¥8/M Fichas

entradaAPIKey管理CreeAPIkey

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Nueva clave secreta, copia APIkey

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Flujo basado en silicio

Flujo basado en silicio sitio web oficial

https://cloud.siliconflow.cn/account/ak

precios

Entrada: ¥4/M Fichas

Salida: ¥16/M Fichas

Vaya a la parte izquierda de laAPI秘钥Haga clic en新建秘钥clave secreta posterior a la copia

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

 

repositorio

Instalación de la base de conocimientos

A continuación tenemos que acceder a la base de conocimientos, aquí utilizamosAnythingLLMEl proyecto.

 

AnythingLLM es un marco de aplicación Large Language Model (LLM) de código abierto diseñado para ayudar a los usuarios a crear y desplegar fácilmente aplicaciones inteligentes de preguntas y respuestas, análisis de documentos y otras basadas en datos privados.

Vaya al sitio web de AnythingLLM y descargue el instalador.

https://anythingllm.com/

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Ejecute el instalador, entretanto descargará las dependencias adicionales necesarias (GPU, soporte NPG)

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Si la descarga falla, o si cierra la ventana de descarga y omite este paso, AnythingLLM se instalará correctamente.

No te preocupes en este momento, puedes hacer la instalación manualmente.

El enlace web tiene unlibCódigo postal.

Extraiga el archivo zip y coloque la carpeta extraída en la carpeta你的安装目录AnythingLLMresourcesollamaDentro del catálogo.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Configuración de la base de conocimientos

La instalación ha finalizado y entrará en la interfaz de AnythingLLM, donde deberá seleccionar un modelo grande por defecto.

configuración local

Si está utilizando una implementación local de DeepSeek, desplácese hacia abajo para encontrar la opciónOllamaSólo tienes que elegir.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Configuración API

Si utiliza una API de terceros, no es necesario seleccionar este paso.ollamaEncuéntralo aquí abajo.Generic OpenAI

OpenAI genérico:

 

Conéctate a cualquier servicio compatible con el formato de interfaz OpenAI mediante una configuración personalizada.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Aquí hay que rellenar 5 parámetros

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Utiliza la API de flujo basada en silicona:

BaseURLsolicitar dirección

https://api.siliconflow.cn/v1

APIkeyClave secreta API, introduzca la que acaba de obtener.

ChatModelNameNombre del modelo

Pro/deepseek-ai/DeepSeek-R1

Token context window(ventana contextual)

4096

Max Tokens(Número máximo de fichas)

4096 u 8192, dependiendo de tu situación.

Utilice la API del Arca Volcánica:

BaseURLsolicitar dirección

https://ark.cn-beijing.volces.com/api/v3

APIkeyClave secreta API, introduzca la que acaba de obtener.

ChatModelNameNombre del modelo

Aquí es especial, Volcano Ark nombre del modelo debe ser llenado con el punto de acceso ID. tenemos que ir a la plataforma para crear el punto de acceso.

En primer lugar, active DeepSeekR1.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Llegar al razonamiento en línea - Crear puntos de acceso

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Confirmar acceso

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Este ID es el ID del punto de acceso, sólo tienes que rellenar este valor.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Token context window(ventana contextual)

4096

Max Tokens(Número máximo de fichas)

4096 u 8192, dependiendo de tu situación.

Una vez completados los ajustes anteriores, no olvides pulsarSaveChanageAhorra.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Creación de espacios de trabajo

El siguiente paso en esta interfaz de privacidad, es decirle cómo guardar los datos, cómo utilizar esas instrucciones, de todos modos, son todos los conjuntos de palabras, directamente saltar el siguiente paso puede ser

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Este paso es la pantalla de bienvenida, nada especial, ¡sólo sáltatela!

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Cree un nombre para el espacio de trabajo. Se recomienda utilizar el inglés, ya que resultará útil si desea utilizar la API para llamarlo más adelante.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Ahora introduzca AnythingLLM La interfaz principal del juego ya está en marcha. Te enseñará a jugar con un diálogo de muestra

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Haz clic en el espacio de trabajo que acabamos de nombrar a la izquierda para entrar en una nueva pantalla de diálogo.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

He aquí un diálogo sencillo para comprobar si la llamada al modelo se ha realizado correctamente.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Configuración del espacio de trabajo

Haga clic en el botón Configuración situado a la derecha del área de trabajo para acceder a la interfaz de configuración.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Ir a la configuración del chat donde podemos ajustar los detalles del modelo

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Aquí es donde se ajusta el modelo grande actualmente en uso. Por defecto se utiliza el establecido por el sistema, que se fijó anteriormenteollama

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

También están disponibles otros grandes modelos locales o servicios API.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

El modo se divide en chat y consulta, consulta significa sólo el uso de la función de contexto de consulta (es necesario tener sus propios documentos cargados), chat significa el uso de la función de chat + consulta

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Número de contextos

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Puede interpretarse como una palabra clave de persona, que puede modificarse a chino o dejarse por defecto.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Información alimentaria

A continuación, debe alimentar la base de conocimientos, haga clic en el espacio de trabajo junto a上传按钮

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Acceso a la interfaz de gestión de la base de conocimientos

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Admite la carga por lotes, admite Excel, world, txt y otros formatos de archivo. Aquí he subido un《人体损伤致残程度分级》.pdf.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Seleccione el archivo y haga clic enMove to WorkSpaceEste paso añade archivos del área temporal al espacio de trabajo.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Usted puede ver los archivos cargados transferidos a la derecha, aquí haga clic en elSace and EmbedHaz una parada.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

ConsejosWorkSpace updated successfullyIndica que se ha guardado correctamente.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Aquí debe hacer clic enPin to workspaceEste botón.

Anclar al espacio de trabajo::

 

Si, al utilizar AnythingLLM, observa que no obtiene respuestas satisfactorias por defecto, puede mejorar la calidad de sus respuestas fijando documentos. Esta es una forma rápida de mejorar la precisión y relevancia de sus respuestas.

En pocas palabras, la fijación de documentos es el proceso de "alimentar" el contenido de un documento directamente al modelo lingüístico para que pueda referirse a ese contenido al responder a una pregunta y ofrecer una respuesta mejor.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

A continuación, volvemos a la página Conversaciones, creamos una nueva conversación, formulamos una pregunta y comprobamos que la base de conocimientos se ha añadido correctamente.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

resolución de errores

Puede ver que DeepSeek ha respondido a la pregunta junto con la información cargada, pero hay errores en la respuesta.

Por ejemplo, la primera pregunta:

Pregunta:

 

¿Cuál es el grado por dos costillas rotas?

Contesta:

 

Sobre la base de la información contextual facilitada, las normas de clasificación de la discapacidad por lesión humana para las fracturas costales son las siguientes:

Lesión grave de grado 2: Fractura de más de cuatro costillas o de más de dos costillas con movimiento paradójico;

Lesiones leves de primer grado: fracturas de la primera a la tercera costilla.

En caso de fractura de dos costillas, si no va acompañada de actividad paradójica u otras afecciones graves (por ejemplo, más de cuatro), se clasifica como lesión leve de primer grado. Así pues, se clasifica la fractura de dos costillas:

lesiones leves (primer grado)

Sin embargo, en el documento subido, dos costillas rotas se clasifican como lesiones leves de segundo grado. Se trata de un error bastante grave para una solicitud de asesoramiento jurídico.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

No hay necesidad de precipitarse cuando se trata de este tipo de incapacidad para responder a las preguntas, vamos a solucionar la causa.

Analicé detenidamente el archivo PDF cargado y descubrí que contenía muchas tablas, formatos especiales y un montón de contenido no utilizado. Estas "impurezas" afectan a la capacidad de la IA para entender lo que realmente queremos que aprenda.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Todo este desorden de formatos puede hacer que la IA pierda de vista los puntos clave, como cuando vemos un libro desordenado, así que reorganicé el contenido clave en un documento conciso de Word, borré el contenido inservible y se lo volví a pasar a la IA.

Un extracto del contenido del documento cotejado:

5.6.4轻伤二级
b)肋骨骨折2处以上。
c) 胸骨骨折;锁骨骨折;肩胛骨骨折。
d)胸锁关节脱位;肩锁关节脱位。
e) 胸部损伤,致皮下气肿1周不能自行吸收。
f) 胸腔积血;胸腔积气。
g)胸壁穿透创。
h)胸部挤压出现窒息征象。
5.6.5轻微伤
a)肋骨骨折;肋软骨骨折。
5.7    腹部损伤
5.7. 1重伤一级
a)肝功能损害(重度)。
b)胃肠道损伤致消化吸收功能严重障碍,依赖肠外营养。
c) 肾功能不全(尿毒症期)。

Volví a hacer la pregunta y esta vez la respuesta fue mucho más precisa.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Ésta es sólo la solución más sencilla. Si quieres que la IA responda con más precisión, también puedes probar a ajustar el formato del documento, optimizar el método de búsqueda, ajustar los parámetros de la IA, etc. Pero hablaremos de estas jugadas avanzadas más adelante.

 

Acceso a WeChat BOT

Obtener la clave secreta de AnythingLLM

espectáculo (una entrada)AnythingLLMvaya a Configuración - Clave secreta de API - Generar nueva clave secreta de API

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Uso del paquete de integración

He puestoAnythingLLMparaNGCBOTen un paquete integrado.

Descomprima el enlace web en elNGCBOT_LLM.zipZip, doble clic启动器.exeListo para correr.

Hay tres cosas que debes hacer antes de utilizarlo.

Hay tres cosas que debes hacer antes de utilizarlo.

Hay tres cosas que debes hacer antes de utilizarlo.

En primer lugar, asegúrese de que no hay chino en el directorio de su paquete de integración, ¡habrá un error si hay chino!

demostración correcta

F:AIAIpackageNGCBot

falsa demostración

F:微信BOTAIpackageNGCBot

En segundo lugar, instala la versión especificada de WeChat.

Hay una versión para Microsoft en el enlace web

WeChatSetup-3.9.10.27.exe

Instalar esta versión, el equipo originalmente tenía microsoft no es necesario eliminar, anular directamente la instalación.

En tercer lugar, modifique el archivo de configuración de NGCBOT.

requieren un profundo conocimiento deConfigConfig.yamlEl archivo de configuración puede modificarse.

Hay tres cambios en el archivo de configuración

1. Modificar la configuración del superadministrador.

Aquí rellena el ID de la micro-señal que has configurado, ¡recuerda cambiarlo siempre! De lo contrario, todo se envía a mí ....

¿Cómo obtengo este ID? Usa la microseñal que quieras configurar como administrador, envía un mensaje al bot, y entonces verás el id de la persona que envió el mensaje en la consola.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

2. Modificar la configuración de la prioridad ai.

Este es el orden en el que se ejecutan las interfaces ai, un número más pequeño delante significa prioridad. La configuración por defecto es AnythingLLM priority.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

3.Configuración de AnythingLLM.

Aquí tiene que cambiar elworkspaceyAnythingLLMkeyEstos dos valores están bien.

workspaceRellene el nombre del espacio de trabajo que creó AnythingLLM, es el que está en minúsculas.

AnythingLLMkeyIntroduce la clave secreta que obtienes en AnythingLLM. No la clave secreta de Silicon Flow ni la de Volcano Ark.

Recuerda dejar al Portador al frente.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Después de seguir los pasos anteriores para realizar cambios, haga doble clic en el icono启动器.exeAsí podrás divertirte.

El acceso al paquete de integración se encuentra al final del artículo.

¡Felicidades! Cualquiera que vea esto es 👍🏻👍🏻

Si quieres empezar a jugar rápidamente con los robots de la base de conocimientos, consulta aquí.

Esto es lo que hay escrito para los más pequeños que quieran profundizar en ello

  • Cómo llamar a la interfaz AnythingLLM
  • Cómo ampliar la funcionalidad de NGCBOT

Siga leyendo si le interesa

 

desarrollo y expansión

llamada de interfaz

 

Este paso es adecuado para aquellos que quieren ampliar su investigación de desarrollo, si usted es un principiante y desea reproducir el paquete de integración directamente, por favor omita este paso.

Bien, avancemos un poco más. Entradas del navegador[http://localhost:3001/api/docs/](http://localhost:3001/api/docs/)Vaya a la página de la API.

Aquí, como no se puede acceder a la documentación oficial original de la API en la web, se ha cambiado al acceso local a la documentación de la API.

Después de entrar en la página de descripción de la API, se puede ver que hay varias interfaces aquí. Y soporta la depuración directamente en esta página.

Antes de empezar a acceder, tenemos que autorizar la clave secreta, haga clic en el botónAuthorize.

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Pegue la clave AnythingLLMAPI en la pantalla abierta, ¡la autorización se ha realizado correctamente!

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Entonces baja y encuentra/v1/workspace/{slug}/chatEsta API

基于DeepSeek-R1实现本地/API知识库,并接入微信BOT

Descripción de los parámetros

parámetrosinstruccionesnota
babosaespacio de trabajoRechazar caracteres chinos, mayúsculas y otros caracteres especiales, sólo minúsculas
mensajeMensajeEl mensaje que desea enviar
modoparadigmaEl esquema se divide en chat y consulta, consulta significa sólo el uso de la función de contexto de consulta (es necesario tener sus propios documentos cargados), chat significa el uso de la función de chat

Ejemplo de solicitud (cuerpo de la solicitud)

curl --location 'http://localhost:3001/api/v1/workspace/newwork/chat' 
--header 'Authorization: Bearer 7X26VBD-0824RMG-MD0VV2X-PC02ZJ4' 
--header 'Content-Type: application/json' 
--data '{
  "message": "两根肋骨骨折是什么等级?",
  "mode": "chat"
}'

Respuestas

{
    "id": "488ff13e-0206-4014-bf50-ea2d8e78c1c3",
    "type": "textResponse",
    "close": true,
    "error": null,
    "chatId": 17,
    "textResponse": "<think>n好的,我现在需要解决用户的问题:“两根肋骨骨折是什么等级?” 用户之前已经询问过这个问题,并且我给出了一个回答,但现在他再次提问,可能希望得到更详细或不同的解释。nn首先,回顾一下上下文。在提供的Context 0中,5.6.4轻伤二级部分提到了b)肋骨骨折2处以上属于轻伤二级。因此,两根肋骨骨折符合这一标准,应定级为轻伤二级。nn用户可能是一名法律工作者、家属或受伤者本人,想要了解骨折的严重程度以便处理工伤赔偿或其他相关事宜。他们可能对分级标准不太熟悉,所以才会多次询问。nn在思考过程中,我需要确认是否还有其他相关的评定标准会影响结果。例如,是否有特殊情况如骨折的位置、是否伴随内脏损伤等,这些因素可能会改变评定等级。但根据提供的Context,没有提到这些情况,因此只能基于给出的信息进行判断。nn此外,用户可能希望知道如何申请工伤认定或后续的赔偿流程,但由于信息有限,我无法提供具体步骤,但可以建议他们联系劳动保障部门或医疗机构获取专业指导。nn总结来说,两根肋骨骨折属于轻伤二级,这是根据提供的标准得出的结论。用户可能需要进一步的法律或医疗咨询来处理相关事宜。n</think>nn根据您提供的上下文信息:nn在 **5.6.4 轻伤二级** 中提到:n- **b) 肋骨骨折2处以上**。nn因此,**两根肋骨骨折属于轻伤二级**。",
    "sources": [
        {
            "text": "5.2.4轻伤二级nna)面部单个创口或者瘢痕长度4.5cm 以上;多个创口或者瘢痕长度累计6.0cm 以上。nnb)面颊穿透创,皮肤创口或者瘢痕长度1.0cm以上。nnc)口唇全层裂创,皮肤创口或者瘢痕长度1.0cm 以上。nnd) 面部块状瘢痕,单块面积3.0cm²以上或多块面积累计5.0cm²以上。nne) 面部片状细小瘢痕或者色素异常,面积累计8.0cm²以上。f)眶壁骨折(单纯眶内壁骨折除外)。nng)眼睑缺损。nnh) 一侧眼睑轻度外翻。nni) 一侧上眼睑下垂覆盖瞳孔。nnj) 一侧眼睑闭合不全。nnk)一侧泪器损伤伴溢泪。nn1)耳廓创口或者瘢痕长度累计6.0cm以上。nnm)耳廓离断、缺损或者挛缩畸形累计相当于一侧耳廓面积15%以上。n)鼻尖或者一侧鼻翼缺损。nno) 鼻骨粉碎性骨折;双侧鼻骨骨折;鼻骨骨折合并上颌骨额突骨折;鼻骨骨折合并鼻中隔骨折;双侧上颌骨额突骨折。nnp) 舌缺损。nnq) 牙齿脱落或者牙折2枚以上。nnr) 腮腺、颌下腺或者舌下腺实质性损伤。nns) 损伤致张口困难I 度 。nnt)颌骨骨折(牙槽突骨折及一侧上颌骨额突骨折除外)。u)颧骨骨折。nn5.2.5轻微伤nnnnnnnnnna)面部软组织创。nnb)面部损伤留有瘢痕或者色素改变。nnc) 面部皮肤擦伤,面积2.0cm²以上;面部软组织挫伤;面部划伤4.0cm以上。nnd)眶内壁骨折。nne)眼部挫伤;眼部外伤后影响外观。nnf) 耳廓创。nng) 鼻骨骨折;鼻出血。h)上颌骨额突骨折。nni) 口腔粘膜破损;舌损伤。nnj) 牙齿脱落或者缺损;牙槽突骨折;牙齿松动2枚以上或者Ⅲ度松动1枚以上。nn5.3  听器听力损伤nn5.3. 1重伤一级nna) 双耳听力障碍(≥91dB HL)。nn5.3.2重伤二级nna) 一耳听力障碍(≥91dB HL)。nnb) 一耳听力障碍(≥81dB  HL),另一耳听力障碍(≥41dB HL)。nnc) 一耳听力障碍(≥81dB   HL),伴同侧前庭平衡功能障碍。nnd) 双耳听力障碍(≥61dB HL)。nne) 双侧前庭平衡功能丧失,睁眼行走困难,不能并足站立。nn5.3.3轻伤一级nna)双耳听力障碍(≥41dB HL)。nnb)双耳外耳道闭锁。nn5.3.4轻伤二级nna) 外伤性鼓膜穿孔6周不能自行愈合。b...continued on in source document...",
            "id": "210f98f0-d656-4c0f-b3d5-d617f6398eca",
            "url": "file://C:\Users\XX\AppData\Roaming\anythingllm-desktop\storage\hotdir\新建 DOCX 文档.docx",
            "title": "新建 DOCX 文档.docx",
            "docAuthor": "no author found",
            "description": "No description found.",
            "docSource": "pdf file uploaded by the user.",
            "chunkSource": "localfile://C:\Users\XX\Desktop\新建 DOCX 文档.docx",
            "published": "2025/2/7 13:00:52",
            "wordCount": 126,
            "token_count_estimate": 3870
        }
    ],
    "metrics": {
        "prompt_tokens": 431,
        "completion_tokens": 326,
        "total_tokens": 757,
        "outputTps": 63.178294573643406,
        "duration": 5.16
    }
}

De esta manera hemos completado la prueba de llamar a la interfaz AnythingLLM. De acuerdo con esta interfaz puedes implementar tu propia lógica de negocio, a continuación combinamos el BOT de WeChat para implementar el robot de la base de conocimientos.

Modificaciones de NGC

Los proyectos NGCBOT deben estar enApiServerAiServerAiDialogue.pyAñadir una llamada al scriptAnythingLLMLa lógica de la

Aquí pondré el código.

def getAnythingLLM(self, content, messages):
"""
本地 AnythingLLM 模型
:param content: 对话内容
:param messages: 消息列表
:return:
"""
op(f'[*]: 正在调用本地AnythingLLM对话接口... ...')
messages.append({"role": "user", "content": f'{content}'})

data = {
"model": self.anythingLLMConfig.get('anythingllmModel'),
"message": content
}

headers = {
"Content-Type": "application/json", 
"Authorization": self.anythingLLMConfig.get('anythingllmKey')
}

try:
resp = requests.post(
url=self.anythingLLMConfig.get('anythingllmApi').format(workspace=self.anythingLLMConfig.get('workspace')),
headers=headers,
json=data,
timeout=300
)

resp.encoding = 'utf-8'
json_data = resp.json()

assistant_content = json_data['textResponse']

if "</think>" in assistant_content:
assistant_content = assistant_content.split("</think>")[1].strip()

messages.append({"role": "assistant", "content": f"{assistant_content}"})
if len(messages) == 21:
del messages[1]
del messages[2]
return assistant_content, messages
except Exception as e:
op(f'[-]: 本地AnythingLLM对话接口出现错误, 错误信息: {e}')
return None, [{"role": "system", "content": f'{self.systemAiRole}'}]

 

Añada elanythingLLMConfig

self.anythingLLMConfig = {
            'anythingllmApi': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmApi'],
            'anythingllmKey': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmKey'],
            'anythingllmModel': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmModel'],
            'workspace': configData['apiServer']['aiConfig']['AnythingLLM']['workspace']
        }

 

Adquisición de paquetes de integración

Laboratorios Tootsie - Edición Windowns

Quark:
https://pan.quark.cn/s/8d1293227cf9

Baidu.
https://pan.baidu.com/s/1wx8LmbY2XBaJAAJvmGK06g?pwd=8d5m

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...