Skip to main content

An integration package connecting Exa and LangChain

Project description

langchain-exa

This package contains the LangChain integrations for Exa Cloud generative models.

Installation

pip install -U langchain-exa

Exa Search Retriever

You can retrieve search results as follows

from langchain_exa import ExaSearchRetriever

exa_api_key = "YOUR API KEY"

# Create a new instance of the ExaSearchRetriever
exa = ExaSearchRetriever(exa_api_key=exa_api_key)

# Search for a query and save the results
results  = exa.invoke("What is the capital of France?")

# Print the results
print(results)

Advanced Features

You can use advanced features like text limits, summaries, and live crawling:

from langchain_exa import ExaSearchRetriever, TextContentsOptions

# Create a new instance with advanced options
exa = ExaSearchRetriever(
    exa_api_key="YOUR API KEY",
    k=20,  # Number of results (1-100)
    type="auto",  # Can be "neural", "keyword", or "auto"
    livecrawl="always",  # Can be "always", "fallback", or "never"
    summary=True,  # Get an AI-generated summary of each result
    text_contents_options={"max_characters": 3000}  # Limit text length
)

# Search for a query with custom summary prompt
exa_with_custom_summary = ExaSearchRetriever(
    exa_api_key="YOUR API KEY",
    summary={"query": "generate one line summary in simple words."}  # Custom summary prompt
)

Exa Search Results

You can run the ExaSearchResults module as follows

from langchain_exa import ExaSearchResults

# Initialize the ExaSearchResults tool
search_tool = ExaSearchResults(exa_api_key="YOUR API KEY")

# Perform a search query
search_results = search_tool._run(
    query="When was the last time the New York Knicks won the NBA Championship?",
    num_results=5,
    text_contents_options=True,
    highlights=True
)

print("Search Results:", search_results)

Advanced Features

You can use advanced features like text limits, summaries, and live crawling:

from langchain_exa import ExaSearchResults

# Initialize the ExaSearchResults tool
search_tool = ExaSearchResults(exa_api_key="YOUR API KEY")

# Perform a search query with advanced options
search_results = search_tool._run(
    query="Latest AI research papers",
    num_results=10,  # Number of results (1-100)
    type="auto",  # Can be "neural", "keyword", or "auto"
    livecrawl="always",  # Can be "always", "fallback", or "never"
    summary=True,  # Get an AI-generated summary of each result
    text_contents_options={"max_characters": 2000}  # Limit text length
)

# With custom summary prompt
search_results_with_custom_summary = search_tool._run(
    query="Latest AI research papers",
    summary={"query": "generate one liner"}  # Custom summary prompt
)

Exa Find Similar Results

You can run the ExaFindSimilarResults module as follows

from langchain_exa import ExaFindSimilarResults

# Initialize the ExaFindSimilarResults tool
find_similar_tool = ExaFindSimilarResults(exa_api_key="YOUR API KEY")

# Find similar results based on a URL
similar_results = find_similar_tool._run(
    url="http://espn.com",
    num_results=5,
    text_contents_options=True,
    highlights=True
)

print("Similar Results:", similar_results)

Advanced Features

from langchain_exa import ExaFindSimilarResults

# Initialize the ExaFindSimilarResults tool
find_similar_tool = ExaFindSimilarResults(exa_api_key="YOUR API KEY")

# Find similar results with advanced options
similar_results = find_similar_tool._run(
    url="http://espn.com",
    num_results=10,  # Number of results (1-100)
    livecrawl="fallback",  # Can be "always", "fallback", or "never"
    summary=True,  # Get an AI-generated summary of each result
    text_contents_options={"max_characters": 1500}  # Limit text length
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_exa-0.3.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

langchain_exa-0.3.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file langchain_exa-0.3.0.tar.gz.

File metadata

  • Download URL: langchain_exa-0.3.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for langchain_exa-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8d701e8f5262d24c8a0056542c20fc1dc8d0fcdcb0dd53ded23640acdf8fccf9
MD5 301dcb77b316e7bfe953a38fe6dd9225
BLAKE2b-256 422eb1a6f47fc39b33b0a778d046db4e67c7b7579178c70128708e75139c61e3

See more details on using hashes here.

File details

Details for the file langchain_exa-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: langchain_exa-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for langchain_exa-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8057619e1dc061e670b07f3cca220528a78ee43940a5116fc3fa01c2fab1ad91
MD5 fd029c60dc784c3bbba0780411dd031d
BLAKE2b-256 ee9335ccf07e8411a3660fa6e6c28e3a76ed922f14103b3a2ac9ffdf65ac6b16

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page