Giter Site home page Giter Site logo

serpapi-wrapper's Introduction

SerpAPI Wrapper Plugin

This project implements a basic Steamship Tagger that provides answers to queries using Google Search (via the SerpAPI).

In Steamship, Taggers add annotations to text that can be queried and composed later.

Once a Tagger has generated data in Steamship, that data is ready for use by the rest of the ecosystem. For example, you could use the tags generated by this plugin to implement the self-ask-with-search prompting pattern.

First Time Setup

We recommend using Python virtual environments for development. To set one up, run the following command from this directory:

python3 -m venv .venv

Activate your virtual environment by running:

source .venv/bin/activate

Your first time, install the required dependencies with:

python -m pip install -r requirements.dev.txt
python -m pip install -r requirements.txt

Developing

All the code for this plugin is located in the src/api.py file.

Testing

Tests are located in the test/test_integration.py file. You can run them with:

pytest

Deploying

Deploy by running:

ship deploy

That will deploy your plugin to Steamship and register it as a plugin for use.

Using

Once deployed, your Plugin can be referenced by the handle in your steamship.json file.

from steamship import Steamship, Block, File, MimeTypes, Tag

MY_PLUGIN_HANDLE = "... fill this out ..."

with Steamship.temporary_workspace() as client:
    search = client.use_plugin(MY_PLUGIN_HANDLE)
    task = search.tag(doc="How old was Abraham Lincoln when he died?")
    task.wait()
    for block in task.output.file.blocks:
        for tag in block.tags:
            print(tag)

Feedback

Questions, comments, suggestions, etc. are all welcome, either via [email protected] or our Discord.

We would love take a look, hear your suggestions, help where we can, and share what you've made with the community.

serpapi-wrapper's People

Contributors

douglas-reid avatar

Watchers

Ted Benson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.