Реализация локальной/API-базы знаний на основе DeepSeek-R1 и доступ к WeChat BOT

В предыдущей статье "TheУчебники по локальному развертыванию DeepSeek-R1 и доступу к WeChat BotВ "DeepSeek-R1" мы развернули DeepSeek-R1 локально и запустили бота WeChat для общения с нами, но сегодня я хочу поделиться с вами более интересным способом игры с ним: как накормить нашего ИИ-помощника сухими вещами, чтобы он превратился в профессионального консультанта, который действительно знает, что делает!

 

Далее я проведу вас за руку по всему процессу создания базы знаний, включая настройку среды, развертывание базы знаний, загрузку информации, а также некоторые детали советов по настройке. Наконец, мы поместим этот "полный знаний" ИИ в робота WeChat, чтобы создать действительно понимающего вас, понимающего интеллектуального помощника отрасли!

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

Во-первых, давайте посмотрим на результат. Это результат после того, как я загрузил информационный запрос "Классификация инвалидности при травмах человека":

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

 

Развертывание DeepSeek-R1

DeepSeek Существует два способа развертывания: локальное и с помощью сторонних API.

Плюсы и минусы обоих вариантов:

  • локальное развертывание
    ✅ Преимущества: полностью частные данные, низкие долгосрочные затраты, оперативность.
    ❌ Недостатки: потребляет локальную арифметику, требует машин с лучшей конфигурацией.
  • Вызов API
    ✅ Преимущества: быстрый доступ, не требует обслуживания, устойчивая масштабируемость
    ❌ Недостатки: данные необходимо передавать третьей стороне, долгосрочные затраты не поддаются контролю

Местный DeepSeek

Сначала вам нужно убедиться, что вы установили оллама и оллама функционирует должным образом.

DeepSeekAPI

На самом деле я собирался написать этот пост только о подходе к локальному развертыванию ......

Однако, поскольку веб-версия DeepSeek в последнее время "бастует", я был вынужден попробовать локальную версию. ChatBox Я не ожидал увидеть полнокровную версию R1, и это было здорово! Я думаю, что это решение также хорошо пахнет, так что я напишу в API способ, кстати.

Здесь я предоставляю вам две платформы на выбор.

Сначала нам нужно получить API-ключ, а затем заполнить им конфигурацию базы знаний.

 

вулканический ковчег

официальный сайт
https://console.volcengine.com/ark

цены

Вход: ¥2/M Жетоны

Выход: ¥8/M Жетоны

входAPIKey管理СоздатьAPIkey

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

Новый секретный ключ, копия APIkey

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

Поток на основе кремния

Поток на основе кремния официальный сайт

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

цены

Вход: ¥4/M Жетоны

Выход: ¥16/M Токены

Перейдите в левую частьAPI秘钥Нажмите新建秘钥секретный ключ для последующего копирования

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

 

репозиторий

Установка базы знаний

Далее нам нужно получить доступ к базе знаний, для этого мы используемAnythingLLMПроект.

 

AnythingLLM - это прикладной фреймворк с открытым исходным кодом Large Language Model (LLM), разработанный для того, чтобы помочь пользователям легко создавать и развертывать интеллектуальные приложения для вопросов и ответов, анализа документов и других приложений, основанных на частных данных.

Перейдите на сайт AnythingLLM и загрузите программу установки.

https://anythingllm.com/

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

Запустите программу установки, между делом она загрузит необходимые дополнительные зависимости (GPU, поддержка NPG).

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

Если загрузка не удалась или если вы закроете окно загрузки и пропустите этот шаг, AnythingLLM все равно успешно установится.

Не волнуйтесь, сейчас вы можете выполнить установку вручную.

Веб-ссылка имеетlibМолния.

Распакуйте zip-архив и поместите извлеченную папку в папку你的安装目录AnythingLLMresourcesollamaВнутри каталога.

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

Настройка базы знаний

