gzdaniel commited on
Commit
91423ee
·
1 Parent(s): 00de9e2

Fix linting

Browse files
env.example CHANGED
@@ -139,7 +139,7 @@ EMBEDDING_BINDING_HOST=http://localhost:11434
139
  # AZURE_EMBEDDING_ENDPOINT=your_endpoint
140
  # AZURE_EMBEDDING_API_KEY=your_api_key
141
 
142
- ### Jina AI Embedding
143
  EMBEDDING_BINDING=jina
144
  EMBEDDING_BINDING_HOST=https://api.jina.ai/v1/embeddings
145
  EMBEDDING_MODEL=jina-embeddings-v4
 
139
  # AZURE_EMBEDDING_ENDPOINT=your_endpoint
140
  # AZURE_EMBEDDING_API_KEY=your_api_key
141
 
142
+ ### Jina AI Embedding
143
  EMBEDDING_BINDING=jina
144
  EMBEDDING_BINDING_HOST=https://api.jina.ai/v1/embeddings
145
  EMBEDDING_MODEL=jina-embeddings-v4
lightrag/api/lightrag_server.py CHANGED
@@ -89,7 +89,13 @@ def create_app(args):
89
  ]:
90
  raise Exception("llm binding not supported")
91
 
92
- if args.embedding_binding not in ["lollms", "ollama", "openai", "azure_openai", "jina"]:
 
 
 
 
 
 
93
  raise Exception("embedding binding not supported")
94
 
95
  # Set default hosts if not provided
 
89
  ]:
90
  raise Exception("llm binding not supported")
91
 
92
+ if args.embedding_binding not in [
93
+ "lollms",
94
+ "ollama",
95
+ "openai",
96
+ "azure_openai",
97
+ "jina",
98
+ ]:
99
  raise Exception("embedding binding not supported")
100
 
101
  # Set default hosts if not provided
lightrag/llm/jina.py CHANGED
@@ -28,7 +28,7 @@ async def fetch_data(url, headers, data):
28
  request_info=response.request_info,
29
  history=response.history,
30
  status=response.status,
31
- message=f"Jina API error: {error_text}"
32
  )
33
  response_json = await response.json()
34
  data_list = response_json.get("data", [])
@@ -69,10 +69,10 @@ async def jina_embed(
69
  """
70
  if api_key:
71
  os.environ["JINA_API_KEY"] = api_key
72
-
73
  if "JINA_API_KEY" not in os.environ:
74
  raise ValueError("JINA_API_KEY environment variable is required")
75
-
76
  url = base_url or "https://api.jina.ai/v1/embeddings"
77
  headers = {
78
  "Content-Type": "application/json",
@@ -84,29 +84,35 @@ async def jina_embed(
84
  "dimensions": dimensions,
85
  "input": texts,
86
  }
87
-
88
  # Only add optional parameters if they have non-default values
89
  if late_chunking:
90
  data["late_chunking"] = late_chunking
91
-
92
- logger.debug(f"Jina embedding request: {len(texts)} texts, dimensions: {dimensions}")
93
-
 
 
94
  try:
95
  data_list = await fetch_data(url, headers, data)
96
-
97
  if not data_list:
98
  logger.error("Jina API returned empty data list")
99
  raise ValueError("Jina API returned empty data list")
100
-
101
  if len(data_list) != len(texts):
102
- logger.error(f"Jina API returned {len(data_list)} embeddings for {len(texts)} texts")
103
- raise ValueError(f"Jina API returned {len(data_list)} embeddings for {len(texts)} texts")
104
-
 
 
 
 
105
  embeddings = np.array([dp["embedding"] for dp in data_list])
106
  logger.debug(f"Jina embeddings generated: shape {embeddings.shape}")
107
-
108
  return embeddings
109
-
110
  except Exception as e:
111
  logger.error(f"Jina embedding error: {e}")
112
  raise
 
28
  request_info=response.request_info,
29
  history=response.history,
30
  status=response.status,
31
+ message=f"Jina API error: {error_text}",
32
  )
33
  response_json = await response.json()
34
  data_list = response_json.get("data", [])
 
69
  """
70
  if api_key:
71
  os.environ["JINA_API_KEY"] = api_key
72
+
73
  if "JINA_API_KEY" not in os.environ:
74
  raise ValueError("JINA_API_KEY environment variable is required")
75
+
76
  url = base_url or "https://api.jina.ai/v1/embeddings"
77
  headers = {
78
  "Content-Type": "application/json",
 
84
  "dimensions": dimensions,
85
  "input": texts,
86
  }
87
+
88
  # Only add optional parameters if they have non-default values
89
  if late_chunking:
90
  data["late_chunking"] = late_chunking
91
+
92
+ logger.debug(
93
+ f"Jina embedding request: {len(texts)} texts, dimensions: {dimensions}"
94
+ )
95
+
96
  try:
97
  data_list = await fetch_data(url, headers, data)
98
+
99
  if not data_list:
100
  logger.error("Jina API returned empty data list")
101
  raise ValueError("Jina API returned empty data list")
102
+
103
  if len(data_list) != len(texts):
104
+ logger.error(
105
+ f"Jina API returned {len(data_list)} embeddings for {len(texts)} texts"
106
+ )
107
+ raise ValueError(
108
+ f"Jina API returned {len(data_list)} embeddings for {len(texts)} texts"
109
+ )
110
+
111
  embeddings = np.array([dp["embedding"] for dp in data_list])
112
  logger.debug(f"Jina embeddings generated: shape {embeddings.shape}")
113
+
114
  return embeddings
115
+
116
  except Exception as e:
117
  logger.error(f"Jina embedding error: {e}")
118
  raise