Skip to main content

RobotGPT LLM 支持Langchain

Project description

RobotGPT LLM

RobotGPT 支持langchain

Quick Install

pip install robotgpt

使用样例

agent块式输出:

from robotgpt.robotgpt import RobotGPTLLM
from langchain.agents import AgentType, initialize_agent
from langchain.tools import BaseTool, StructuredTool, Tool, tool
class CoffeeMaking:
    def inference(self):
        return "Making coffee requires a coffee machine, coffee beans, sugar packets, and paper cups."

class ImageObjectDetect:
    def inference(self, obj):
        if obj == "sugar packets":
            return "No "+obj
        return "There is a "+obj

class AskCustomer:
    def inference(self,):
        return "Hello! We don’t have any sugar packets at the moment. Do you need to add milk?"

robotgpt_api_url = "https://dataai.harix.iamidata.com/llm/api/ask"  #流式智能问答统一适配服务,从用户控制台购买https://console.openai.iamidata.com/api/apiList
model_name = "openai/gpt-3.5-turbo-0613"
robotgpt_api_token = "Your token" #https://dataai-doc.dataarobotics.com/docs/getting-started/authentication
llm = RobotGPTLLM(temperature=0, model_name=model_name,robotgpt_api_token=robotgpt_api_token,robotgpt_api_url=robotgpt_api_url)

imgObjDetect = ImageObjectDetect()
tools = [
    Tool.from_function(
        func=CoffeeMaking.inference,
        name="Coffee making",
        description="useful for when the user needs to make coffee."
        # coroutine= ... <- you can specify an async method if desired as well
    ),
    Tool.from_function(
        func=imgObjDetect.inference,
        name="Determine whether the object exists in the picture",
        description="useful for when you want to know what is inside the photo. receives object as input. The input to this tool should be a string, representing the object. "
        # coroutine= ... <- you can specify an async method if desired as well
    ),
    Tool.from_function(
        func=AskCustomer.inference,
        name="Ask the customer whether to add milk",
        description="useful for when making coffee without sugar packets, you can ask the customer whether you need to add milk. The input to this tool should be a bool, represents whether there is a sugar packet."
        # coroutine= ... <- you can specify an async method if desired as well
    ),
]
agent = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
agent.run(
    "给我做杯咖啡"
)

块式输出:

from robotgpt.robotgpt import RobotGPTLLM
from langchain.schema import HumanMessage

robotgpt_api_url = "https://dataai.harix.iamidata.com/llm/api/ask"  #流式智能问答统一适配服务
model_name = "openai/gpt-3.5-turbo-0613"
robotgpt_api_token = "Your token" #https://dataai-doc.dataarobotics.com/docs/getting-started/authentication

llm = RobotGPTLLM(temperature=0, model_name=model_name,robotgpt_api_token=robotgpt_api_token,robotgpt_api_url=robotgpt_api_url)
resp = llm([HumanMessage(content="Write me a song about sparkling water.")])
print(resp)

流式输出:

from langchain.callbacks import StreamingStdOutCallbackHandler
from langchain.schema import HumanMessage
from robotgpt.robotgpt import RobotGPTLLM
robotgpt_api_url = "https://dataai.harix.iamidata.com/llm/api/ask"  #流式智能问答统一适配服务
model_name = "openai/gpt-3.5-turbo-0613"
robotgpt_api_token = "Your token" #https://dataai-doc.dataarobotics.com/docs/getting-started/authentication
chat = RobotGPTLLM(streaming=True, callbacks=[StreamingStdOutCallbackHandler()], temperature=0,model_name=model_name,robotgpt_api_token=robotgpt_api_token,robotgpt_api_url=robotgpt_api_url)
resp = chat([HumanMessage(content="Write me a song about sparkling water.")])
print(resp)

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

robotgpt-0.0.7.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotgpt-0.0.7-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file robotgpt-0.0.7.tar.gz.

File metadata

  • Download URL: robotgpt-0.0.7.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for robotgpt-0.0.7.tar.gz
Algorithm Hash digest
SHA256 82155a9278bf95151498f7269ce2a4b342265676ae2aefef5249dfc3728027ae
MD5 05ae756b6784fe75bdb39a2e919cd151
BLAKE2b-256 07be84f88fd929ad0c2cc90729eccf114daf631e5d3c83455103ab4a6171f1f9

See more details on using hashes here.

File details

Details for the file robotgpt-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: robotgpt-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for robotgpt-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 752bceb31b101a83f1f0df9889fe2b42ac2bf7e18ba4f5d519c03fc14d4c5607
MD5 79e38ed27b046cc064c8a84eab0a8817
BLAKE2b-256 7993d0df53cc56a426f2bfff1a3f7a2498f167e9da5520e2c2db47878204b6a7

See more details on using hashes here.

Supported by

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