Как интегрировать инструменты Dappier AI для поиска и рекомендаций в реальном времени с OpenAI Chat API: пошаговое руководство
Подробное руководство по интеграции инструментов Dappier AI для поиска и рекомендаций с OpenAI Chat API для создания интеллектуальных разговорных приложений с актуальными данными и персонализированным контентом.
Настройка окружения
В этом руководстве мы подробно рассмотрим, как интегрировать инструменты Dappier AI для поиска и рекомендаций в реальном времени в разговорные приложения с использованием OpenAI Chat API. Начинаем с настройки среды в Google Colab и установки всех необходимых зависимостей, включая библиотеки LangChain и клиент OpenAI.
!pip install -qU langchain-dappier langchain langchain-openai langchain-community langchain-core openaiБезопасная загрузка API ключей
Мы безопасно загружаем API ключи Dappier и OpenAI во время выполнения с помощью модуля getpass в Python, чтобы избежать жесткой кодировки конфиденциальных данных.
import os
from getpass import getpass
os.environ["DAPPIER_API_KEY"] = getpass("Введите API ключ Dappier: ")
os.environ["OPENAI_API_KEY"] = getpass("Введите API ключ OpenAI: ")Инициализация инструментов Dappier
Создаем экземпляры инструментов Dappier для поиска в реальном времени и AI-рекомендаций, чтобы выполнять живые веб-запросы и получать персонализированные предложения статей.
from langchain_dappier import DappierRealTimeSearchTool
search_tool = DappierRealTimeSearchTool()
print("Инструмент поиска в реальном времени готов:", search_tool)from langchain_dappier import DappierAIRecommendationTool
recommendation_tool = DappierAIRecommendationTool(
data_model_id="dm_01j0pb465keqmatq9k83dthx34",
similarity_top_k=3,
ref="sportsnaut.com",
num_articles_ref=2,
search_algorithm="most_recent",
)
print("Инструмент рекомендаций готов:", recommendation_tool)Создание модели чата OpenAI
Инициализируем модель GPT-3.5-turbo с температурой 0 для стабильных ответов и связываем её с инструментом поиска в реальном времени.
from langchain.chat_models import init_chat_model
llm = init_chat_model(
model="gpt-3.5-turbo",
model_provider="openai",
temperature=0,
)
llm_with_tools = llm.bind_tools([search_tool])
print(" llm_with_tools готов")Построение цепочки подсказок
Создаем цепочку с шаблоном подсказки, которая добавляет текущую дату и форматирует ввод пользователя и историю сообщений для модели.
import datetime
from langchain_core.prompts import ChatPromptTemplate
today = datetime.datetime.today().strftime("%Y-%m-%d")
prompt = ChatPromptTemplate([
("system", f"мы полезный ассистент. Сегодня {today}."),
("human", "{user_input}"),
("placeholder", "{messages}"),
])
llm_chain = prompt | llm_with_tools
print(" llm_chain построена")Определение конечной цепочки инструментов
Определяем цепочку, которая отправляет ввод пользователя модели, обрабатывает вызовы инструментов и интегрирует их ответы для полного ответа.
from langchain_core.runnables import RunnableConfig, chain
@chain
def tool_chain(user_input: str, config: RunnableConfig):
ai_msg = llm_chain.invoke({"user_input": user_input}, config=config)
tool_msgs = search_tool.batch(ai_msg.tool_calls, config=config)
return llm_chain.invoke(
{"user_input": user_input, "messages": [ai_msg, *tool_msgs]},
config=config
)
print(" tool_chain определена")Демонстрация запросов
Выполняем прямые запросы к инструментам поиска и рекомендаций, а также полный запрос с интегрированными инструментами.
res = search_tool.invoke({"query": "Что произошло на последнем Wrestlemania"})
print(" Поиск:", res)
rec = recommendation_tool.invoke({"query": "последние спортивные новости"})
print(" Рекомендации:", rec)
out = tool_chain.invoke("Кто выиграл последнюю Нобелевскую премию?")
print(" Результат цепочки:", out)Это решение создает надежную основу для обогащения разговорного ИИ актуальной информацией из интернета и персонализированными рекомендациями из собственных данных. Пользователи могут настраивать параметры поиска и рекомендации под свои задачи и области применения.
Switch Language
Read this article in English