From c0b040fe1b78572230932f3a2add5525b0d672f8 Mon Sep 17 00:00:00 2001 From: Magic_yuan <72277650+magicyuan876@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:37:09 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BD=BF=E7=94=A8AzureOpenAI=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=EF=BC=8C=E6=94=AF=E6=8C=81RPM/TPM=E9=99=90=E5=88=B6?= =?UTF-8?q?=E3=80=82=E4=BF=AE=E5=A4=8D=E5=8E=9F=E5=85=88429=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E5=8D=B3=E6=8A=9B=E5=87=BA=E5=BC=82=E5=B8=B8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/lightrag_azure_openai_demo.py | 63 +++++++++++--------------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/examples/lightrag_azure_openai_demo.py b/examples/lightrag_azure_openai_demo.py index e29a6a9d..98d7c0e0 100644 --- a/examples/lightrag_azure_openai_demo.py +++ b/examples/lightrag_azure_openai_demo.py @@ -6,6 +6,7 @@ import numpy as np from dotenv import load_dotenv import aiohttp import logging +from openai import AzureOpenAI logging.basicConfig(level=logging.INFO) @@ -32,11 +33,12 @@ os.mkdir(WORKING_DIR) async def llm_model_func( prompt, system_prompt=None, history_messages=[], **kwargs ) -> str: - headers = { - "Content-Type": "application/json", - "api-key": AZURE_OPENAI_API_KEY, - } - endpoint = f"{AZURE_OPENAI_ENDPOINT}openai/deployments/{AZURE_OPENAI_DEPLOYMENT}/chat/completions?api-version={AZURE_OPENAI_API_VERSION}" + + client = AzureOpenAI( + api_key=AZURE_OPENAI_API_KEY, + api_version=AZURE_OPENAI_API_VERSION, + azure_endpoint=AZURE_OPENAI_ENDPOINT + ) messages = [] if system_prompt: @@ -45,41 +47,30 @@ async def llm_model_func( messages.extend(history_messages) messages.append({"role": "user", "content": prompt}) - payload = { - "messages": messages, - "temperature": kwargs.get("temperature", 0), - "top_p": kwargs.get("top_p", 1), - "n": kwargs.get("n", 1), - } - - async with aiohttp.ClientSession() as session: - async with session.post(endpoint, headers=headers, json=payload) as response: - if response.status != 200: - raise ValueError( - f"Request failed with status {response.status}: {await response.text()}" - ) - result = await response.json() - return result["choices"][0]["message"]["content"] + chat_completion = client.chat.completions.create( + model=AZURE_OPENAI_DEPLOYMENT, # model = "deployment_name". + messages=messages, + temperature=kwargs.get("temperature", 0), + top_p=kwargs.get("top_p", 1), + n=kwargs.get("n", 1), + ) + return chat_completion.choices[0].message.content async def embedding_func(texts: list[str]) -> np.ndarray: - headers = { - "Content-Type": "application/json", - "api-key": AZURE_OPENAI_API_KEY, - } - endpoint = f"{AZURE_OPENAI_ENDPOINT}openai/deployments/{AZURE_EMBEDDING_DEPLOYMENT}/embeddings?api-version={AZURE_EMBEDDING_API_VERSION}" - payload = {"input": texts} - - async with aiohttp.ClientSession() as session: - async with session.post(endpoint, headers=headers, json=payload) as response: - if response.status != 200: - raise ValueError( - f"Request failed with status {response.status}: {await response.text()}" - ) - result = await response.json() - embeddings = [item["embedding"] for item in result["data"]] - return np.array(embeddings) + client = AzureOpenAI( + api_key=AZURE_OPENAI_API_KEY, + api_version=AZURE_EMBEDDING_API_VERSION, + azure_endpoint=AZURE_OPENAI_ENDPOINT + ) + embedding = client.embeddings.create( + model=AZURE_EMBEDDING_DEPLOYMENT, + input=texts + ) + + embeddings = [item.embedding for item in embedding.data] + return np.array(embeddings) async def test_funcs(): From 2e8768b30195bb5504de8ba3bcd938443c92b3cc Mon Sep 17 00:00:00 2001 From: Magic_yuan <72277650+magicyuan876@users.noreply.github.com> Date: Thu, 21 Nov 2024 18:44:38 +0800 Subject: [PATCH 2/4] Update lightrag_azure_openai_demo.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新代码格式 --- examples/lightrag_azure_openai_demo.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/examples/lightrag_azure_openai_demo.py b/examples/lightrag_azure_openai_demo.py index 98d7c0e0..4e134830 100644 --- a/examples/lightrag_azure_openai_demo.py +++ b/examples/lightrag_azure_openai_demo.py @@ -31,13 +31,12 @@ os.mkdir(WORKING_DIR) async def llm_model_func( - prompt, system_prompt=None, history_messages=[], **kwargs + prompt, system_prompt=None, history_messages=[], **kwargs ) -> str: - client = AzureOpenAI( - api_key=AZURE_OPENAI_API_KEY, - api_version=AZURE_OPENAI_API_VERSION, - azure_endpoint=AZURE_OPENAI_ENDPOINT + api_key=LLM_AZURE_OPENAI_KEY, + api_version=LLM_AZURE_OPENAI_VERSION, + azure_endpoint=LLM_AZURE_OPENAI_API ) messages = [] @@ -48,7 +47,7 @@ async def llm_model_func( messages.append({"role": "user", "content": prompt}) chat_completion = client.chat.completions.create( - model=AZURE_OPENAI_DEPLOYMENT, # model = "deployment_name". + model=LLM_AZURE_OPENAI_DEPLOYMENT, # model = "deployment_name". messages=messages, temperature=kwargs.get("temperature", 0), top_p=kwargs.get("top_p", 1), @@ -58,7 +57,6 @@ async def llm_model_func( async def embedding_func(texts: list[str]) -> np.ndarray: - client = AzureOpenAI( api_key=AZURE_OPENAI_API_KEY, api_version=AZURE_EMBEDDING_API_VERSION, @@ -68,7 +66,7 @@ async def embedding_func(texts: list[str]) -> np.ndarray: model=AZURE_EMBEDDING_DEPLOYMENT, input=texts ) - + embeddings = [item.embedding for item in embedding.data] return np.array(embeddings) From 9c612833a881ce493cf76245347cc37bc503d3a8 Mon Sep 17 00:00:00 2001 From: Magic_yuan <72277650+magicyuan876@users.noreply.github.com> Date: Thu, 21 Nov 2024 18:49:29 +0800 Subject: [PATCH 3/4] Update lightrag_azure_openai_demo.py --- examples/lightrag_azure_openai_demo.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/lightrag_azure_openai_demo.py b/examples/lightrag_azure_openai_demo.py index 4e134830..7073e3cb 100644 --- a/examples/lightrag_azure_openai_demo.py +++ b/examples/lightrag_azure_openai_demo.py @@ -34,9 +34,9 @@ async def llm_model_func( prompt, system_prompt=None, history_messages=[], **kwargs ) -> str: client = AzureOpenAI( - api_key=LLM_AZURE_OPENAI_KEY, - api_version=LLM_AZURE_OPENAI_VERSION, - azure_endpoint=LLM_AZURE_OPENAI_API + api_key=AZURE_OPENAI_API_KEY, + api_version=AZURE_OPENAI_API_VERSION, + azure_endpoint=AZURE_OPENAI_DEPLOYMENT ) messages = [] From 4763bdc272788383980b7be7257a5af110b9ab6b Mon Sep 17 00:00:00 2001 From: Magic_yuan <72277650+magicyuan876@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:11:23 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/lightrag_azure_openai_demo.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/examples/lightrag_azure_openai_demo.py b/examples/lightrag_azure_openai_demo.py index 7073e3cb..6a3fafc1 100644 --- a/examples/lightrag_azure_openai_demo.py +++ b/examples/lightrag_azure_openai_demo.py @@ -4,7 +4,6 @@ from lightrag import LightRAG, QueryParam from lightrag.utils import EmbeddingFunc import numpy as np from dotenv import load_dotenv -import aiohttp import logging from openai import AzureOpenAI @@ -31,12 +30,12 @@ os.mkdir(WORKING_DIR) async def llm_model_func( - prompt, system_prompt=None, history_messages=[], **kwargs + prompt, system_prompt=None, history_messages=[], **kwargs ) -> str: client = AzureOpenAI( api_key=AZURE_OPENAI_API_KEY, api_version=AZURE_OPENAI_API_VERSION, - azure_endpoint=AZURE_OPENAI_DEPLOYMENT + azure_endpoint=AZURE_OPENAI_ENDPOINT, ) messages = [] @@ -47,7 +46,7 @@ async def llm_model_func( messages.append({"role": "user", "content": prompt}) chat_completion = client.chat.completions.create( - model=LLM_AZURE_OPENAI_DEPLOYMENT, # model = "deployment_name". + model=AZURE_OPENAI_DEPLOYMENT, # model = "deployment_name". messages=messages, temperature=kwargs.get("temperature", 0), top_p=kwargs.get("top_p", 1), @@ -60,12 +59,9 @@ async def embedding_func(texts: list[str]) -> np.ndarray: client = AzureOpenAI( api_key=AZURE_OPENAI_API_KEY, api_version=AZURE_EMBEDDING_API_VERSION, - azure_endpoint=AZURE_OPENAI_ENDPOINT - ) - embedding = client.embeddings.create( - model=AZURE_EMBEDDING_DEPLOYMENT, - input=texts + azure_endpoint=AZURE_OPENAI_ENDPOINT, ) + embedding = client.embeddings.create(model=AZURE_EMBEDDING_DEPLOYMENT, input=texts) embeddings = [item.embedding for item in embedding.data] return np.array(embeddings)