Aprendizagem pessoal com IA
e orientação prática

Implementação de uma base de conhecimento local/API baseada no DeepSeek-R1 e acesso ao WeChat BOT

No artigo anterior, "OTutoriais de implantação local do DeepSeek-R1 e de acesso ao WeChat BotEm "DeepSeek-R1", implantamos o DeepSeek-R1 localmente e acessamos um bot do WeChat para conversar conosco, mas hoje eu gostaria de compartilhar com você uma maneira mais interessante de brincar com ele: como alimentar nosso assistente de IA com algumas coisas secas, para que ele possa se transformar em um consultor profissional que realmente sabe o que está fazendo!

 


Em seguida, vou orientá-lo a concluir todo o processo de criação da base de conhecimento, incluindo a configuração do ambiente, a implantação da base de conhecimento, o upload de informações, bem como alguns detalhes das dicas de ajuste. Por fim, colocaremos essa IA "cheia de conhecimento" no robô do WeChat para criar um assistente inteligente que realmente entenda você e o setor!

Em primeiro lugar, vamos dar uma olhada no resultado, que é o resultado depois que eu carreguei uma consulta de informações sobre "Classificação de incapacidade por lesão humana":

 

Implementação do DeepSeek-R1

DeepSeek Há duas maneiras de implementar, seja localmente ou acessando uma API de terceiros.

Prós e contras de ambos:

  • implantação local
    Vantagens: dados totalmente privados, baixos custos a longo prazo, capacidade de resposta
    Desvantagens: consome aritmética local, requer máquinas mais bem configuradas
  • Chamada de API
    Vantagens: acesso rápido, livre de manutenção, escalabilidade resiliente
    Desvantagens: os dados precisam ser repassados a terceiros, os custos de longo prazo são incontroláveis

DeepSeek local

Primeiro, você precisa ter certeza de que instalou o ollama e o ollama está funcionando corretamente.

DeepSeekAPI

Na verdade, eu ia escrever esta postagem apenas sobre a abordagem de implementação local .....

No entanto, como a versão web do DeepSeek tem estado "em greve" ultimamente, fui forçado a experimentar a versão local. ChatBox Eu não esperava experimentar uma versão completa do R1, e foi muito divertido! Acho que essa solução também tem um cheiro bom, então, a propósito, escreverei na forma de API.

Aqui, estou fornecendo duas plataformas para você acessar de acordo com sua escolha.

Primeiro, precisamos obter a APIkey e, em seguida, preencher a configuração da base de conhecimento com a APIkey.

 

Arca vulcânica

site oficial
https://console.volcengine.com/ark

preços

Entrada: ¥2/M Tokens

Saída: ¥8/M Tokens

entradaGerenciamento de chaves de APICriarChave de API

Nova chave secreta, copiar APIkey

Fluxo baseado em silício

Fluxo baseado em silício site oficial

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

preços

Entrada: ¥4/M Tokens

Saída: ¥16/M Tokens

Vá para o lado esquerdo da telaChave da APIClique emNova chave secretachave secreta de pós-cópia

 

repositório

Instalação da base de conhecimento

Em seguida, precisamos acessar a base de conhecimento, e aqui usamosQualquer coisaLLMO projeto.

 

O AnythingLLM é uma estrutura de aplicativos de código aberto do Large Language Model (LLM) projetada para ajudar os usuários a criar e implantar facilmente perguntas e respostas inteligentes, análise de documentos e outros aplicativos baseados em dados privados.

Acesse o site do AnythingLLM e faça o download do instalador.

https://anythingllm.com/

Execute o instalador e, em seguida, ele fará o download das dependências adicionais necessárias (GPU, suporte a NPG)

Se o download falhar, ou se você fechar a janela de download e pular esta etapa, o AnythingLLM ainda assim será instalado com êxito.

Não se preocupe neste ponto, você pode fazer a instalação manualmente.

O link da web tem umlibZip.

Extraia o arquivo zip e coloque a pasta extraída no diretórioSeu diretório de instalação AnythingLLMresourcesollamaDentro do catálogo.

Configuração da base de conhecimento

Após a conclusão da instalação, entre na interface do AnythingLLM, onde você precisa selecionar um modelo grande padrão.

configuração local

Se você estiver usando uma implementação local do DeepSeek, role para baixo para encontrar oOllamaBasta escolher.

Configuração da API

Se você estiver usando uma API de terceiros, esta etapa não precisa ser selecionadaollamaEncontre-o aqui.Genéricos OpenAI