Установка завершена, и вы попадете в интерфейс AnythingLLM, где вам нужно выбрать большую модель по умолчанию.

локальная конфигурация

Если вы используете локальное развертывание DeepSeek, прокрутите страницу вниз, чтобы найтиOllamaПросто выберите.

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

Конфигурация API

Если вы используете API стороннего производителя, этот шаг выбирать не нужно.ollamaНайдите его здесь.Generic OpenAI

Generic OpenAI:

 

Подключение к любому сервису, совместимому с форматом интерфейса OpenAI, с помощью пользовательской конфигурации.

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

Здесь необходимо заполнить 5 параметров

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

Используйте API потока на основе силикона:

BaseURLадрес запроса

https://api.siliconflow.cn/v1

APIkeyСекретный ключ API, введите тот, который вы только что получили.

ChatModelNameНазвание модели

Pro/deepseek-ai/DeepSeek-R1

Token context window(контекстное окно)

4096

Max Tokens(Максимальное количество жетонов)

4096 или 8192 в зависимости от ситуации.

Используйте API вулканического ковчега:

BaseURLадрес запроса

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

APIkeyСекретный ключ API, введите тот, который вы только что получили.

ChatModelNameНазвание модели

Здесь есть особенность, имя модели Volcano Ark нужно заполнить идентификатором точки доступа. нам нужно перейти на платформу для создания точки доступа.

Сначала включите DeepSeekR1!

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

Приходите в онлайн-рассуждения - создавайте точки доступа

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

Подтвердите доступ

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

Этот идентификатор является идентификатором точки доступа, просто заполните это значение.

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

Token context window(контекстное окно)

4096

Max Tokens(Максимальное количество жетонов)

4096 или 8192 в зависимости от ситуации.

Когда все настройки будут завершены, не забудьте нажать кнопкуSaveChanageСохраните.

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

Создание рабочего пространства

Следующий шаг в этот интерфейс конфиденциальности, чтобы сказать вам, как сохранить данные, как использовать эти инструкции, в любом случае, это все наборы слов, непосредственно пропустить следующий шаг может быть

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

Этот шаг - экран приветствия, ничего особенного, просто пропустите его!

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

Создайте имя для рабочей области. Рекомендуется использовать английский язык, так как оно пригодится, если вы захотите впоследствии вызвать ее с помощью API.

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

Теперь введите AnythingLLM Главный интерфейс игры уже запущен. Он научит вас играть с помощью примера диалога

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

Щелкните на рабочей области, которую мы только что назвали, слева, чтобы войти в новый диалоговый экран.

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

Вот простой диалог для проверки успешности вызова модели.

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

Настройка рабочего пространства

Нажмите кнопку Setup в правой части рабочей области, чтобы войти в интерфейс Setup.

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

Перейдите к настройкам чата, где мы можем детально настроить модель

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

Здесь вы можете настроить используемую в данный момент большую модель. По умолчанию используется модель, установленная системой, которая была задана ранееollama

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

Также доступны другие локальные большие модели или API-сервисы.

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

Режим делится на чат и запрос, запрос означает использование только контекстной функции запроса (у вас должны быть свои загруженные документы), чат означает использование функции чата + запрос

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

Количество контекстов

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

Вы можете интерпретировать его как слово реплики персоны, которое можно изменить на китайское или оставить по умолчанию.

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

Информация о кормлении

Далее вам нужно загрузить базу знаний, нажмите на рабочую область рядом с上传按钮

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

Доступ к интерфейсу управления базой знаний

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

Поддерживает пакетную загрузку, поддерживает Excel, world, txt и другие форматы файлов. Здесь я загрузил《人体损伤致残程度分级》.pdf.

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

Выберите файл и нажмите кнопкуMove to WorkSpaceЭтот шаг добавляет файлы из временной области в рабочую область.

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

Вы увидите загруженные файлы, перенесенные в правую часть экрана, здесь нажмите на кнопкуSace and EmbedСделайте сейв.

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

Советы нижеWorkSpace updated successfullyУказывает на успешное сохранение.

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

Здесь вам нужно нажатьPin to workspaceЭта кнопка.

Закрепить на рабочем пространстве::

 

Если при использовании AnythingLLM вы обнаружите, что не получаете удовлетворительных ответов по умолчанию, вы можете улучшить качество ответов, закрепив документы. Это быстрый способ повысить точность и релевантность ваших ответов.

Проще говоря, распиновка документов - это процесс "подачи" содержимого документа непосредственно в языковую модель, чтобы она могла обратиться к этому содержимому при ответе на вопрос и дать более точный ответ.

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

Затем мы возвращаемся на страницу "Разговоры", создаем новый разговор, задаем вопрос и проверяем, что база знаний была успешно добавлена.

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

разрешение ошибок

Видно, что DeepSeek ответил на вопрос в сочетании с загруженной информацией, но в ответе есть ошибки.

Например, первый вопрос:

Спрашивайте:

 

Какова оценка за два сломанных ребра?

Ответ:

 

Исходя из представленной контекстуальной информации, стандарты классификации инвалидности при переломах ребер следующие:

Серьезная травма 2-й степени: перелом более четырех ребер или более двух ребер с парадоксальным движением;

Легкие травмы первой степени: переломы первого-третьего ребер.

В случае перелома двух ребер, если он не сопровождается парадоксальной активностью или другими серьезными состояниями (например, более четырех), он классифицируется как легкая травма первой степени. Таким образом, перелом двух ребер имеет следующую градацию:

легкие травмы (первая степень)

Однако в выложенном документе два сломанных ребра классифицируются как легкая травма второй степени. Это довольно серьезная ошибка для применения в юридической консультации.

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

Не стоит торопиться, когда речь идет о подобной неспособности отвечать на вопросы, давайте устраним причину.

Я внимательно изучил загруженный PDF-файл и обнаружил, что в нем много таблиц, специального форматирования и куча неиспользуемого содержимого. Эти "примеси" влияют на способность ИИ понять то, что мы действительно хотим, чтобы он узнал.

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

Из-за всего этого беспорядочного форматирования ИИ может потерять ключевые моменты, как в случае с беспорядочной книгой, поэтому я реорганизовал ключевое содержание в лаконичный документ Word, удалил ненужное, а затем снова подал его в ИИ.

Выдержка из содержания сверстанного документа:

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

Попробуйте задать вопрос еще раз, и на этот раз ответ был гораздо более точным!

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

Это лишь самое простое решение. Если вы хотите, чтобы ИИ отвечал более точно, можно попробовать изменить формат документа, оптимизировать метод поиска, настроить параметры ИИ и так далее. Но об этих дополнительных возможностях мы поговорим позже.

 

Доступ к WeChat BOT

Получите секретный ключ AnythingLLM

показать (билет)AnythingLLMинтерфейс, перейдите в раздел Настройки - Секретный ключ API - Сгенерировать новый секретный ключ API

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

Использование пакета интеграции

Я поставилAnythingLLMинтерфейс кNGCBOTи превращается в интегрированный пакет.

Распакуйте веб-ссылку вNGCBOT_LLM.zipЗастегните молнию, дважды щелкните启动器.exeГотов к работе.

Прежде чем использовать его, необходимо сделать три вещи!

Прежде чем использовать его, необходимо сделать три вещи!

Прежде чем использовать его, необходимо сделать три вещи!

Во-первых, убедитесь, что в каталоге вашего интеграционного пакета нет китайского языка, если он есть, то будет выдана ошибка!

правильная демонстрация

F:AIAIpackageNGCBot

ложная демонстрация

F:微信BOTAIpackageNGCBot

Во-вторых, установите указанную версию WeChat.

В веб-ссылке есть версия для микрософта.

WeChatSetup-3.9.10.27.exe

Устанавливать эту версию, на компьютере изначально установленную microsoft, не нужно, прямо заменяя установку.

