[code]from db import get_connection import os import logging from template import template_func from langchain_community.utilities import SQLDatabase from six.moves import urllib from langchain_community.agent_toolkits.sql.prompt import SQL_FUNCTIONS_SUFFIX from langchain_community.agent_toolkits import SQLDatabaseToolkit from langchain.agents import create_openai_tools_agent from langchain.agents.agent import AgentExecutor from langchain_core.messages import AIMessage from langchain_core.prompts.chat import ( ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, ) from langchain_openai import AzureChatOpenAI
def create_agent_executor(TENANT, user_input): try: # Logging setup logging.basicConfig(level=logging.DEBUG) # Set logging level to DEBUG
# Get the connection string logging.debug(f"Getting connection string for tenant: {TENANT}") connection_string = get_connection(host, TENANT)
schemas = os.environ.get(f'DB_{TENANT.upper()}_SCHEMA') if not schemas: raise RuntimeError(f"Environment variable DB_{TENANT.upper()}_SCHEMA not found")
# Create the agent executor logging.debug("Creating agent executor...") agent_executor = AgentExecutor( agent=agent, tools=tools, verbose=True, max_iterations=10, prompt=MSSQL_PROMPT, handle_parsing_errors="I'm sorry, but the question you have asked is not available within the dataset. Is there anything else I can help you with?" )
if not TENANT or not question: logging.error("Missing 'tenant' or 'question' in request body.") return func.HttpResponse( "Please provide both 'tenant' and 'question' in the request body.", status_code=400 )
try: logging.info(f'Calling create_agent_executor with tenant: {TENANT} and question: {question}') answer = create_agent_executor(TENANT, question) logging.info(f'Received answer from create_agent_executor: {answer}')
# Extract the output from the answer dictionary if isinstance(answer, dict) and "output" in answer: output = answer["output"] else: output = str(answer)
logging.info(f'Response output: {output}') return func.HttpResponse(output, status_code=200) except Exception as e: logging.error(f'Error processing request: {e}') return func.HttpResponse( f"An unexpected error occurred: {e}", status_code=500 ) [/code] Для формирования ответа требуется около 2 минут: [code]agent_executor.invoke() [/code] и многократное обращение к конечной точке Azure [code]"HTTP/1.1 429 Too Many Requests" Retrying request to /chat/completions in 2.000000 seconds [/code] HTTP-запрос: POST https://gs-chb-chatbot-eastus-common-001.openai.azure.com//openai/deployments/GS-chb-model-eastus- common-001/chat/completions?api-version=2024-02-01 Без функции Azure она прекрасно работает в моем локальном блокноте Jupyter.
Я использую проект Azure SignalR с API Asp.Net MVC (с .net framework, а не .net core). Я никогда не могу подключиться к службе Azure SignalR (пробовал любую возможную конфигурацию), хотя все работает нормально, когда signalr размещается...
Я пытался подготовить некоторый JSON для отправки на конечную конечную точку, где он должен быть сохранен.
Мне удалось обновить некоторые настройки, чтобы видеть полную информацию. полезная нагрузка, которая отправляется в мое специальное...
Я работаю с API (Gemini 1.5 Pro), который имеет ограничение скорости в 1000 вызовов в минуту на один ключ API (по крайней мере, там так указано). Мне нужно как можно быстрее обработать 14 000 записей из файла Excel.
Чтобы справиться с ограничениями...
Я работаю с API (Gemini 1.5 Pro), который имеет ограничение скорости в 1000 вызовов в минуту на один ключ API (по крайней мере, там так указано). Мне нужно как можно быстрее обработать 14 000 записей из файла Excel.
Чтобы справиться с ограничениями...
Я работаю с API (Gemini 1.5 Pro), который имеет предел 1000 вызовов в минуту на ключ API (по крайней мере, это говорит об этом). Мне нужно обработать 14 000 записей из файла Excel как можно быстрее. В пределах предела скорости.
Однако, даже с одним...