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
Release history Release notifications | RSS feed
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.9.tar.gz
(19.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
robotgpt-0.0.9-py3-none-any.whl
(23.3 kB
view details)
File details
Details for the file robotgpt-0.0.9.tar.gz.
File metadata
- Download URL: robotgpt-0.0.9.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db8ac22701e2d8140bb30566c5d94cf92608b4b3825356adc08e1e6ec6015e8c
|
|
| MD5 |
54cdc7cd1ac1a46cab235ecb36535ee9
|
|
| BLAKE2b-256 |
f55f6c0f3e0ae0957bf6c0cb171939d8eab9040dc08ce0aae298ddaa3978e7f0
|
File details
Details for the file robotgpt-0.0.9-py3-none-any.whl.
File metadata
- Download URL: robotgpt-0.0.9-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c66199ca49877a0891bc6ec0d1aed0ac4e692b0819136707d89e798fc14e41a4
|
|
| MD5 |
e5a937e0ed9e8ccc21ed4d0095223245
|
|
| BLAKE2b-256 |
f45d54e5c82174f0e29d50cd9d8b0961ef730fa18b696a10f2622b0c26a397ff
|