В-третьих, измените файл конфигурации NGCBOT.

требуют глубокого пониманияConfigConfig.yamlКонфигурационный файл может быть изменен.

В конфигурационный файл внесено три изменения

1. Измените конфигурацию суперадминистратора.

Здесь впишите ID микросигнала, который вы установили, не забывайте всегда его менять! В противном случае все это будет отправлено мне .....

Как получить этот идентификатор? Используйте микросигнал, который вы хотите настроить от имени администратора, отправьте сообщение боту, и тогда в консоли вы увидите идентификатор человека, отправившего сообщение.

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

2. Измените конфигурацию приоритета ai.

Здесь указан порядок выполнения интерфейсов ai, меньшее число впереди означает приоритет. По умолчанию установлен приоритет AnythingLLM.

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

3.Конфигурация AnythingLLM.

Здесь вам нужно изменитьworkspace, иAnythingLLMkeyЭти два значения как раз подходят.

workspaceВведите имя рабочей области, которую вы создали AnythingLLM, в нижнем регистре.

AnythingLLMkeyВведите секретный ключ, который вы получите в AnythingLLM. Не секретный ключ из Silicon Flow или из Volcano Ark!

Не забудьте оставить носильщика впереди.

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

После выполнения описанных выше действий по внесению изменений дважды щелкните на启动器.exeТогда вы сможете повеселиться!

Приобретение интеграционного пакета находится в конце статьи.

Поздравляем! Любой, кто увидит это - 👍🏻👍🏻

Если вы просто хотите быстро начать играть с ботами для работы с базами знаний, смотрите здесь.

Вот что написано для тех, кто хочет углубиться в эту тему

  • Как вызвать интерфейс AnythingLLM
  • Как расширить функциональность NGCBOT

Читайте дальше, если вам интересно

 

развитие и расширение

вызов интерфейса

 

Этот шаг подходит для тех, кто хочет расширить свои исследования в области разработки, если вы новичок и хотите играть в интеграционный пакет напрямую, пожалуйста, пропустите этот шаг.

Ладно, давайте немного продвинемся. Браузерные входы[http://localhost:3001/api/docs/](http://localhost:3001/api/docs/)Перейдите на страницу API.

Поскольку оригинальная официальная документация по API не может быть доступна в Интернете, она была заменена на локальный доступ к документации по API.

Зайдя на страницу описания API, вы увидите, что здесь есть различные интерфейсы. А отладка поддерживается прямо на этой странице.

Прежде чем начать доступ, нам нужно авторизовать секретный ключ, для этого нажмите на кнопкуAuthorize.

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

Вставьте ключ AnythingLLMAPI в открытый экран, авторизация прошла успешно!

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

Затем спуститесь вниз и найдите/v1/workspace/{slug}/chatЭтот API

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

Описание параметров

параметрыинструкциипримечание
слизнякрабочее пространствоОткажитесь от китайских иероглифов, прописных и других специальных символов, только строчные
сообщениеСообщениеСообщение, которое вы хотите отправить
режимпарадигмаСхема делится на чат и запрос, запрос означает использование только контекстной функции запроса (у вас должны быть свои загруженные документы), чат означает использование функции чата

Пример запроса (тело запроса)

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

Ответы

{
    "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
    }
}

Таким образом, мы завершили тестирование вызова интерфейса AnythingLLM. В соответствии с этим интерфейсом вы можете реализовать свою собственную бизнес-логику, ниже мы объединим WeChat BOT для реализации робота базы знаний.

Модификации NGC

Проекты NGCBOT должны быть вApiServerAiServerAiDialogue.pyДобавление вызова в сценарийAnythingLLMЛогика

Здесь я просто помещу код.

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

 

ДобавитьanythingLLMConfig

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

 

Приобретение интеграционного пакета

Tootsie Labs - Windowns Edition

Кварк:
https://pan.quark.cn/s/8d1293227cf9

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

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...