Generic OpenAI:

 

Conecte-se a qualquer serviço compatível com o formato de interface OpenAI por meio de uma configuração personalizada.

Há 5 parâmetros a serem preenchidos aqui

Use a API de fluxo baseada em silicone:

BaseURLendereço de solicitação

https://api.siliconflow.cn/v1

Chave de APIChave secreta da API, preencha a que você acabou de receber.

ChatModelNameNome do modelo

Pro/deepseek-ai/DeepSeek-R1

Token janela de contexto(janela de contexto)

4096

Tokens máximos(Número máximo de tokens)

4096 ou 8192, dependendo de sua situação.

Use a API Volcano Ark:

BaseURLendereço de solicitação

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

Chave de APIChave secreta da API, preencha a que você acabou de receber.

ChatModelNameNome do modelo

O nome do modelo do Volcano Ark precisa ser preenchido com o ID do ponto de acesso. Precisamos ir à plataforma para criar o ponto de acesso.

Comece ativando o DeepSeekR1 primeiro!

Come to Online Reasoning - Criando pontos de acesso

Confirmar o acesso

Essa ID é a ID do ponto de acesso, basta preencher esse valor.

Janela de contexto de token(janela de contexto)

4096

Tokens máximos(Número máximo de tokens)

4096 ou 8192, dependendo de sua situação.

Quando as configurações acima estiverem concluídas, não se esqueça de tocar emSaveChanageSalvar.

Criação de espaço de trabalho

A próxima etapa dessa interface de privacidade é informar como salvar os dados e como usar essas instruções, de qualquer forma, são todos conjuntos de palavras que podem ser ignorados diretamente na próxima etapa

Esta etapa é a tela de boas-vindas, nada de especial, simplesmente pule-a!

Crie um nome para o espaço de trabalho. É recomendável que você use inglês, pois isso será útil se você quiser usar a API para chamá-lo mais tarde.

Agora, digite Qualquer coisaLLM A interface principal do jogo já está pronta. Ela ensinará você a jogar com um exemplo de diálogo

Clique no espaço de trabalho que acabamos de nomear à esquerda para entrar em uma nova tela de diálogo.

Aqui está um diálogo simples para testar se a chamada do modelo foi bem-sucedida.

Configuração do espaço de trabalho

Clique no botão Setup (Configuração) no lado direito do espaço de trabalho para acessar a interface Setup (Configuração).

Vá para as configurações do bate-papo, onde podemos ajustar os detalhes do modelo

Aqui é onde você ajusta o modelo grande atualmente em uso. O padrão é usar o modelo definido pelo sistema, que foi definido anteriormenteollama

Outros modelos locais grandes ou serviços de API também estão disponíveis.

O modo é dividido em chat e consulta, consulta significa usar apenas a função de contexto de consulta (você precisa ter seus próprios documentos carregados), chat significa usar a função de chat + consulta

Número de contextos

Você pode interpretá-la como uma palavra-chave pessoal, que pode ser modificada para chinês ou deixada como padrão.

Informações sobre alimentação

Em seguida, você precisa alimentar a base de conhecimento, clicar no espaço de trabalho ao lado deBotão Upload

Acesso à interface de gerenciamento da base de conhecimento

Oferece suporte a upload em lote, Excel, world, txt e outros formatos de arquivo. Aqui eu fiz o upload de um arquivoClassificação de lesões humanas como graus de incapacidade.pdf.

Selecione o arquivo e clique emMudança para o WorkSpaceEsta etapa adiciona arquivos da área temporária ao espaço de trabalho.

Você pode ver os arquivos carregados transferidos à direita, aqui clique no botãoSace e EmbedFaça uma defesa.

Dicas abaixoWorkSpace atualizado com sucessoIndica um salvamento bem-sucedido.

Aqui você precisa clicar emFixar no espaço de trabalhoEste botão.

Fixar no espaço de trabalho::

 

Se, ao usar o AnythingLLM, você perceber que não está obtendo respostas satisfatórias por padrão, poderá melhorar a qualidade das respostas fixando documentos. Essa é uma maneira rápida de aumentar a precisão e a relevância de suas respostas.

Em termos simples, a fixação de documentos é o processo de "alimentar" o conteúdo de um documento diretamente no modelo de linguagem para que ele possa consultar esse conteúdo ao responder a uma pergunta e fornecer uma resposta melhor.

Em seguida, voltamos à página Conversations (Conversas), criamos uma nova conversa, fazemos uma pergunta e verificamos se a base de conhecimento foi adicionada com êxito.

resolução de erros

Você pode ver que o DeepSeek respondeu à pergunta em conjunto com as informações carregadas, mas há erros na resposta.

Por exemplo, a primeira pergunta:

Pergunte:

 

Qual é a classificação para duas costelas quebradas?

Resposta:

 

Com base nas informações contextuais fornecidas, os Padrões de Classificação de Incapacidade por Lesão Humana para fraturas de costela são os seguintes:

Lesão grave de grau 2: fratura de mais de quatro costelas ou mais de duas costelas com movimento paradoxal;

Lesões leves de primeiro grau: fraturas da primeira à terceira costela.

No caso de uma fratura de duas costelas, se não for acompanhada de atividade paradoxal ou outras condições graves (por exemplo, mais de quatro), ela é classificada como uma lesão leve de primeiro grau. Assim, duas costelas fraturadas são classificadas:

ferimentos leves (primeiro grau)

Entretanto, no arquivo carregado, duas costelas quebradas são classificadas como uma lesão menor de segundo grau. Esse é um erro bastante grave para um aplicativo de consultoria jurídica.

Não há necessidade de pressa quando se trata desse tipo de incapacidade de responder a perguntas, vamos solucionar a causa.

Dei uma olhada mais de perto no arquivo PDF carregado e descobri que ele continha muitas tabelas, formatação especial e uma grande quantidade de conteúdo não utilizado. Essas "impurezas" afetam a capacidade da IA de entender o que realmente queremos que ela aprenda.

Toda essa formatação bagunçada pode fazer com que a IA perca a noção dos pontos principais, como quando vemos um livro bagunçado. Por isso, reorganizei o conteúdo principal em um documento conciso do Word, excluí o conteúdo inutilizável e o alimentei novamente na IA.

Um trecho do conteúdo do documento agrupado:

5.6.4 Segundo grau de lesões leves
b) Fratura de costelas em dois ou mais lugares.
c) Fratura do esterno; fratura da clavícula; fratura da escápula.
d) Deslocamento da articulação esternoclavicular; deslocamento da articulação acromioclavicular.
e) Lesão no tórax que resulte em enfisema subcutâneo não auto-absorvido por uma semana.
f) Hematoquezia da cavidade torácica; pneumotórax.
g) Trauma penetrante na parede torácica.
h) Compressão do tórax com sinais de asfixia.
5.6.5 Lesões menores
a) Fratura de costelas; fratura da cartilagem costal.
5.7 Lesões abdominais
5.7. 1 Lesão grave grau I
a) Comprometimento da função hepática (grave).
b) Lesão gastrointestinal resultando em grave comprometimento da digestão e absorção e dependência de nutrição parenteral.
c) Insuficiência renal (estágio urêmico).

Tentei fazer a pergunta novamente e, dessa vez, a resposta foi muito mais precisa!

Essa é apenas a solução mais simples. Se quiser que a IA responda com mais precisão, você também pode tentar ajustar o formato do documento, otimizar o método de pesquisa, ajustar os parâmetros da IA e assim por diante. Mas falaremos sobre essas jogadas avançadas mais tarde.

 

Acesso ao WeChat BOT

Obter a chave secreta do AnythingLLM

show (um ingresso)Qualquer coisaLLMinterface, vá para Configurações - Chave secreta da API - Gerar nova chave secreta da API

Usando o pacote de integração

Eu coloqueiQualquer coisaLLMinterface paraNGCBOTe transformados em um pacote integrado.

Descompacte o link da Web na seçãoNGCBOT_LLM.zipZip, clique duas vezesLançador.exePronto para funcionar.

Há três coisas que você precisa fazer antes de usá-lo!

Há três coisas que você precisa fazer antes de usá-lo!

Há três coisas que você precisa fazer antes de usá-lo!

Primeiro, certifique-se de que não haja chinês no diretório de seu pacote de integração; haverá um erro se houver chinês!

demonstração correta

F:AIAIpackageNGCBot

falsa demonstração

F:WeChat BOTAIpackageNGCBot

Em segundo lugar, instale a versão especificada do WeChat.

Há uma versão da Microsoft no link da Web

WeChatSetup-3.9.10.27.exe

Ao instalar essa versão, o computador que originalmente tinha a Microsoft não precisa excluir, substituindo diretamente a instalação.

Em terceiro lugar, modifique o arquivo de configuração do NGCBOT.

exigem uma compreensão completa deConfigConfig.yamlO arquivo de configuração pode ser modificado.

Há três alterações no arquivo de configuração

1. modifique a configuração do superadministrador.

Aqui, preencha o ID do micro-sinal que você configurou, lembre-se de sempre alterá-lo! Caso contrário, tudo será enviado para mim ....

Como faço para obter essa ID? Use o microsinal que deseja configurar como administrador, envie uma mensagem para o bot e, em seguida, verá o ID da pessoa que enviou a mensagem no console.

2) Modifique a configuração de prioridade da IA.

Esta é a ordem em que as interfaces ai são executadas; um número menor na frente significa prioridade. A configuração padrão é a prioridade AnythingLLM.

3.AnythingLLM configuration.

Aqui você precisa alterar oespaço de trabalhoeQualquer coisaLLMkeyEsses dois valores estão corretos.

espaço de trabalhoPreencha o nome do espaço de trabalho que você criou com o AnythingLLM, em letras minúsculas.

Qualquer coisaLLMkeyPreencha a chave secreta que você recebe no AnythingLLM. Não a chave secreta do Silicon Flow ou a do Volcano Ark!

Lembre-se de deixar o portador na frente.

Depois de seguir as etapas acima para fazer alterações, clique duas vezes no íconeLançador.exeEntão você pode se divertir!

A aquisição do pacote de integração está no final do artigo.

Parabéns! Qualquer pessoa que veja isso é 👍🏻👍🏻

Se você quiser apenas começar a brincar rapidamente com os bots da base de conhecimento, veja aqui.

Aqui está o que está escrito para os pequenos que querem se aprofundar no assunto

  • Como chamar a interface AnythingLLM
  • Como ampliar a funcionalidade do NGCBOT

Continue lendo se você estiver interessado

 

desenvolvimento e expansão

chamada de interface

 

Esta etapa é adequada para aqueles que desejam expandir sua pesquisa de desenvolvimento. Se você for um iniciante e quiser reproduzir o pacote de integração diretamente, pule esta etapa.

OK, vamos avançar um pouco mais. Entradas do navegador[http://localhost:3001/api/docs/] (http://localhost:3001/api/docs/)Vá para a página da API.

Aqui, como a documentação oficial original da API não pode ser acessada na Web, ela foi alterada para acesso local à documentação da API.

Depois de entrar na página de descrição da API, você pode ver que há várias interfaces aqui. E ela suporta a depuração diretamente nessa página.

Antes de começarmos a acessar, precisamos autorizar a chave secreta, clique no botãoAutorizar.

Cole a chave AnythingLLMAPI na tela aberta; a autorização foi bem-sucedida!

Em seguida, desça e encontre/v1/workspace/{slug}/chatEssa API

Descrição do parâmetro

parâmetros instruções nota
lesma espaço de trabalho Rejeitar caracteres chineses, letras maiúsculas e outros caracteres especiais, apenas letras minúsculas
mensagem Mensagem A mensagem que você deseja enviar
modo paradigma O esquema é dividido em chat e consulta; consulta significa usar apenas a função de contexto de consulta (você precisa ter seus próprios documentos carregados); chat significa usar a função de chat

Exemplo de uma solicitação (corpo da solicitação)

curl --location 'http://localhost:3001/api/v1/workspace/newwork/chat'
--header 'Authorization: Bearer 7X26VBD-0824RMG-MD0VVV2X-PC02ZJ4'
--header 'Content-Type: application/json'
--data '{
  "message": "Qual é a nota para duas costelas quebradas?" ,
  "mode": "chat"
}'

Respostas

