From afc571987f4acd9a00010136de970b14fe7f7f9f Mon Sep 17 00:00:00 2001 From: Junyang Lin <justinlin930319@hotmail.com> Date: Sun, 13 Aug 2023 12:38:39 +0800 Subject: [PATCH] Update README.md --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/README.md b/README.md index d6b28cd..8bd0e07 100644 --- a/README.md +++ b/README.md @@ -266,6 +266,36 @@ Then run the command below and click on the generated link: python web_demo.py ``` +## API +We provide methods to deploy local API based on OpenAI API (thanks to @hanpenggit). Before you start, install the required packages: + +``` +pip install fastapi uvicorn openai pydantic sse_starlette +``` +Then run the command to deploy your API: +``` +python openai_api.py +``` +You can change your arguments, e.g., `-c` for checkpoint name or path, `--cpu-only` for CPU deployment, etc. If you meet problems launching your API deployment, updating the packages to the latest version can probably solve them. + +Using the API is also simple. See the example below: + +``` +import openai +openai.api_base = "http://localhost:8000/v1" +openai.api_key = "none" +for chunk in openai.ChatCompletion.create( + model="Qwen-7B", + messages=[ + {"role": "user", "content": "你好"} + ], + stream=True +): + if hasattr(chunk.choices[0].delta, "content"): + print(chunk.choices[0].delta.content, end="", flush=True) +``` + + ## Tool Usage Qwen-7B-Chat is specifically optimized for tool usage, including API, database, models, etc., so that users can build their own Qwen-7B-based LangChain, Agent, and Code Interpreter. In our evaluation [benchmark](eval/EVALUATION.md) for assessing tool usage capabilities, we find that Qwen-7B reaches stable performance.