KevinHuSh commited on
Commit
adb65d7
1 Parent(s): f6d3d52

refine OpenAi Api (#159)

Browse files
README.md CHANGED
@@ -127,7 +127,7 @@ Open your browser, enter the IP address of your server, _**Hallelujah**_ again!
127
  # System Architecture Diagram
128
 
129
  <div align="center" style="margin-top:20px;margin-bottom:20px;">
130
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/39c8e546-51ca-4b50-a1da-83731b540cd0" width="1000"/>
131
  </div>
132
 
133
  # Configuration
 
127
  # System Architecture Diagram
128
 
129
  <div align="center" style="margin-top:20px;margin-bottom:20px;">
130
+ <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
131
  </div>
132
 
133
  # Configuration
api/apps/llm_app.py CHANGED
@@ -51,7 +51,7 @@ def set_api_key():
51
  if len(arr[0]) == 0 or tc == 0:
52
  raise Exception("Fail")
53
  except Exception as e:
54
- msg += f"\nFail to access embedding model({llm.llm_name}) using this api key."
55
  elif not chat_passed and llm.model_type == LLMType.CHAT.value:
56
  mdl = ChatModel[factory](
57
  req["api_key"], llm.llm_name)
 
51
  if len(arr[0]) == 0 or tc == 0:
52
  raise Exception("Fail")
53
  except Exception as e:
54
+ msg += f"\nFail to access embedding model({llm.llm_name}) using this api key." + str(e)
55
  elif not chat_passed and llm.model_type == LLMType.CHAT.value:
56
  mdl = ChatModel[factory](
57
  req["api_key"], llm.llm_name)
rag/app/picture.py CHANGED
@@ -29,7 +29,7 @@ def chunk(filename, binary, tenant_id, lang, callback=None, **kwargs):
29
  except Exception as e:
30
  callback(prog=-1, msg=str(e))
31
  return []
32
- img = Image.open(io.BytesIO(binary))
33
  doc = {
34
  "docnm_kwd": filename,
35
  "image": img
 
29
  except Exception as e:
30
  callback(prog=-1, msg=str(e))
31
  return []
32
+ img = Image.open(io.BytesIO(binary)).convert('RGB')
33
  doc = {
34
  "docnm_kwd": filename,
35
  "image": img
rag/llm/chat_model.py CHANGED
@@ -43,8 +43,8 @@ class GptTurbo(Base):
43
  model=self.model_name,
44
  messages=history,
45
  **gen_conf)
46
- ans = response.output.choices[0]['message']['content'].strip()
47
- if response.output.choices[0].get("finish_reason", "") == "length":
48
  ans += "...\nFor the content length reason, it stopped, continue?" if is_english(
49
  [ans]) else "路路路路路路\n鐢变簬闀垮害鐨勫師鍥狅紝鍥炵瓟琚埅鏂簡锛岃缁х画鍚楋紵"
50
  return ans, response.usage.completion_tokens
@@ -114,12 +114,12 @@ class ZhipuChat(Base):
114
  history.insert(0, {"role": "system", "content": system})
115
  try:
116
  response = self.client.chat.completions.create(
117
- self.model_name,
118
  messages=history,
119
  **gen_conf
120
  )
121
- ans = response.output.choices[0]['message']['content'].strip()
122
- if response.output.choices[0].get("finish_reason", "") == "length":
123
  ans += "...\nFor the content length reason, it stopped, continue?" if is_english(
124
  [ans]) else "路路路路路路\n鐢变簬闀垮害鐨勫師鍥狅紝鍥炵瓟琚埅鏂簡锛岃缁х画鍚楋紵"
125
  return ans, response.usage.completion_tokens
 
43
  model=self.model_name,
44
  messages=history,
45
  **gen_conf)
46
+ ans = response.choices[0].message.content.strip()
47
+ if response.choices[0].finish_reason == "length":
48
  ans += "...\nFor the content length reason, it stopped, continue?" if is_english(
49
  [ans]) else "路路路路路路\n鐢变簬闀垮害鐨勫師鍥狅紝鍥炵瓟琚埅鏂簡锛岃缁х画鍚楋紵"
50
  return ans, response.usage.completion_tokens
 
114
  history.insert(0, {"role": "system", "content": system})
115
  try:
116
  response = self.client.chat.completions.create(
117
+ model=self.model_name,
118
  messages=history,
119
  **gen_conf
120
  )
121
+ ans = response.choices[0].message.content.strip()
122
+ if response.choices[0].finish_reason == "length":
123
  ans += "...\nFor the content length reason, it stopped, continue?" if is_english(
124
  [ans]) else "路路路路路路\n鐢变簬闀垮害鐨勫師鍥狅紝鍥炵瓟琚埅鏂簡锛岃缁х画鍚楋紵"
125
  return ans, response.usage.completion_tokens
rag/llm/embedding_model.py CHANGED
@@ -139,12 +139,16 @@ class ZhipuEmbed(Base):
139
  self.model_name = model_name
140
 
141
  def encode(self, texts: list, batch_size=32):
142
- res = self.client.embeddings.create(input=texts,
 
 
 
143
  model=self.model_name)
144
- return np.array([d.embedding for d in res.data]
145
- ), res.usage.total_tokens
 
146
 
147
  def encode_queries(self, text):
148
  res = self.client.embeddings.create(input=text,
149
  model=self.model_name)
150
- return np.array(res["data"][0]["embedding"]), res.usage.total_tokens
 
139
  self.model_name = model_name
140
 
141
  def encode(self, texts: list, batch_size=32):
142
+ arr = []
143
+ tks_num = 0
144
+ for txt in texts:
145
+ res = self.client.embeddings.create(input=txt,
146
  model=self.model_name)
147
+ arr.append(res.data[0].embedding)
148
+ tks_num += res.usage.total_tokens
149
+ return np.array(arr), tks_num
150
 
151
  def encode_queries(self, text):
152
  res = self.client.embeddings.create(input=text,
153
  model=self.model_name)
154
+ return np.array(res.data[0].embedding), res.usage.total_tokens