mirror of
https://github.com/hwchase17/langchain.git
synced 2026-06-09 10:17:00 +00:00
exa docs and python package update (#31307)
Added support for new Exa API features. Updated Exa docs and python package (langchain-exa). Description Added support for new Exa API features in the langchain-exa package: - Added max_characters option for text content - Added support for summary and custom summary prompts - Added livecrawl option with "always", "fallback", "never" settings - Added "auto" option for search type - Updated documentation and tests Dependencies - No new dependencies required. Using existing features from exa-py. twitter: @theishangoswami --------- Co-authored-by: Chester Curme <chester.curme@gmail.com>
This commit is contained in:
@@ -27,6 +27,30 @@ results = exa.invoke("What is the capital of France?")
|
||||
print(results)
|
||||
```
|
||||
|
||||
### Advanced Features
|
||||
|
||||
You can use advanced features like text limits, summaries, and live crawling:
|
||||
|
||||
```python
|
||||
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
|
||||
@@ -48,6 +72,33 @@ search_results = search_tool._run(
|
||||
print("Search Results:", search_results)
|
||||
```
|
||||
|
||||
### Advanced Features
|
||||
|
||||
You can use advanced features like text limits, summaries, and live crawling:
|
||||
|
||||
```python
|
||||
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
|
||||
@@ -67,4 +118,22 @@ similar_results = find_similar_tool._run(
|
||||
)
|
||||
|
||||
print("Similar Results:", similar_results)
|
||||
```
|
||||
|
||||
### Advanced Features
|
||||
|
||||
```python
|
||||
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
|
||||
)
|
||||
```
|
||||
Reference in New Issue
Block a user