В этом руководстве мы представляем продвинутого ИИ-агента, созданного с использованием надёжной экосистемы Nebius, особенно компонентов ChatNebius, NebiusEmbeddings и NebiusRetriever. Агент использует модель Llama-3.3-70B-Instruct-fast для генерации высококачественных ответов, включая внешние функции, такие как поиск в Википедии, контекстуальный поиск документов и безопасные математические вычисления.
Установка необходимых библиотек
Для начала установим основные библиотеки, включая langchain-nebius, langchain-core, langchain-community и Wikipedia, которые необходимы для создания многофункционального ИИ-помощника. Затем импортируем необходимые модули, такие как os, getpass, datetime и typing utilities, и инициализируем API Википедии для доступа к внешним данным.
“`python
import os
import getpass
from typing import List, Dict, Any
import wikipedia
from datetime import datetime
“`
Основные компоненты
Мы импортируем основные компоненты из LangChain и Nebius для обработки документов, шаблонов подсказок, анализа выходных данных и интеграции инструментов. Настраиваем ключевые классы, такие как ChatNebius для языкового моделирования, NebiusEmbeddings для векторного представления и NebiusRetriever для семантического поиска.
“`python
from langchain_core.documents import Document
from langchain_core.prompts import ChatPromptTemplate
from langchaincore.outputparsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_core.tools import tool
from langchain_nebius import ChatNebius, NebiusEmbeddings, NebiusRetriever
“`
Класс AdvancedNebiusAgent
Класс AdvancedNebiusAgent представляет собой продвинутого ИИ-агента с возможностями поиска, рассуждений и использования внешних инструментов. Он инициализирует высокопроизводительную LLM от Nebius (meta-llama/Llama-3.3-70B-Instruct-fast).
“`python
class AdvancedNebiusAgent:
“””Advanced AI Agent with retrieval, reasoning, and external tool capabilities”””
def init(self):
self.llm = ChatNebius(model=”meta-llama/Llama-3.3-70B-Instruct-fast”)
self.embeddings = NebiusEmbeddings()
self.knowledgebase = self.createknowledgebase()
self.retriever = NebiusRetriever(
embeddings=self.embeddings,
docs=self.knowledge_base,
k=3
)
self.agentprompt = ChatPromptTemplate.fromtemplate(“””
You are an advanced AI assistant with access to:
1. A knowledge base about technology and science
2. Wikipedia search capabilities
3. Mathematical calculation tools
4. Current date/time information
Context from knowledge base:
{context}
External tool results:
{tool_results}
Current date: {current_date}
User Query: {query}
Instructions:
- Use the knowledge base context when relevant
- If you need additional information, mention what external sources would help
- Be comprehensive but concise
- Show your reasoning process
- If calculations are needed, break them down step by step
Response:
“””)
“`
Создание демонстрационных запросов
Наконец, мы демонстрируем возможности агента с помощью набора демонстрационных запросов. Начинаем с создания экземпляра AdvancedNebiusAgent, за которым следует цикл, который обрабатывает предопределённые подсказки, связанные с ИИ, квантовыми вычислениями и изменением климата, демонстрируя функциональность поиска.
“`python
if name == “main“:
agent = AdvancedNebiusAgent()
demo_queries = [
“What is artificial intelligence and how is it being used?”,
“Tell me about quantum computing companies”,
“How does climate change affect renewable energy adoption?”
]
print(“=== Nebius AI Agent Demo ===n”)
for i, query in enumerate(demo_queries, 1):
print(f”Demo {i}: {query}”)
response = agent.process_query(query)
print(f”Response: {response}n”)
print(“-” * 50)
print(“nDemo with Wikipedia:”)
responsewithwiki = agent.process_query(
“What are the latest developments in space exploration?”,
use_wikipedia=True
)
print(f”Response: {responsewithwiki}n”)
print(“Demo with calculation:”)
responsewithcalc = agent.process_query(
“If solar panel efficiency improved by 25%, what would be the new efficiency if current is 20%?”,
calculate_expr=”20 * 1.25″
)
print(f”Response: {responsewithcalc}n”)
“`
Этот агент на базе Nebius демонстрирует, как эффективно сочетать рассуждения на основе LLM с структурированным поиском и использованием внешних инструментов для создания способного, контекстно-зависимого помощника.
Вопросы по тексту статьи и ответы на них:
1. Какие компоненты используются для создания продвинутого ИИ-агента в статье?
В статье для создания продвинутого ИИ-агента используются компоненты экосистемы Nebius, такие как ChatNebius, NebiusEmbeddings и NebiusRetriever, а также модель Llama-3.3-70B-Instruct-fast для генерации высококачественных ответов.
2. Какие библиотеки необходимо установить для создания многофункционального ИИ-помощника?
Для создания многофункционального ИИ-помощника необходимо установить библиотеки langchain-nebius, langchain-core, langchain-community и Wikipedia, а также импортировать модули os, getpass, datetime и typing utilities.
3. Какие ключевые классы настраиваются для обработки документов и анализа выходных данных?
Ключевые классы для обработки документов и анализа выходных данных включают ChatNebius для языкового моделирования, NebiusEmbeddings для векторного представления и NebiusRetriever для семантического поиска.
4. Какие возможности предоставляет класс AdvancedNebiusAgent?
Класс AdvancedNebiusAgent предоставляет возможности поиска, рассуждений и использования внешних инструментов. Он инициализирует высокопроизводительную LLM от Nebius и может использовать внешние источники данных, такие как Википедия, для получения дополнительной информации.
5. Какие демонстрационные запросы используются для демонстрации возможностей агента?
Демонстрационные запросы включают вопросы об искусственном интеллекте, квантовых вычислениях и изменении климата. Они демонстрируют функциональность поиска и возможность использования внешних источников данных для получения дополнительной информации.