Добро пожаловать в хранилище бота в Лэнгхейне! Этот проект является фантастической отправной точкой для всех, кто хочет погрузиться в мир быстрого инженера с Langchain. Это чат-бот на основе Python, который использует мощность API OpenAI и поиска Google через Serpapi для предоставления интерактивного и образовательного опыта для таких инженеров, как вы.
Langchain - это универсальная библиотека Python, которая упрощает процесс создания приложений NLP с большими языковыми моделями (LLMS). Он предлагает широкий спектр функций, таких как LLM и подсказки, схемы, модели, подсказки, индексы, память, цепочки и агенты. Этот репозиторий использует Langchain для создания забавного, привлекательного чат -бота, который может помочь вам выучить и выходы быстрого проектирования.
Бот для поиска Langchain идеально подходит для тех, кто хочет:
Этот чат -бот является не только инструментом обучения, но и трамплина для ваших будущих проектов НЛП. Работая с поисковым ботом Langchain, вы получите ценный опыт, который пригодится, когда вы создадите более сложные приложения.
Я призываю вас погрузиться, исследовать код и экспериментировать с различными функциями. Бот для поиска Langchain предназначен для того, чтобы быть дружелюбным, веселым и гостеприимным, так что не стесняйтесь начать!
Для получения подробного введения в Лэнгхейн и его компоненты, пожалуйста, обратитесь к руководству по быстрому старту Langchain. Это проведет вас через все, что вам нужно знать, чтобы стать опытным в использовании Langchain для ваших проектов НЛП.
Итак, чего вы ждете? Давайте начнем свое путешествие в мир быстрой инженерии с поисковым ботом Langchain! Счастливого кодирования!
docker-desktop и docker-compose в вашей системе.key.env в корне репо -клавиш для OPENAI_API_KEY и SERPAPI_API_KEY .config.yml с именем чат -бота.image и container_name в docker-compose.ymlubuntu:latestmy_chatbotdocker-compose builddocker-compose up -d от оболочки в корне репо.docker exec -it CONTAINER_NAME /bin/bashpython3 src/main.pyexit типа ботаdocker-compose down В этом разделе мы пройдемся по простому примеру быстрого разработки, используя предоставленный шаблон быстрого приглашения. Это поможет вам понять, как научить языковую модель определенным поведением, таким как его имя, настроение и как отвечать на вопросы. Мы также рассмотрим логику, стоящую за отформатированным разделом. Я призываю вас экспериментировать с различными подсказками, чтобы наблюдать за изменениями в поведении бота!
Шаблон приглашения, который мы будем использовать, расположен по адресу/app/src/template/base.txt:
Your name is {chatbot_name}. If asked to identify yourself, respond with your name.
The sentiment of your language is kind, friendly, and virtuous.
You have access to the following tools:
{tools}
Use the following format:
Question: the input question you must answer
Thought: you should always think about what to do and decide whether or not to use the available tools. If you know the answer or can generate it, proceed to the final answer. If not, consider using a tool. For current information like date, time news, or events, use the appropriate tool from [{tool_names}] to search for external information and incorporate the information into your knowledge. Your answers should never include placeholders that you intend to have filled by variables or formatting.
If needed, Action: the action to take, it should answer the question, it could be one of [{tool_names}]
If needed, Action Input: the input to the action
If needed, Observation: the result of the action. Parse and extract the relevant information from the observation.
... (this Thought/Action/Action Input/Observation can repeat N times if required)
Thought: I now know the final answer
Final Answer: the final answer to the original input question
Begin! Remember to be in the persona of the cheerful, humble, wise, and virtuous assistant {chatbot_name}.
Question: {input}
{agent_scratchpad}
В этом шаблоне первоначальные компоненты определяют имя чат -бота, как он должен отвечать, когда его просят идентифицировать себя, и настроение его языка. Устройство описывается как добрый, дружелюбный и добродетельный, устанавливая тон для ответов бота.
Отформатированный раздел направляет процесс принятия решений чат-ботом. Это начинается с вопроса, за которым следует мыслительный процесс, в котором чат -бот рассматривает, знает ли он ответ или должен использовать инструмент для его поиска. Если инструмент необходим, чат -бот выберет соответствующее действие, обеспечит необходимый вход и соблюдает результат. Эта последовательность ввода/наблюдения за мыслью/действием/действия может повторить столько раз, сколько необходимо, чтобы ответить на вопрос.
Как только чат -бот собрал соответствующую информацию, он переходит к окончательному ответу, который является ответом чат -бота на входной вопрос.
Чтобы начать работу с быстрым проектированием, попробуйте изменить этот шаблон и наблюдать, как изменения влияют на поведение чат -бота. Вы можете изменить имя, настроение или доступные инструменты бота. Экспериментируйте с различными подсказками и наблюдайте, как чат -бот адаптируется к новым инструкциям. Этот практический опыт поможет вам получить более глубокое понимание того, как работает быстрая инженерная инженерия и как создать более сложные и индивидуальные впечатления от чат-ботов.
Этот проект лицензирован в соответствии с условиями лицензии Apache 2.0.
Версия 2.0, январь 2004 г. http://www.apache.org/licenses/
Copyright 2023 Кайл Дж. Тобин
Лицензировано по лицензии Apache, версия 2.0 («Лицензия»); Вы не можете использовать этот файл, кроме как в соответствии с лицензией. Вы можете получить копию лицензии на
http://www.apache.org/licenses/license-2.0
Если не требуется применимый закон или не согласен в письменной форме, программное обеспечение, распространяемое по лицензии, распределяется по основам «как есть», без каких -либо гарантий или условий, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующих разрешения и ограничения по лицензии.