{
    "id": "488ff13e-0206-4014-bf50-ea2d8e78c1c3",
    "type": "textResponse",
    
    "error": nulo, "chatId": 17, "error": 17
    "chatId": 17, "textResponse".
    "textResponse":"nOk, agora preciso abordar a pergunta do usuário: "Qual é a nota para duas costelas quebradas?" O usuário já fez essa pergunta antes e eu dei uma resposta, mas agora ele a está fazendo novamente e pode querer uma explicação mais detalhada ou diferente.nnPrimeiro, analise o contexto. No Contexto 0 fornecido, a seção 5.6.4 Ferimento leve de grau 2 menciona b) Duas ou mais fraturas de costela são um ferimento leve de grau 2. Portanto, duas costelas fraturadas atendem a esse critério e devem ser classificadas como uma lesão leve de segundo grau.nnO usuário pode ser um profissional da área jurídica, um membro da família ou a própria pessoa lesionada que deseja saber a gravidade da fratura para lidar com a indenização dos trabalhadores ou outros assuntos relacionados. Talvez ele não esteja familiarizado com os critérios de classificação, e é por isso que perguntou várias vezes. nnNo processo de raciocínio, preciso verificar se há outros critérios de classificação relevantes que possam afetar o resultado. Por exemplo, se há circunstâncias especiais, como a localização da fratura, se ela é acompanhada de lesão de órgãos internos etc. Esses fatores podem alterar a escala de classificação. No entanto, de acordo com o contexto fornecido, não há menção a essas circunstâncias, portanto, o julgamento só pode ser feito com base nas informações fornecidas.nn Além disso, os usuários podem querer saber como solicitar o reconhecimento de acidente de trabalho ou o processo de compensação subsequente, mas, devido às informações limitadas disponíveis, não posso fornecer as etapas específicas, mas posso sugerir que entrem em contato com o departamento de segurança do trabalho ou com uma instituição médica para obter orientação profissional.nn Em resumo, as duas costelas fraturadas se enquadram na categoria de Lesão leve de grau 2, que é uma conclusão baseada nos critérios fornecidos. O usuário pode precisar de mais aconselhamento jurídico ou médico para lidar com o assunto.nnnCom base nas informações contextuais que você forneceu:nnNo **5.6.4 Ferimento leve de grau 2**, ele menciona:n- **b) Costelas fraturadas em mais de 2 lugares**.nnPortanto, **duas costelas fraturadas são classificadas como ferimento leve de grau 2**". ,
    "sources": [
        {
            "text": "5.2.4 Ferimento leve de grau 2 nna) Um único ferimento ou cicatriz no rosto com mais de 4,5 cm de comprimento; vários ferimentos ou cicatrizes com mais de 6,0 cm de comprimento cumulativo.nnb) Ferimentos penetrantes nas bochechas, com ferimentos na pele ou cicatrizes com mais de 1,0 cm de comprimento.nnc) Lacerações de todo o comprimento da boca e dos lábios, com ferimentos na pele ou cicatrizes com mais de 1,0 cm de comprimento.nnd) Cicatrizes maciças no rosto. A single scar of 3.0 cm² or more or multiple scars of 5.0 cm² or more. nne) Facial patches of fine keloidal scarring or pigmentation abnormalities of 8.0 cm² or more. f) Orbital wall fracture (other than a simple fracture of the medial orbital wall). nng) Eyelid defects. nnh) Mild ectropion of one eyelid. nnni) Drooping of the upper eyelid over the pupil of the eye. nnj) Inadequate closing of the eyelid of the eye. nnj) Inadequate closure of the eyelid of one eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnk) Lesão do órgão lacrimal com lacrimejamento em um dos lados. nn1) Incisão auricular ou comprimento da cicatriz de 6,0 cm ou mais cumulativamente. nnm) Desarticulação auricular, defeito ou deformidade por contratura de um total cumulativo de 151 TP3T ou mais da área auricular em um lado da aurícula. nnn) Deficiência da ponta nasal ou da flange nasal em um lado do nariz. nnno) Fratura cominutiva do osso nasal; fratura bilateral do osso nasal; fratura do osso nasal combinada com fratura do processo frontal da maxila; fratura do osso nasal combinada com fratura do septo nasal; fratura bilateral do osso nasal combinada com fratura do processo frontal da maxila. Fraturas do septo nasal; fraturas bilaterais do processo frontal do maxilar. nnp) Perda da língua. nnq) Perda de dentes ou fratura de dois ou mais dentes. nnr) Lesão substancial da glândula parótida, glândula submaxilar ou glândula sublingual. nns) Lesão que resulte em dificuldade de abertura da boca até o grau I. nnnt) Fraturas dos maxilares (exceto fraturas do processo alveolar e fraturas do processo frontal do maxilar do mesmo lado). u) Fraturas do osso zigomático. nnn5.2.5 Lesões menores nnnnnnnnnnna) Trauma de tecido mole facial. nnb) Lesão facial com cicatrizes ou alterações de pigmentação. nnc) Abrasão da pele facial com área de 2,0 cm² ou mais; contusão de tecido mole facial; arranhões faciais de 4,0 cm ou mais. nnnd) Fratura da parede orbital interna. nnne) Contusão ocular; trauma ocular que afeta a aparência do olho. nnf) Trauma auricular. nnn) Fratura do osso nasal; sangramento nasal. nnnnnnnnnna) Fratura do osso nasal; sangramento nasal. h) Fratura de protrusão frontal da maxila. nni) Rompimento da mucosa oral; lesão na língua. nnj) Dentes perdidos ou ausentes; fratura do processo alveolar; mais de 2 dentes soltos ou mais de 1 dente do terceiro grau de frouxidão. nn5.3 Deficiência auditiva nn5.3. 1 Ferimento grave de grau I nna) Perda auditiva binaural (≥ 91dB HL). nn5.3.2 Ferimento grave de grau II nna) Perda auditiva binaural em um ouvido (≥ 91dB HL). nnb) Deficiência auditiva em um ouvido (≥81dB HL) e no outro ouvido (≥41dB HL). nnc) Deficiência auditiva em um ouvido (≥81dB HL) com disfunção de equilíbrio vestibular ipsilateral. nnd) Deficiência auditiva bilateral em ambos os ouvidos (≥61dB HL). nnne) Perda de equilíbrio vestibular bilateral, com dificuldade de abrir os olhos para caminhar e incapacidade de ficar de pé lado a lado. nn5.3.2 Ferimento grave de grau 2 nn5.3.3 Ferimento leve de grau I nna) Perda auditiva bilateral (≥41 dB HL). nnb) Atresia bilateral. nn5.3.4 Ferimento leve de grau II nna) Perfuração traumática da membrana timpânica que não cicatrizou sozinha em 6 semanas. b.... .continua no documento fonte..." ,
            "id": "210f98f0-d656-4c0f-b3d5-d617f6398eca",
            "url": "file://C:\Users\XX\AppData\Roaming\anyllm-desktop\storage\hotdir\New DOCX Document.docx", "title": "Novo documento DOCX".
            "título": "Novo documento DOCX.docx",
            "docAuthor": "Nenhum autor encontrado", "description": "Nenhuma descrição encontrada".
            "description": "Nenhuma descrição encontrada.", "docAuthor": "nenhum autor encontrado", "docAuthor": "nenhum autor encontrado", "description": "Nenhuma descrição encontrada".
            "docSource": "arquivo pdf carregado pelo usuário.", "chunkSource": "arquivo pdf carregado pelo usuário.
            "chunkSource": "localfile://C:\Users\XX\Desktop\New DOCX document.docx", "published": "2025/2000", "description": "Nenhuma descrição encontrada.", "docSource": "arquivo pdf carregado pelo usuário.", "docSource": "arquivo pdf carregado pelo usuário.
            "publicado": "2025/2/7 13:00:52",
            "wordCount": 126, "token_count_estimate".
            "token_count_estimate": 3870
        }
    ],.
    "metrics": {
        "prompt_tokens": 431, "completion_tokens": 326, {
        
        "total_tokens": 757, "outputTps": 63.1782573643,
        "outputTps": 63.178294573643406, "duration": 5.16.5
        "duration" (duração): 5.16
    }
}

Dessa forma, concluímos o teste de chamada da interface AnythingLLM. De acordo com essa interface, você pode implementar sua própria lógica de negócios. Abaixo, combinamos o WeChat BOT para implementar o robô da base de conhecimento.

Modificações do NGC

Os projetos NGCBOT precisam estar emApiServerAiServerAiDialogue.pyAdição de uma chamada ao scriptQualquer coisaLLMA lógica do

Aqui, colocarei apenas o código.

def getAnythingLLM(self, content, messages).
"""
Modelo local do AnythingLLM
param content: conteúdo da conversa
param messages: lista de mensagens
:return.
"""
op(f'[*]: Interface de diálogo local AnythingLLM sendo chamada... ...')
messages.append({"role": "user", "content": f'{content}'})

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

headers = {
"Content-Type": "application/json", "Authorisation": self.anythingLLMConfig.get('anythingllmModel', "message": content }
"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()

conteúdo_do_assistente = json_data['textResponse']

if "" in assistant_content:
assistant_content = assistant_content.split("")[1].strip()

messages.append({"role": "assistant", "content": f"{assistant_content}"})
if len(messages) == 21.
del messages[1]
del messages[1]: del messages[1]: f"{assistant_content}"}
return assistant_content, messages
except Exception as e.
op(f'[-]: Erro na interface de diálogo local AnythingLLM, mensagem de erro: {e}')
return None, [{"role": "system", "content": f'{self.systemAiRole}'}]

 

Adicione oqualquer coisaLLMConfig

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']
        }

 

Aquisição de pacotes de integração

Tootsie Labs - Edição Windowns

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

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

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Implementação de uma base de conhecimento local/API baseada no DeepSeek-R1 e acesso ao WeChat BOT

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil