Skip to content

Commit 9fd5287

Browse files
committed
Add missing endpoints
1 parent d98f456 commit 9fd5287

File tree

2 files changed

+182
-1
lines changed

2 files changed

+182
-1
lines changed

agixtsdk/__init__.py

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1756,3 +1756,184 @@ def convert_list_of_dicts(
17561756
new_data[key] = info[item[0]]
17571757
mapped_list.append(new_data)
17581758
return mapped_list
1759+
1760+
def get_dpo_response(
1761+
self,
1762+
agent_name: str,
1763+
user_input: str,
1764+
injected_memories: int = 10,
1765+
conversation_name: str = "",
1766+
) -> Dict[str, Any]:
1767+
try:
1768+
response = requests.post(
1769+
headers=self.headers,
1770+
url=f"{self.base_uri}/api/agent/{agent_name}/dpo",
1771+
json={
1772+
"user_input": user_input,
1773+
"injected_memories": injected_memories,
1774+
"conversation_name": conversation_name,
1775+
},
1776+
)
1777+
if self.verbose:
1778+
parse_response(response)
1779+
return response.json()
1780+
except Exception as e:
1781+
return self.handle_error(e)
1782+
1783+
def transcribe_audio(
1784+
self,
1785+
file: str,
1786+
model: str,
1787+
language: str = None,
1788+
prompt: str = None,
1789+
response_format: str = "json",
1790+
temperature: float = 0.0,
1791+
) -> Dict[str, Any]:
1792+
try:
1793+
with open(file, "rb") as audio_file:
1794+
files = {"file": (file, audio_file)}
1795+
data = {
1796+
"model": model,
1797+
"language": language,
1798+
"prompt": prompt,
1799+
"response_format": response_format,
1800+
"temperature": temperature,
1801+
}
1802+
response = requests.post(
1803+
headers=self.headers,
1804+
url=f"{self.base_uri}/v1/audio/transcriptions",
1805+
files=files,
1806+
data=data,
1807+
)
1808+
if self.verbose:
1809+
parse_response(response)
1810+
return response.json()
1811+
except Exception as e:
1812+
return self.handle_error(e)
1813+
1814+
def translate_audio(
1815+
self,
1816+
file: str,
1817+
model: str,
1818+
prompt: str = None,
1819+
response_format: str = "json",
1820+
temperature: float = 0.0,
1821+
) -> Dict[str, Any]:
1822+
try:
1823+
with open(file, "rb") as audio_file:
1824+
files = {"file": (file, audio_file)}
1825+
data = {
1826+
"model": model,
1827+
"prompt": prompt,
1828+
"response_format": response_format,
1829+
"temperature": temperature,
1830+
}
1831+
response = requests.post(
1832+
headers=self.headers,
1833+
url=f"{self.base_uri}/v1/audio/translations",
1834+
files=files,
1835+
data=data,
1836+
)
1837+
if self.verbose:
1838+
parse_response(response)
1839+
return response.json()
1840+
except Exception as e:
1841+
return self.handle_error(e)
1842+
1843+
def generate_image(
1844+
self,
1845+
prompt: str,
1846+
model: str = "dall-e-3",
1847+
n: int = 1,
1848+
size: str = "1024x1024",
1849+
response_format: str = "url",
1850+
) -> Dict[str, Any]:
1851+
try:
1852+
response = requests.post(
1853+
headers=self.headers,
1854+
url=f"{self.base_uri}/v1/images/generations",
1855+
json={
1856+
"model": model,
1857+
"prompt": prompt,
1858+
"n": n,
1859+
"size": size,
1860+
"response_format": response_format,
1861+
},
1862+
)
1863+
if self.verbose:
1864+
parse_response(response)
1865+
return response.json()
1866+
except Exception as e:
1867+
return self.handle_error(e)
1868+
1869+
def oauth2_login(
1870+
self, provider: str, code: str, referrer: str = None
1871+
) -> Dict[str, Any]:
1872+
try:
1873+
data = {"code": code}
1874+
if referrer:
1875+
data["referrer"] = referrer
1876+
response = requests.post(
1877+
headers=self.headers,
1878+
url=f"{self.base_uri}/v1/oauth2/{provider}",
1879+
json=data,
1880+
)
1881+
if self.verbose:
1882+
parse_response(response)
1883+
return response.json()
1884+
except Exception as e:
1885+
return self.handle_error(e)
1886+
1887+
def update_conversation_message_by_id(
1888+
self,
1889+
message_id: str,
1890+
new_message: str,
1891+
conversation_name: str,
1892+
) -> Dict[str, Any]:
1893+
try:
1894+
response = requests.put(
1895+
headers=self.headers,
1896+
url=f"{self.base_uri}/api/conversation/message/{message_id}",
1897+
json={
1898+
"new_message": new_message,
1899+
"conversation_name": conversation_name,
1900+
},
1901+
)
1902+
if self.verbose:
1903+
parse_response(response)
1904+
return response.json()
1905+
except Exception as e:
1906+
return self.handle_error(e)
1907+
1908+
def delete_conversation_message_by_id(
1909+
self,
1910+
message_id: str,
1911+
conversation_name: str,
1912+
) -> Dict[str, Any]:
1913+
try:
1914+
response = requests.delete(
1915+
headers=self.headers,
1916+
url=f"{self.base_uri}/api/conversation/message/{message_id}",
1917+
json={"conversation_name": conversation_name},
1918+
)
1919+
if self.verbose:
1920+
parse_response(response)
1921+
return response.json()
1922+
except Exception as e:
1923+
return self.handle_error(e)
1924+
1925+
def get_unique_external_sources(
1926+
self,
1927+
agent_name: str,
1928+
collection_number: str = "0",
1929+
) -> List[str]:
1930+
try:
1931+
response = requests.get(
1932+
headers=self.headers,
1933+
url=f"{self.base_uri}/api/agent/{agent_name}/memory/external_sources/{collection_number}",
1934+
)
1935+
if self.verbose:
1936+
parse_response(response)
1937+
return response.json()["external_sources"]
1938+
except Exception as e:
1939+
return self.handle_error(e)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
setup(
1010
name="agixtsdk",
11-
version="0.0.58",
11+
version="0.0.59",
1212
description="The AGiXT SDK for Python.",
1313
long_description=long_description,
1414
long_description_content_type="text/markdown",

0 commit comments

Comments
 (0)