Maison >Périphériques technologiques >IA >Agri Bot: un agent d'IA multilingue pour les agriculteurs utilisant Langchain

Agri Bot: un agent d'IA multilingue pour les agriculteurs utilisant Langchain

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-03-05 11:00:16229parcourir

Ce chatbot propulsé par l'IA, Agribot, fournit des informations agricoles multilingues aux agriculteurs et aux amateurs. Cet article détaille ses fonctionnalités, son architecture et son code, mettant en évidence sa conception conviviale et son intégration de technologie avancée. Le secteur agricole s'appuie fortement sur des informations précises et précises; Agribot répond à ce besoin avec des données en temps réel et un support multilingue.

Table des matières

  • Caractéristiques clés d'Agribot
  • Stack technologique d'Agribot
  • Bâtiment Agribot: un guide étape par étape
    • Importation de bibliothèques nécessaires
    • Variables de l'environnement de chargement
    • Initialisation des outils AI
    • Chargement du modèle de langue
    • Implémentation des fonctions de traduction
    • Gérer la mémoire de conversation
    • Création de l'agent conversationnel
    • Concevoir l'interface de chat rationalisée
    • Breakdown de code
  • Test Agribot
  • Améliorations futures
  • Conclusion

Cette image montre l'interface multilingue, conversationnelle et en temps réel de l'application Agribot Streamlit:

Agri Bot: A Multilingual AI Agent for Farmers Using LangChain

Caractéristiques clés d'Agribot

Agribot offre plusieurs caractéristiques clés:

  • Support multilingue: soutient l'anglais, l'hindi, le télougou, le tamoul, le bengali, le marathi et le punjabi.
  • Conversations alimentées par AI: utilise le modèle LLAMA 3-70B pour les réponses intelligentes et contextuelles.
  • Informations en temps réel: s'intègre à Wikipedia, Arxiv et DuckDuckgo pour les données agricoles à jour.
  • Mémoire contextuelle: conserve les interactions précédentes pour une expérience utilisateur fluide.
  • Interface intuitive: construit à l'aide de rationalisation pour faciliter la navigation.

Stack technologique d'Agribot

Agribot utilise:

  • Frontend: Streamlit (Python)
  • backend: Langchain, Openai LLM (via Groq API)
  • Moteurs de recherche: Wikipedia, Arxiv, DuckDuckgo
  • Traduction: Google Translate API
  • Mémoire: Langchain ConversationBufferMemory

Bâtiment Agribot: un guide étape par étape

L'agribot alimentaire du code est détaillé ci-dessous:

1. Importation de bibliothèques:

import os
import time
import streamlit as st
from langchain.memory import ConversationBufferMemory
from langchain.agents import initialize_agent, AgentType
from langchain.chat_models import ChatOpenAI
from langchain.schema import SystemMessage, HumanMessage, AIMessage
from langchain_community.tools import WikipediaQueryRun, ArxivQueryRun, DuckDuckGoSearchRun
from langchain_community.utilities import WikipediaAPIWrapper, ArxivAPIWrapper, DuckDuckGoSearchAPIWrapper
from langdetect import detect
from deep_translator import GoogleTranslator
from dotenv import load_dotenv, find_dotenv

Les bibliothèques essentielles sont importées, y compris le rationalisation de l'interface utilisateur et de Langchain pour la création d'agents. deep_translator gère la traduction du langage.

2. Variables d'environnement de chargement:

load_dotenv(find_dotenv())

charge les clés de l'API et autres informations sensibles à partir d'un fichier .env.

3. Initialisation des outils d'IA:

wiki = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=200))
arxiv = ArxivQueryRun(api_wrapper=ArxivAPIWrapper(top_k_results=1, doc_content_chars_max=200))
duckduckgo_search = DuckDuckGoSearchRun(api_wrapper=DuckDuckGoSearchAPIWrapper(region="in-en", time="y", max_results=2))
tools = [wiki, arxiv, duckduckgo_search]

Les outils de récupération d'informations sont initialisés, configurés pour des temps de réponse efficaces.

4. Chargement du modèle de langue:

import os
import time
import streamlit as st
from langchain.memory import ConversationBufferMemory
from langchain.agents import initialize_agent, AgentType
from langchain.chat_models import ChatOpenAI
from langchain.schema import SystemMessage, HumanMessage, AIMessage
from langchain_community.tools import WikipediaQueryRun, ArxivQueryRun, DuckDuckGoSearchRun
from langchain_community.utilities import WikipediaAPIWrapper, ArxivAPIWrapper, DuckDuckGoSearchAPIWrapper
from langdetect import detect
from deep_translator import GoogleTranslator
from dotenv import load_dotenv, find_dotenv

Charge le modèle de langue Llama 3-70B via l'API Groq.

5. Fonctions de traduction:

load_dotenv(find_dotenv())

Ces fonctions gèrent la traduction vers et depuis l'anglais à l'aide de la bibliothèque deep_translator.

6. Gestion de la mémoire:

wiki = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=200))
arxiv = ArxivQueryRun(api_wrapper=ArxivAPIWrapper(top_k_results=1, doc_content_chars_max=200))
duckduckgo_search = DuckDuckGoSearchRun(api_wrapper=DuckDuckGoSearchAPIWrapper(region="in-en", time="y", max_results=2))
tools = [wiki, arxiv, duckduckgo_search]

assure la mémoire de chat persistante entre les sessions.

7. Création de l'agent conversationnel:

def load_llm():
    return ChatOpenAI(
        model_name="llama3-70b-8192",
        temperature=1,
        openai_api_key=os.getenv("GROQ_API_KEY"),
        openai_api_base="https://api.groq.com/openai/v1"
    )

initialise l'agent conversationnel à l'aide de Langchain.

8. Rationalisation du chat ui:

def translate_to_english(text):
    # ... (Translation logic) ...
def translate_back(text, target_lang):
    # ... (Translation logic) ...

Cette section construit l'interface de chat rationalisée. (Code complet omis pour la concision, mais les éléments clés sont décrits ci-dessus.)

Répartition du code: Le code utilise Streamlit pour créer une interface de chat conviviale. L'entrée de l'utilisateur est traduite en anglais, traitée par l'agent de Langchain (en utilisant les outils LLM et de recherche), et la réponse est traduite à la langue d'origine de l'utilisateur. La gestion de la mémoire assure le contexte conversationnel. Les mécanismes d'erreur et de réessayer améliorent la robustesse.

Test Agribot

(Les images montrant l'interface utilisateur d'Agribot et les réponses dans différentes langues sont incluses dans l'entrée d'origine. Ces images seraient placées ici.)

Améliorations futures

  • Entrée / sortie vocale
  • Fonction sur les données agricoles
  • Améliorations UI / UX

Conclusion

Agribot est un outil précieux tirant parti de l'IA et des capacités multilingues pour soutenir les agriculteurs. Sa combinaison d'informations en temps réel, de traduction et de mémoire conversationnelle en fait une ressource unique. Un développement ultérieur améliorera ses fonctionnalités et élargira ses capacités.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn