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

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-03-05 11:00:16
original
227 Les gens l'ont consulté

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
Copier après la connexion
Copier après la connexion

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())
Copier après la connexion
Copier après la connexion

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]
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion

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

5. Fonctions de traduction:

load_dotenv(find_dotenv())
Copier après la connexion
Copier après la connexion

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]
Copier après la connexion
Copier après la connexion

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"
    )
Copier après la connexion

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) ...
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal