Я пытаюсь создать агент в OPEN AI, который будет аутентифицироваться на сервере кода VS на основе пользовательского ввода. Сервер кода VS работает в докер-контейнере docker-vscode-1. Я запустил следующий код в контейнере докеров:
import os
import requests
import logging
from requests.exceptions import RequestException
from dotenv import load_dotenv
from langchain_community.llms import OpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents.agent_types import AgentType
import warnings
warnings.simplefilter("ignore")
load_dotenv()
# Configuration
CODE_SERVER_URL = os.getenv("CODE_SERVER_URL", "http://172.20.0.2:8080")
PASSWORD = os.getenv("CODE_SERVER_PASSWORD", "yourpassword")
LOGIN_URL = f"{CODE_SERVER_URL}/login"
SESSION = requests.Session()
DEBUG = os.getenv("DEBUG", "False").lower() == "true"
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
# Set up logging
logging.basicConfig(
level=logging.DEBUG if DEBUG else logging.INFO,
format="%(asctime)s [%(levelname)s]: %(message)s"
)
def authenticate():
"""Authenticates with the code-server."""
if not PASSWORD:
logging.error("Password not set. Please set the 'CODE_SERVER_PASSWORD' environment variable.")
return "Password not set."
try:
# Get the login page to retrieve CSRF token if needed (optional for code-server)
response = SESSION.get(LOGIN_URL)
response.raise_for_status()
# Post the login credentials
payload = {"password": PASSWORD}
auth_response = SESSION.post(LOGIN_URL, data=payload)
auth_response.raise_for_status()
# Check if login was successful
if auth_response.status_code == 200 and "code-server" in auth_response.text:
logging.info("Authentication successful!")
return "Authentication successful!"
else:
logging.warning("Authentication failed. Check your password or URL.")
return "Authentication failed. Check your password or URL."
except Exception as e:
error_message = f"An unexpected error occurred: {e}"
logging.error(error_message)
return error_message
# Define the LangChain agent tools
tools = [
Tool(
name="Authenticate with Code-Server",
func=authenticate,
description="Authenticate with the VS code-server. \
This is a one-time action and does not require further input. \
This action completes immediately."
)
]
# Initialize the LangChain agent with OpenAI's LLM
def main():
llm = OpenAI(openai_api_key=OPENAI_API_KEY, temperature=0)
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# Agent loop to take user input
print("Simple AI Agent is ready! Type 'exit' to quit.")
while True:
user_input = input("\nEnter your instruction (type 'exit' to quit): ")
if user_input.lower() in ["exit", "quit"]:
print("Goodbye!")
break
try:
# Get the agent's response for a single action
response = agent.run(user_input)
# Ensure that no further actions are taken after a single response
if "Action:" in response:
print("Ashwani Kumar Shamlodhiya: The AI has finished processing your request.")
else:
print(response)
except Exception as e:
logging.error(f"An error occurred: {e}")
if __name__ == "__main__":
main()
Traceback (most recent call last):
File "/home/coder/project/temp/aiagent-vscode-using-openaiTODO.py", line 113, in
main()
File "/home/coder/project/temp/aiagent-vscode-using-openaiTODO.py", line 83, in main
llm = OpenAI(openai_api_key=OPENAI_API_KEY, temperature=0)
File "/home/coder/.local/lib/python3.9/site-packages/langchain_core/_api/deprecation.py", line 216, in warn_if_direct_instance
return wrapped(self, *args, **kwargs)
File "/home/coder/.local/lib/python3.9/site-packages/langchain_core/load/serializable.py", line 125, in __init__
super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/pydantic/main.py", line 214, in __init__
validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
File "/usr/local/lib/python3.9/dist-packages/pydantic/_internal/_decorators_v1.py", line 148, in _wrapper1
return validator(values)
File "/home/coder/.local/lib/python3.9/site-packages/langchain_core/utils/pydantic.py", line 219, in wrapper
return func(cls, values)
File "/home/coder/.local/lib/python3.9/site-packages/langchain_community/llms/openai.py", line 322, in validate_environment
values["client"] = openai.OpenAI(**client_params).completions
File "/usr/local/lib/python3.9/dist-packages/openai/_client.py", line 123, in __init__
super().__init__(
File "/usr/local/lib/python3.9/dist-packages/openai/_base_client.py", line 844, in __init__
self._client = http_client or SyncHttpxClientWrapper(
File "/usr/local/lib/python3.9/dist-packages/openai/_base_client.py", line 742, in __init__
super().__init__(**kwargs)
TypeError: __init__() got an unexpected keyword argument 'proxies'
Моя операционная система — Windows. Есть предложения, как это исправить?
Я пытаюсь создать агент в OPEN AI, который будет аутентифицироваться на сервере кода VS на основе пользовательского ввода. Сервер кода VS работает в докер-контейнере docker-vscode-1. Я запустил следующий код в контейнере докеров: [code]import os import requests import logging from requests.exceptions import RequestException from dotenv import load_dotenv from langchain_community.llms import OpenAI from langchain.agents import initialize_agent, Tool from langchain.agents.agent_types import AgentType import warnings
# Set up logging logging.basicConfig( level=logging.DEBUG if DEBUG else logging.INFO, format="%(asctime)s [%(levelname)s]: %(message)s" )
def authenticate(): """Authenticates with the code-server.""" if not PASSWORD: logging.error("Password not set. Please set the 'CODE_SERVER_PASSWORD' environment variable.") return "Password not set."
try: # Get the login page to retrieve CSRF token if needed (optional for code-server) response = SESSION.get(LOGIN_URL) response.raise_for_status()
# Post the login credentials payload = {"password": PASSWORD} auth_response = SESSION.post(LOGIN_URL, data=payload) auth_response.raise_for_status()
# Check if login was successful if auth_response.status_code == 200 and "code-server" in auth_response.text: logging.info("Authentication successful!") return "Authentication successful!" else: logging.warning("Authentication failed. Check your password or URL.") return "Authentication failed. Check your password or URL."
# Define the LangChain agent tools tools = [ Tool( name="Authenticate with Code-Server", func=authenticate, description="Authenticate with the VS code-server. \ This is a one-time action and does not require further input. \ This action completes immediately." ) ]
# Initialize the LangChain agent with OpenAI's LLM def main():
# Agent loop to take user input print("Simple AI Agent is ready! Type 'exit' to quit.") while True: user_input = input("\nEnter your instruction (type 'exit' to quit): ") if user_input.lower() in ["exit", "quit"]: print("Goodbye!") break
try: # Get the agent's response for a single action response = agent.run(user_input) # Ensure that no further actions are taken after a single response if "Action:" in response: print("Ashwani Kumar Shamlodhiya: The AI has finished processing your request.") else: print(response)
except Exception as e: logging.error(f"An error occurred: {e}")
if __name__ == "__main__": main()
[/code] Я получил следующую ошибку: [code]Traceback (most recent call last): File "/home/coder/project/temp/aiagent-vscode-using-openaiTODO.py", line 113, in main() File "/home/coder/project/temp/aiagent-vscode-using-openaiTODO.py", line 83, in main llm = OpenAI(openai_api_key=OPENAI_API_KEY, temperature=0) File "/home/coder/.local/lib/python3.9/site-packages/langchain_core/_api/deprecation.py", line 216, in warn_if_direct_instance return wrapped(self, *args, **kwargs) File "/home/coder/.local/lib/python3.9/site-packages/langchain_core/load/serializable.py", line 125, in __init__ super().__init__(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/pydantic/main.py", line 214, in __init__ validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self) File "/usr/local/lib/python3.9/dist-packages/pydantic/_internal/_decorators_v1.py", line 148, in _wrapper1 return validator(values) File "/home/coder/.local/lib/python3.9/site-packages/langchain_core/utils/pydantic.py", line 219, in wrapper return func(cls, values) File "/home/coder/.local/lib/python3.9/site-packages/langchain_community/llms/openai.py", line 322, in validate_environment values["client"] = openai.OpenAI(**client_params).completions File "/usr/local/lib/python3.9/dist-packages/openai/_client.py", line 123, in __init__ super().__init__( File "/usr/local/lib/python3.9/dist-packages/openai/_base_client.py", line 844, in __init__ self._client = http_client or SyncHttpxClientWrapper( File "/usr/local/lib/python3.9/dist-packages/openai/_base_client.py", line 742, in __init__ super().__init__(**kwargs) TypeError: __init__() got an unexpected keyword argument 'proxies' [/code] Моя операционная система — Windows. Есть предложения, как это исправить?
Я пытаюсь создать агент в OPEN AI, который будет аутентифицироваться на сервере кода VS на основе пользовательского ввода. Сервер кода VS работает в докер-контейнере docker-vscode-1. Я запустил следующий код в контейнере докеров:
import os
import...
Когда я запускаю его локально с помощью VisualStudio, все работает нормально, но когда я помещаю его в IIS на сервере, я понял, что он не может разрешить домен, потому что он ждет там вечно.
Я не знаю, нужно ли мне предоставить разрешение от IIS или...
Я пытаюсь протестировать контейнер Docker, который взаимодействует с LocalStack, используя Testcontainers в DockerOperator Apache Airflow.
В моей настройке у меня есть:
Группа обеспечения доступности баз данных Airflow, которая использует...
контекст
Я пытаюсь контейнерировать свое приложение Jakarta EE. Но у меня возникают проблемы, подключающиеся к контейнеру базы данных из контейнера, на котором работает мой сервер дикой стады. /> Приложение Angular Frontend, которое получает из...
контекст
Я пытаюсь контейнерировать свое приложение Jakarta EE. Но у меня возникают проблемы, подключающиеся к контейнеру базы данных из контейнера, на котором работает мой сервер дикой стады. /> Приложение Angular Frontend, которое получает из...