Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AILocalConnection 🌐

Give your local AI models the power to browse the internet.

AILocalConnection is a lightweight Python library that allows local Large Language Models (like Ollama, vLLM, LM Studio) to perform real-time web searches and use the internet as context to answer questions accurately. It acts as an instant Retrieval-Augmented Generation (RAG) agent.

Features ✨

  • 100% Free Search: Uses DuckDuckGo under the hood. No API keys required.
  • Smart Scraping: Fetches search results and scrapes the content of the pages, automatically removing ads, scripts, and navbars.
  • Graceful Fallback: If a website blocks the scraper, it automatically falls back to the search engine's snippet.
  • AILocalMemory Integration: Works flawlessly with ailocalmemory for a complete RAG + Chat History experience.

Installation 📦

You can install AILocalConnection using pip:

pip install ailocalconnection

Quick Start 🚀

1. Generating a Search Prompt

You can use AILocalConnection independently to just build the context prompt, then send it to any AI endpoint manually.

from ailocalconnection import SearchAgent

agent = SearchAgent(max_results=3)

# Automatically searches the web, scrapes the top 3 links, 
# and builds a comprehensive context prompt.
prompt = agent.build_prompt("Who won the UEFA Euro 2024?")

print(prompt) 

2. Using with AILocalMemory (Recommended)

If you have ailocalmemory installed, you can combine internet searching with persistent chat history.

from ailocalconnection import SearchAgent
from ailocalmemory import ChatSession, OllamaAdapter

agent = SearchAgent(max_results=2)

with ChatSession(session_id="user_123", storage="memory") as session:
    chat = OllamaAdapter(model="llama3", memory_session=session)
    
    query = "What is the current price of Bitcoin?"
    
    # 1. Search the web and build the RAG prompt
    augmented_prompt = agent.build_prompt(query)
    
    # 2. Send the augmented prompt to Ollama
    response_stream = chat.send(augmented_prompt, stream=True)
    
    for chunk in response_stream:
        print(chunk, end="", flush=True)

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages