initial commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"""Steam API toolkit"""
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
STEAM_GET_GAMES_DETAILS = """
|
||||
This tool is a wrapper around python-steam-api's steam.apps.search_games API and
|
||||
steam.apps.get_app_details API, useful when you need to search for a game.
|
||||
The input to this tool is a string specifying the name of the game you want to
|
||||
search for. For example, to search for a game called "Counter-Strike: Global
|
||||
Offensive", you would input "Counter-Strike: Global Offensive" as the game name.
|
||||
This input will be passed into steam.apps.search_games to find the game id, link
|
||||
and price, and then the game id will be passed into steam.apps.get_app_details to
|
||||
get the detailed description and supported languages of the game. Finally the
|
||||
results are combined and returned as a string.
|
||||
"""
|
||||
|
||||
STEAM_GET_RECOMMENDED_GAMES = """
|
||||
This tool is a wrapper around python-steam-api's steam.users.get_owned_games API
|
||||
and steamspypi's steamspypi.download API, useful when you need to get a list of
|
||||
recommended games. The input to this tool is a string specifying the steam id of
|
||||
the user you want to get recommended games for. For example, to get recommended
|
||||
games for a user with steam id 76561197960435530, you would input
|
||||
"76561197960435530" as the steam id. This steamid is then utilized to form a
|
||||
data_request sent to steamspypi's steamspypi.download to retrieve genres of user's
|
||||
owned games. Then, calculates the frequency of each genre, identifying the most
|
||||
popular one, and stored it in a dictionary. Subsequently, use steamspypi.download
|
||||
to returns all games in this genre and return 5 most-played games that is not owned
|
||||
by the user.
|
||||
|
||||
"""
|
||||
@@ -0,0 +1,30 @@
|
||||
"""Tool for Steam Web API"""
|
||||
|
||||
from typing import Optional
|
||||
|
||||
from langchain_core.callbacks import CallbackManagerForToolRun
|
||||
from langchain_core.tools import BaseTool
|
||||
|
||||
from langchain_community.utilities.steam import SteamWebAPIWrapper
|
||||
|
||||
|
||||
class SteamWebAPIQueryRun(BaseTool):
|
||||
"""Tool that searches the Steam Web API."""
|
||||
|
||||
mode: str
|
||||
name: str = "steam"
|
||||
description: str = (
|
||||
"A wrapper around Steam Web API."
|
||||
"Steam Tool is useful for fetching User profiles and stats, Game data and more!"
|
||||
"Input should be the User or Game you want to query."
|
||||
)
|
||||
|
||||
api_wrapper: SteamWebAPIWrapper
|
||||
|
||||
def _run(
|
||||
self,
|
||||
query: str,
|
||||
run_manager: Optional[CallbackManagerForToolRun] = None,
|
||||
) -> str:
|
||||
"""Use the Steam-WebAPI tool."""
|
||||
return self.api_wrapper.run(self.mode, query)
|
||||
Reference in New Issue
Block a user