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.10.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.10-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robotgpt-0.0.10.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.10.tar.gz
Algorithm Hash digest
SHA256 743d8c269f295d3470fd1f98a31d55977911757f79bc0d71a3ba1fe7331eb29d
MD5 b5f39eb3a4eade4b4415cc1bb2bd935f
BLAKE2b-256 cd13a1c30b5bbce646f5dac121b3e9c28bde213e481de8c50f1261aea7cf4afe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: robotgpt-0.0.10-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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1fd33f7e27073e81d42c11e5c4dbeb86b0c55897ab56c99ce726a4c7f6a96864
MD5 1fbac694d14c4be5d0d9b9d3c171be75
BLAKE2b-256 ca288f9326027101d03e9074a64f230bab61228de4e8c5a391ecfa024ddbbd20

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